Как работает Google Docs PDF Viewer? - PullRequest
16 голосов
/ 26 января 2010

Мне интересно узнать, как работает Google Docs PDF viewer? Это не вспышка, как scribd.com; это выглядит как чистый HTML. Есть идеи, как они это сделали?

Пример ссылки для просмотра PDF

Ответы [ 3 ]

18 голосов
/ 26 января 2010

Google просто подает изображение (щелкните правой кнопкой мыши -> сохранить как) с наложением для выделения текста.

Вы должны проверить этот вопрос , где другие более подробно.

Вам также следует просмотреть источник своей ссылки PDF, возможно, Google передает ссылку PDF для преобразования в изображение.

Пример:

<script type="text/javascript"> 
        var gviewElement = document.getElementById('gview');
        var config = {

          'api': false,
          'chrome': true,
          'csi': true,
          'ddUrl': "http://www.idfcmf.com/downloads/monthly_fund/2009/IDFC-Premier-Equityfund-jan10.pdf",
          'element': gviewElement,
          'embedded': false,
          'initialQuery': "",
          'oivUrl': "http://docs.google.com/viewer?url\x3dhttp%3A%2F%2Fwww.idfcmf.com%2Fdownloads%2Fmonthly_fund%2F2009%2FIDFC-Premier-Equityfund-jan10.pdf",
          'sdm': 200,
          'userAuthenticated': true
        };

        var gviewApp = _createGView(config);
        gviewApp.setProgress(50);


          window.jstiming.load.name = 'view';

          window.jstiming.load.tick('_dt');

      </script> 

Редактировать

Кроме того, если вы просматриваете просмотрщик PDF в Firefox с помощью Firebug, вы заметите, что, когда вы выделяете текст, это действительно позволяет только загружать div, я предполагаю, что Google сканирует документ с помощью OCR и определяет, где текст представляет собой и предоставляет матрицу координат, на которой будет основано размещение div, когда вы щелкаете и перетаскиваете его, запрашивает расположение указателя мыши, чтобы определить, какие div следует отображать.

1 голос
/ 11 июня 2010

Я согласен с некоторыми другими ответами - PDF отображается в формате PNG, и очень вероятно, что текстовые области имеют многоуровневую структуру, возможно, с использованием абсолютного / относительного позиционирования. Вы можете извлечь PDF информацию из PDF (конечно ...). Формат PDF открыт - любой может это сделать (да, это может быть нелегко). Однако есть некоторые инструменты с открытым исходным кодом (xPDF ...), которые позволяют экспортировать содержимое PDF, например, в XML. Вполне возможно, что экспорт включает информацию, такую ​​как координаты относительно того, где на странице должен отображаться текст и изображения.

1 голос
/ 29 января 2010

все это изображение. наложение текста - это легко понять. но когда вы нажимаете Ctrl + C, и он копирует в буфер обмена, эта часть делает меня полностью озадаченным. потому что невозможно записать в буфер обмена, используя JavaScript в Firefox, но это Ctrl + C на изображении прекрасно работает в Firefox. http://www.google.com/support/forum/p/Google+Docs/thread?tid=67dcf21ef8579b4c&hl=en&fid=67dcf21ef8579b4c00047e4a2a9fcb12

...