Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

ASCII85Decode

概要

ASCII85Decodeは、PDFファイルにおいてASCII85(Base85とも呼ばれる)エンコード方式でエンコードされたデータをデコードするために使用されるフィルタです ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。このエンコード方式は、バイナリデータをASCIIテキスト表現に変換し、4バイトのバイナリデータを5つのASCII文字に展開します。これにより、16進数エンコードよりも効率的でありながら、データを印刷可能で送信可能な形式に保つことができます。ASCII85エンコードは、画像やフォントデータなどのバイナリストリームをテキストセーフな方法で表現するために、PDFドキュメントで一般的に使用されています。

定義

ASCII85Decodeは、PDFのストリームデータを解凍またはデコードするためにPDF仕様で定義されている標準デコードフィルタの1つです ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。PDFストリームオブジェクトがASCII85Decodeをフィルタとして指定している場合、そのストリームのコンテンツがASCII85エンコードでエンコードされており、実際のデータを使用する前にデコードする必要があることを示しています。このエンコードは、85個の印刷可能なASCII文字(’!‘から’u’まで、および特殊なケースとして’z’)の文字セットを使用してバイナリデータを表現し、生のバイナリと比較して約25%の拡張を実現します(16進数エンコードの100%拡張と比較して)。各バイトを2つの16進数文字に変換するASCIIHexDecodeとは異なり、ASCII85Decodeはより小さな表現を提供するため、ファイルサイズが重要な場合でも、ASCIIセーフな送信が必要な場合に適しています。

全投稿を閲覧 gdoc_arrow_right_alt

ASCIIHexDecode

概要

ASCIIHexDecodeは、PDFドキュメント内でバイナリデータを16進数のASCII文字としてエンコードするために使用されるフィルタです。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されているように、このエンコード方式は、バイナリデータの各バイトを2桁の16進数として表現し、7ビットASCIIのみをサポートするシステムを通じてバイナリコンテンツを読み取り可能かつ送信可能にします。このフィルタは、データストリームを処理するためにPDF仕様で利用可能な複数のエンコード方式の1つです。

定義

ASCIIHexDecodeは、バイナリデータを16進数のASCII表現に変換する可逆エンコードフィルタです。元のバイナリデータの各バイトは、2文字の16進数文字(0-9、A-F)としてエンコードされ、エンコード後のデータサイズは実質的に2倍になります。このフィルタは、デコード時にすべての空白文字を無視するため、エンコードされたデータを柔軟にフォーマットできます。特殊なデータ終端マーカー(大なり記号「>」)は、エンコードされたデータの終了位置を示します。

4バイトを5文字のASCII文字として表現することでより効率的なエンコードを提供するASCIIBase85Decodeとは異なり、ASCIIHexDecodeはよりシンプルですが、スペース効率の低いアプローチを使用します。FlateDecodeのようなフィルタが圧縮に重点を置いているのに対し、ASCIIHexDecodeはサイズの最適化よりもASCII互換性を優先するため、バイナリデータの送信が問題となる環境に適しています。

重要性

PDFの生成と操作を行う開発者にとって、ASCIIHexDecodeを理解することは、いくつかの理由で重要です。第一に、古いメールシステムやテキストベースのプロトコルなど、バイナリデータを破損する可能性のあるシステムを通じて、信頼性の高いデータ転送を可能にします。第二に、16進数でエンコードされたデータは人間が読める形式であるため、開発中のPDF構造のデバッグや手動検査が簡素化されます。第三に、一部のレガシーシステムやワークフローでは、16進数エンコードされたストリームが必要とされる、または生成される場合があり、既存のPDF処理パイプラインと統合する際にこのエンコードを処理する必要があります。最後に、最も効率的なエンコード方式ではありませんが、ASCIIHexDecodeは、ストレージの懸念よりもエンコードのシンプルさが重要なシステムに対して、直接的な実装パスを提供します。

全投稿を閲覧 gdoc_arrow_right_alt

Base64 font embedding

概要

Base64 font embeddingは、バイナリフォントファイルをbase64文字列としてエンコードし、data URIを使用してCascading Style Sheets(CSS)に直接組み込むことでフォントデータを取り込む技術です。このアプローチにより、個別のフォントファイルのダウンロードが不要になり、フォントをスタイル情報と共にパッケージ化することで配布が簡素化されます。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) では直接的に規定されていませんが、このWebベースのフォント配信方法は、PDFのネイティブフォント埋め込みメカニズム(フォントプログラムがバイナリストリームとしてPDFファイル構造内に直接埋め込まれる方式)とは対照的です。

定義

Base64 font embeddingは、バイナリフォントファイル(TrueType、OpenType、WOFF形式など)をASCIIエンコードされたbase64文字列に変換し、data URIを使用してCSS @font-faceルール内に直接埋め込む手法です。外部フォントファイルをURL経由で参照する代わりに、フォントプログラム全体がエンコードされ、スタイルシート自体にインラインで含められます。この手法は、フォントを別リソースとして読み込む従来のWebフォントリンクとは異なり、また ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) に記載されているPDFフォント埋め込み(フォントがフォント辞書内にバイナリフォントプログラムとして格納され、文書のリソース階層を通じて参照される方式)とも異なります。base64アプローチはWeb技術に特有であり、文書フォーマット仕様ではなく、自己完結型のパッケージング戦略を表しています。

全投稿を閲覧 gdoc_arrow_right_alt

Character map

概要

Character map(文字マップ)は、PDFファイル内の数値文字コードと、実際に表示されるべきグリフ(文字の形状)またはそれらが表すUnicode値との関係を定義します。Character mapは、PDF文書における正確なテキスト抽出、検索、およびアクセシビリティに不可欠です ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。これらは、エンコーディング辞書、複雑なスクリプト用のCMap、またはUnicodeへの変換を可能にするToUnicodeマッピングを通じて実装されます。

定義

Character mapは、PDFフォントが内部で使用する数値コードと、グリフ識別子またはUnicode文字値のいずれかとの間で変換を行うルックアップ機構です。バイトと文字の間の1対1のマッピングを提供する単純な文字エンコーディングとは異なり、PDFのcharacter mapは、マルチバイト文字コード、複合フォント、双方向テキストなど、より複雑なシナリオに対応できます。PDF仕様は、3つの主要な文字マッピング機構をサポートしています:組み込みエンコーディング(WinAnsiEncodingやMacRomanEncodingなど)、アジア言語などの複雑なスクリプトに使用されるCID鍵付きフォント用のCMapリソース、そしてUnicodeコードポイントへの明示的なマッピングを提供するToUnicode CMap ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) です。ToUnicodeマッピングは、支援技術がテキストコンテンツを正確に解釈できるようにするため、アクセシビリティ機能において特に重要です ( Citation: N.A., (N.A.). (). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html )

全投稿を閲覧 gdoc_arrow_right_alt

CID (Character Identifier)

概要

CID(Character Identifier)は、CIDFontにおいて文字コードをフォント内の特定のグリフにマッピングするために使用される数値です。CIDFontは、中国語、日本語、韓国語などのアジア言語を扱うために特に設計された、大規模な文字セットを処理できる複合フォントです ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。CIDFontは、文字コードをグリフ記述に直接マッピングするのではなく、CIDを中間層として使用することで、数千のグリフを効率的に管理できます。

定義

CIDは、CIDFont内の特定のグリフ形状を識別するための内部識別子として機能する整数値です。文字コードが直接グリフを参照する単純なフォントとは異なり、CIDFontは2段階のマッピングプロセスを採用しています。まず文字コードからCIDへ、次にCIDから実際のグリフ記述へとマッピングします。このアーキテクチャにより、CIDFontは数万のグリフを含む文字コレクションをサポートしながら、効率的なアクセスと管理を維持できます。

CIDは、特定のCIDFontのコンテキスト外では固有の意味を持たない、フォント固有の識別子である点で文字コードとは異なります。あるフォントのCID 100は、別のフォントのCID 100とは全く異なるグリフを表す可能性があります。文字コード(Unicode値など)とCIDの間のマッピングは、CMap(Character Map)リソースによって定義されます。CMapは、文字エンコーディングシステムとフォントの内部グリフ構成の間の変換層として機能します。

重要性

CIDを理解することは、多言語PDFドキュメント、特に東アジア言語を含むドキュメントを扱う開発者にとって不可欠です。テキストのレンダリング、コンテンツの抽出、またはPDFの適切なアクセシビリティを確保する際、CIDマッピングシステムが文字が正しく表示されるかどうかを決定します。CIDマッピングが正しくない場合、グリフの欠落、誤った文字の表示、またはアクセシビリティ機能を損なうテキスト抽出の失敗が発生する可能性があります。

全投稿を閲覧 gdoc_arrow_right_alt

CIDFont

概要

CIDFontは、PDF文書でマルチバイト文字エンコーディングを扱うために使用される特殊なフォントタイプで、特に中国語、日本語、韓国語などの東アジア言語に対応します。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されているように、CIDFontは複合フォントと連携して動作する子孫フォントであり、文字識別子(CID)をグリフ記述にマッピングします。CIDFontには2つのタイプがあります:CIDFontType0(Type 1フォント技術ベース)とCIDFontType2(TrueTypeフォント技術ベース)です。

定義

CIDFontは、単純なシングルバイトエンコーディングでは効率的に表現できない大規模な文字セットをサポートするために特別に設計されたフォント形式です。バイト値を直接グリフにマッピングする従来のPDFフォントとは異なり、CIDFontは文字識別子(CID)を使用します。CIDは文字コレクション内の各文字を一意に識別する数値です。CIDFontは常にType 0複合フォント内の子孫フォントとして使用され、PDFコンテンツストリームで直接参照されることはありません。

2つのCIDFontタイプは、基盤となるグリフ記述技術が異なります:CIDFontType0はCompact Font Format(CFF)を使用し、Type 1フォントアウトラインをベースとしています。一方、CIDFontType2はTrueTypeフォントアウトラインを使用します。両タイプとも大規模な文字セットにグリフ記述を提供するという同じ目的を果たしますが、実際のグリフ形状を記述するために異なるフォント技術を使用します。

重要性

国際的なPDF文書を扱う開発者にとって、CIDFontの理解はテキストの適切なレンダリングと抽出に不可欠です。CIDFontにより、PDFは膨大なフォントファイルや文字マッピングテーブルを作成することなく、数千の文字を含む言語を正しく表示できます。PDFテキスト抽出を実装する際、開発者はCIDFontマッピングを正しく処理して、CIDをUnicode文字に変換する必要があります。CIDFont構造を適切に処理しないと、多言語文書で文字化け、文字の欠落、または不正確な文字間隔が発生する可能性があります。さらに、 ( Citation: N.A., (N.A.). (). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) で概説されているアクセシビリティコンプライアンスのためには、適切なCIDFont処理により、スクリーンリーダーや支援技術が複雑なスクリプトを含む文書のテキストコンテンツを正確に解釈できることが保証されます。

全投稿を閲覧 gdoc_arrow_right_alt

CMap

概要

CMap(Character Map)は、PDF文書において複合フォント内の文字コードとCID(Character Identifier)とのマッピングを定義するために使用される特殊なデータ構造です ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。CMapは、中国語、日本語、韓国語(CJK)など、大規模な文字セットを必要とする文字体系でテキストをレンダリングする際に不可欠です。CMapにより、PDFプロセッサは文字コードを正しく解釈し、マルチバイトフォントコレクションから適切なグリフを表示できるようになります。

定義

CMapは、文字コード(コンテンツストリーム内で文字を表現するために使用されるバイトシーケンス)をCID(Character Identifier)に変換するマッピングテーブルです。CIDはCIDFont内の特定のグリフを参照します ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。バイトからグリフへの直接マッピングを使用するシンプルフォントとは異なり、複合フォントは2段階のマッピングプロセスを採用しています。まずCMapを介して文字コードからCIDへ、次にCIDFontを介してCIDから実際のグリフ記述へとマッピングします。

全投稿を閲覧 gdoc_arrow_right_alt

Conversion encoding

概要

Conversion encodingは、PDF文書において、フォントのネイティブエンコーディングからUnicode値への文字コードのマッピングに使用される仕組みであり、適切なテキスト抽出とアクセシビリティを実現します。このマッピングは、カスタムエンコーディングや非標準エンコーディングを使用するフォントを扱う際に特に重要です。これにより、支援技術や検索機能がテキストコンテンツを正しく解釈できるようになります ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。Conversion encodingは、PDF/UAなどの標準に準拠したアクセシブルなPDFを作成する上で重要な役割を果たします ( Citation: N.A., (N.A.). (). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html )

全投稿を閲覧 gdoc_arrow_right_alt

Deflate

概要

Deflateは、コンテンツの整合性を保持しながらファイルサイズを削減するためにPDF文書で広く使用されている可逆データ圧縮アルゴリズムです。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で規定されているように、Deflateは、コンテンツストリーム、画像データ、メタデータを含むPDFストリームオブジェクトでサポートされている標準圧縮方式の1つです。この圧縮方式は、LZ77アルゴリズムとハフマン符号化を組み合わせて効率的な圧縮率を実現しており、PDFの最適化における基本的なコンポーネントとなっています。

定義

Deflateは、DEFLATE Compressed Data Format Specification(RFC 1951)を実装したストリーム圧縮フィルターです。PDFの文脈では、ストリームオブジェクトに適用される/FlateDecodeフィルターパラメータとして表示されます。JPEG(DCTDecode)などの非可逆圧縮方式とは異なり、Deflateはデータを正確に保持するため、テキストコンテンツ、ベクターグラフィックス、品質を損なえない画像に適しています。このアルゴリズムは、ZIPアーカイブやPNG画像でも使用されており、複数のファイル形式にわたって確立された標準となっています。PDFストリームに適用される場合、Deflateはファイルに書き込まれる前の生のバイトストリームに対して動作し、PDFのレンダリングまたは処理時に透過的に解凍が行われます。

重要性

PDF生成、操作、最適化に携わる開発者にとって、Deflate圧縮の理解はいくつかの理由から重要です。第一に、ファイルサイズに直接影響します—適切に圧縮されたPDFは、非圧縮版と比較して50〜90%小さくなる可能性があり、ストレージコストと転送時間を大幅に削減できます。第二に、ほとんどのPDFライブラリとツールは、Deflate圧縮ストリームをデフォルトとして期待するため、開発者はエンコードおよびデコード操作を正しく処理する必要があります。第三に、 ( Citation: N.A., (N.A.). (). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) のような標準に準拠したアクセシブルなPDFを作成する場合、可逆圧縮によってコンテンツの整合性を維持することで、タグ構造とテキスト抽出の信頼性が確保されます。最後に、PDFの問題をデバッグする際には、コンテンツを検査するためにストリームを解凍する必要があることが多く、Deflateの知識はトラブルシューティングに不可欠です。

全投稿を閲覧 gdoc_arrow_right_alt

Differences array

概要

Differences arrayは、フォントエンコーディング辞書内の特定のエントリで、開発者が個々の文字コードを特定のグリフ名に再マッピングできるようにします。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されているように、この配列は、完全に新しいエンコーディングスキームを定義することなく、選択された文字コードのデフォルトエンコーディングをオーバーライドする仕組みを提供します。Differences arrayは、カスタムフォントを使用する場合や、特定のグリフを非標準の文字位置でアクセスする必要がある場合に特に重要です。

定義

Differences arrayは、PDFフォントのEncoding辞書内の配列オブジェクトで、ベースエンコーディングに対する例外を指定します。この配列は、数値コードとグリフ名のシーケンスが交互に並んだ構造で、各数値は開始文字コードを示し、その後に1つ以上のグリフ名が続きます。これらのグリフ名は、そのコード位置から順次マッピングされます。256個すべての文字コードに対するマッピングを定義する完全なエンコーディングベクターとは異なり、Differences arrayは、ベースエンコーディング(WinAnsiEncoding、MacRomanEncoding、StandardEncodingなど)とは異なるコードのみを指定します。

Differences arrayは、カスタムエンコーディング辞書とは異なり、既存のベースエンコーディングを完全に置き換えるのではなく、それを基に構築されます。これにより、わずかな文字コードマッピングのみを変更する必要がある場合に、より効率的になります。配列形式により、単一の配列内に複数の差分シーケンスを含めることができ、非連続のコード変更が可能になります。

重要性

PDF生成やテキスト抽出を行う開発者にとって、Differences arrayを理解することは、以下の理由から非常に重要です。

全投稿を閲覧 gdoc_arrow_right_alt