Google ドキュメントの PDF ビューアがどのように機能するか知りたいですか? scribd.com のようなフラッシュではありません。純粋な HTML のように見えます。彼らはどのようにそれをしたのですか?
3 に答える
Google は単に画像 (右クリック -> 名前を付けて保存) を提供しており、テキストを強調表示するオーバーレイを使用しています。
このSOの質問をチェックして、他の人がより詳細に調べる必要があります。
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>
編集
また、Firebug を使用して Firefox で PDF ビューアーを表示すると、テキストを「強調表示」すると、実際には div のロードが有効になっているだけであることがわかります。Google は OCR を使用してドキュメントをスキャンし、テキストの場所を検出し、 div 配置のベースとなる座標のマトリックスを提供します。クリック アンド ドラッグすると、マウス ポインターの位置を調べて、表示する div を決定します。
全部がイメージです。テキストハイライトオーバーレイ-簡単に理解できます。しかし、ctrl + cを押してクリップボードにコピーすると、その部分は完全に困惑します。Firefoxではjavascriptを使用してクリップボードに書き込むことはできませんが、Firefoxではこのctrl+cは正常に機能します。http://www.google.com/support/forum/p/Google+Docs/thread?tid=67dcf21ef8579b4c&hl=en&fid=67dcf21ef8579b4c00047e4a2a9fcb12
他の回答のいくつかに同意します-PDFはPNGとしてレンダリングされ、おそらく絶対/相対位置を使用してテキスト領域がレイヤー化されている可能性が非常に高いです。PDF から PDF 情報を抽出できます (もちろん...)。PDF 形式はオープンです - 誰でもできます (確かに、簡単ではないかもしれません)。ただし、XML などの PDF コンテンツのエクスポートを可能にするオープン ソース ツール (xPDF...) がいくつかあります。エクスポートには、ページ上のテキストや画像を表示する場所に関する座標などの情報が含まれている可能性があります。