Google文档PDF查看器如何工作?

时间:2010-01-26 09:30:58

标签: pdf google-docs

我很想知道Google Docs PDF查看器的工作原理吗?它不像scribd.com那样闪光;它看起来像纯HTML。知道他们是怎么做到的吗?

Sample link to view the PDF

3 个答案:

答案 0 :(得分:18)

Google只是提供一张图片(点击右键 - >另存为),并使用叠加层突出显示文字。

您应该查看this SO question,其他人会详细了解。

您还应该浏览PDF链接的来源,看来谷歌正在传递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> 

修改

此外,如果您使用Firebug在Firefox中查看PDF查看器,您会注意到当您“突出显示”文本时,它实际上只启用了大量div,我猜测Google使用OCR扫描文档,检测到text是并且提供了一个坐标的矩阵,当你点击并拖动它时,它会插入鼠标指针位置以确定要显示的div。

答案 1 :(得分:1)

整个事情是一个形象。文字突出显示叠加 - 很容易理解。但当你按ctrl + c并将其复制到剪贴板时,那部分让我完全难过。因为在firefox中使用javascript写入剪贴板是不可能的,但是这个ctrl + c在图像上运行正常。 http://www.google.com/support/forum/p/Google+Docs/thread?tid=67dcf21ef8579b4c&hl=en&fid=67dcf21ef8579b4c00047e4a2a9fcb12

答案 2 :(得分:1)

我同意其他一些答案 - PDF被渲染为PNG,很可能文本区域是分层的,可能使用绝对/相对定位。您可以从PDF中提取PDF信息(当然......)。 PDF格式是开放的 - 任何人都可以这样做(授予,这可能并不容易)。但是有一些开源工具(xPDF ...)可以导出PDF内容,比如XML。导出可能包括关于页面文本和图像应显示位置的坐标等信息。