→ドキュメント作成
→データ形式/データフォーマット
PDF一般†
PDFビューワ†
PythonによるPDF処理†
→Python関連Tips
PyMuPDF†
PDFminer†
Camelot†
その他†
ファイルフォーマット†
- 僕「PDFとは何か知りたい」 2020.11
- PDFは大きく分けて次の3つの技術を組み合わせています。
- PostScriptページ記述言語(レイアウト・グラフィックの生成)
- 構造化されたストレージシステム(データ圧縮など)
- フォント埋め込み・置換システム
PostScript†
- PDFは、PostScriptを使用して、文書やグラフィックスを記述する方法を統一し、それをデバイスやプラットフォームに依存しない形で表示できるようにしました。そして、PDFはPostScriptの文書を表示、印刷、検索、抽出などの機能を持ち、比較的軽量なのに対してPostScriptは処理に時間がかかるため、PDFの方が使用頻度が高いです。
- PDFの中には、PostScriptプログラムが埋め込まれている場合があります。これは、PDFの中に埋め込まれたPostScriptプログラムが、PDFドキュメントの一部として印刷や表示を行うために使用されます。
CMap/CID†
- What are CID fonts? 2011
- もともとPDFで使われていたフォント技術である Postscript/Type1 and Truetype では欧米系の言語はうまく処理できるがCJKフォントは苦手だった
- そこでCJKフォント向けに用意された規格がCIDフォント
- The main features that CID fonts add are the ability to have 16bit values (so 65535 separate CID characters rather than 256) and much more sophisticated and more flexible unicode settings for extraction. Predefined CMAPs (or custom ones embedded by the user) allow for text extraction to provide appropriate values.
- CMap (Character Map) は、PDFのフォントの内部表現とUnicodeの文字集合との間をマッピングするために使用されるものです。
- PDFは、文字を表現するためにフォントを使用します。フォントは、文字をグラフィックスとして表現するために使用されるデータです。しかし、PDFは様々なプラットフォームやデバイスで表示するために使用されるため、フォントデータが異なる場合があります。
- CMapは、PDFのフォントの内部表現とUnicodeの文字集合との間をマッピングするために使用されます。これにより、PDFのフォントが異なっていても、同じ文字を表示することができるようになります。
- CMapは、PDFの中に埋め込まれているので、PDFの中に複数のCMapが存在する場合があります。それぞれのCMapは、異なるフォントや文字集合をサポートしています。CMapは、PDFのフォントのエンコーディングに対応していることができます。
プログラム言語から出力†
ツールによるPDFの生成、編集†
2010年代にMS OfficeがPDFへの出力に対応したため、これらのツールは殆ど存在意義を失った。
- PrimoPDFで出力したPDFをReaderで表示すると「フォントが無効なので削除」とか言われて文字化けして読めないとき
- 以下のようにすると解決した
- プリンタ(PrimoPDF)のプロパティを表示
- 「全般」タブの「印刷設定」ボタン→「レイアウト」タブの「詳細設定」ボタン→「TrueType Font Download Option」を「Automatic」から「Outline」に変更

- (2006.9.20 最新バージョンでは解決している模様)