PDF file

PDF

[3] PDF (ぴーでぃーえふ) は、 Adobe の開発した文書形式です。

構文

[24] PDF

MIME型

[5] PDFMIME型application/pdf です。

素片識別子

[12] ページ指定などが素片識別子により行えます。

Web における PDF

[8] PDF は、文書の配布手段として Web 上でもよく用いられています。

[9] 多くは、ダウンロードにより、または閲覧文脈内での表示を想定して配布されています。 かつては embedobject によりプラグインを埋め込んで表示する方法もよく採られていましたが、 最近ではあまり見かけません。

[10] 現在の多くの Webブラウザーは、 PDF の表示機能を内蔵しています。 (PDF の全機能を実装しているとは限りません。) Webサイトによっては、 HTML で指定した PDFフレーム内に表示させることがあります。 何らかの形での PDF への対応は Web互換のために必要です。

[13] 例えば DRM を使った PDF は、Webブラウザー内に表示できません。 そのような PDF は、相互運用性に問題がありますから、 Web では使うべきではありません。

[11] PDF にはハイパーリンク機能があり、 PDF から Webリンクすることができます。

参考文献を示す程度の利用に留まっており、 PDFWeb を相互に行き来する形の利用はほとんどされていません。

[20] いくつかのWebブラウザーは、物理形を得る方法の1出力先として PDF を提供しています。

[21] Chrome印刷機能から PDF として保存することを選べます。

[26] Adobe and Microsoft Bring Industry-Leading Acrobat PDF Experience to 1.4 Billion Windows Users through Microsoft Edge - Microsoft Edge Blog, Microsoft Edge Blog, https://blogs.windows.com/msedgedev/2023/02/08/adobe-acrobat-microsoft-edge-pdf/

[27] Microsoft Edge and Adobe partner to improve the PDF experience, https://techcommunity.microsoft.com/t5/microsoft-edge-insider/microsoft-edge-and-adobe-partner-to-improve-the-pdf-experience/ba-p/3733481

[28] どうして ChromeHTML に使える Google翻訳PDF では使わせてくれないのかねえ。

[29] FirefoxPDFpdf.js で表示していて DOM木にしているのに、 それを HTML として保存する機能を提供してくれないのも地味に不便。 DOM木なんだからそれを保存してやろうかと思ったら、 表示中のページの前後しか DOM には入ってなかった。 ページを進めていくと挿入されていくけど、前の方のページが消されていくので、 同時に全部 DOM にある状態にならない。 pdf.js を直接使えばどうにかできるのだろうけど、 せっかくなんだからブラウザー標準でどうにかしてほしい。

[30] Chrome も内部的には同じようにレンダリングしていると思うのだけど Chrome では DOM木が隠されてて JavaScript アクセスできないのなんでだろう。

活用

[33] Q: PDF からテキストデータを取り出したい。

[34] A:

$ pdftotext input.pdf output.txt

[35] Q: テキストがよくわからない順序に変わってしまいます。

[36] A: 元の順序を保持するオプションがあります。

$ pdftotext -raw input.pdf output.txt

[37] Q: テキストに座標もつけてほしい。

[38] A:

$ pdftohtml -xml input.pdf output.txt

独自形式 XML。定形なので行指向テキストファイルとしても処理できます。

[39] Q: PDF から画像データを取り出したい。

[40] A: >>38 で同じディレクトリーに画像ファイルが作成されます。

関連

[4] PostScriptPDF は深い関連があります。PDF はおおよそ PostScript部分集合的なものとなっています。

メモ

[2] PDFRDF は紛らわしい。 (名無しさん 2006-12-23 16:50:02 +00:00)

[1] KOBU - PDF by Hand http://www.kobu.com/docs/pdf/pdfxhand.htm

[6] RFC 6170 - Internet X.509 Public Key Infrastructure -- Certificate Image ( 版) https://tools.ietf.org/html/rfc6170#section-5.1

A certificate image MAY be provided in the form of a Portable

Document Format (PDF) document according to [ISO32000] and following

the conventions defined in this section. When a certificate image is

formatted as a PDF document, it MUST also be formatted according to

the profile PDF/A [ISO19005].

[7] Add support for "page=" and "search=" URL parameters · Issue #1875 · mozilla/pdf.js ( 版) https://github.com/mozilla/pdf.js/issues/1875

[14] Issue 523425 - chromium - failed to load GB 18030-2005 PDF - An open-source project to help move the web forward. - Google Project Hosting ( 版) https://code.google.com/p/chromium/issues/detail?id=523425

[15] 詳細PDF入門 ー 実装して学ぼう!PDFファイルの構造とその書き方読み方 - プログラムモグモグ ( 版) http://itchyny.hatenablog.com/entry/2015/09/16/100000

[16] パスポート更新申請のPDFの仕様が酷いと聞いたので確認してみた - Windows 2000 Blog ( ()) http://blog.livedoor.jp/blackwingcat/archives/1930035.html

[17] IE11とFirefoxのAdobe PDFで意図しない情報漏洩の可能性 | スラド セキュリティ () https://security.srad.jp/story/16/11/16/147247/

問題の脆弱性は、PDFにプログラムを埋め込める「FormCalc」という機能に関連するもの。FormCalcにはネットワーク経由でコンテンツの取得や送信を行える「Get」や「Post」、「Put」といった命令が用意されている。これを利用してPDFが配信されているドメインと同じドメイン上のデータを取得し、それを外部サーバーに送信するという処理をPDFを閲覧するマシン上で自動実行させることができるという。

一般的なWebブラウザでは、スクリプトによるHTTPリクエストについて、リクエスト先をそのスクリプトを配信するドメインに限定する、「同一オリジンポリシー(same-origin policy)」が適用されている(Mozillaによるドキュメント)。しかし、FormCalcではこの制限が緩く、取得した情報を別のサイトに送信できてしまうという。

[18] Edge displays "123456" in PDF but prints "114447" - Microsoft Edge Development () https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11896203/

[19] pdf_as 色々使えて便利。

[22] 【重要】PDF調査票回答の推奨環境変更のお知らせ | 政府統計オンライン調査総合窓口 () https://www.e-survey.go.jp/survey_Infomation/907

平成30年10月10日より、PDF調査票回答の推奨環境が一部変更となりました。

PDF 調査票に回答いただく際は「Internet Explorer11」をご使用いただくようお願いいたします。

(※「Firefox ESR」、「Safari」で回答送信ができない状況となりました)

[23] 画像データからのテキスト抽出 技術について () https://aebs.or.jp/pdf/20110803_txtt.pdf

[25] PDF フォーマット, https://aznote.jakou.com/prog/pdf/index.html

[31] pdf.js のようなものの他にもウェブ上でさがすと無料で PDF から HTML に変換できるサービスがいくつかあります。 試しにいくつか使ってみましたけど、まともに動かないもの (変換エラーになるもの) がいくつか、変換結果から文字が抜けまくっているもの (非ASCII文字を扱えない?) など酷いものが多い。ちゃんと動いたものもあるけど、どんな PDF でも大丈夫なのかたまたまテストに使ったものだけちゃんと動くのかわからない。 (ちゃんと動くものに限って無料枠が少なかったり。)

[32] そういうサイト、どうせバックエンドは同じ OSS なんじゃ?と思ってたけど案外そうでもないのね。

[82] 文字関係
key
pdf:char
desc
PDF の文字データ。