Google Docs PDFビューアがどのように機能するのか知りたいです。scribd.comのようなフラッシュではなく、純粋なHTMLのように見えます。どのようにそれを行ったのでしょうか。
Googleは、テキストを強調表示するオーバーレイを使用して、画像を提供しているだけです(右クリック->名前を付けて保存)。
あなたはチェックアウトする必要があります this SO question 他の人がより詳細に入るところ。
また、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を使用してクリップボードに書き込むことはできませんが、画像上のこのctrl + cはFirefoxでは正常に機能します。 http://www.google.com/support/forum/p/Google+Docs/thread?tid=67dcf21ef8579b4c&hl=en&fid=67dcf21ef8579b4c00047e4a2a9fcb12
私は他のいくつかの答えに同意します-PDFはPNGとしてレンダリングされ、おそらく絶対/相対配置を使用してテキスト領域が階層化されます。PDF PDF(もちろん...)からの情報)PDFフォーマットはオープンです-誰でもそれを行うことができます(もちろん、そうかもしれません)簡単ではありません)しかし、XMLのようにPDFコンテンツのエクスポートを可能にするいくつかのオープンソースツール(xPDF ...)があります。エクスポートには座標などの情報が含まれている可能性があります。ページのどこにテキストと画像を表示するか。