

{0}------------------------------------------------

2026年版

PDFファイルを扱うシステム開発・ウェブ開発に役立つ

# 開発者向けPDF入門ガイド

![A woman with glasses using a laptop and smartphone, surrounded by icons representing various digital functions like chat, graphs, email, location, cloud, search, and user profile.](64662465bba247703fdec49c8f3309f9_img.jpg)

A woman with short brown hair and glasses, wearing a yellow sweater, is sitting at a wooden desk. She is looking at a red smartphone in her hands, while a red laptop is open in front of her. The background is a blurred office or home setting with a bookshelf and a plant. Floating around her are ten circular icons containing various symbols: a speech bubble, a line graph, an envelope, a location pin, a cloud, a magnifying glass, a person silhouette, a Wi-Fi signal, a computer cursor, and a folder.

A woman with glasses using a laptop and smartphone, surrounded by icons representing various digital functions like chat, graphs, email, location, cloud, search, and user profile.

DEVELOPERS INTRODUCTORY GUIDE TO PDF FILES

IDR Solutions 著 日本語版作成：株式会社インターワーク

![IDR Solutions logo](0538daaa5583c23e17db3a12f2281a55_img.jpg)

The logo for IDR Solutions, featuring a stylized blue 'IDR' monogram.

IDR Solutions logo

IDR  
SOLUTIONS

![Interwork logo](6ed175c791b5e156d9c98a8dbcc3318c_img.jpg)

The logo for Interwork, featuring a red stylized 'i' icon followed by the word 'INTERWORK' in red capital letters.

Interwork logo

{1}------------------------------------------------

# 目次

|                                     |    |
|-------------------------------------|----|
| はじめに                                | 2  |
| PDFファイルとは？                          | 3  |
| PDFファイル形式は公開されていますか？                | 3  |
| PDFファイルを理解するための最初のステップ              | 3  |
| PDFファイルの効果的な操作方法                    | 3  |
| 新しくPDFを開発する方への9つの重要なヒント             | 4  |
| 1. PDFファイルを「ファイル」と考えないこと            | 4  |
| 2. PDFはオブジェクトがすべて                   | 4  |
| 3. 見た目が同じでも異なる内部構造を持つPDFファイル        | 4  |
| 4. PDF内の画像の分割と圧縮                    | 5  |
| 5. PDF開発のための基本的なリソース - PDFリファレンスガイド | 5  |
| 6. PDFの基本的な属性と多様性                   | 5  |
| 7. PDFは多様な技術の集合体                    | 5  |
| 8. PDF開発のためのツール活用                   | 6  |
| 9. PDFに関する助言を求めるためのリソース             | 6  |
| PDFの構造                              | 7  |
| PDF内における画像の格納方法                     | 7  |
| PDFファイルにおける色の定義                     | 8  |
| 色変換                                 | 8  |
| PDF ファイルでは、テキストはどのように保存されるのですか？     | 9  |
| 日本語特有の問題は？                          | 10 |
| PDF内のフォント管理とその実装                    | 11 |
| PDF内で使用されるフォントの種類と特徴                | 11 |
| PDFフォームの基本と機能                       | 12 |
| PDFフォームの2つの異なる技術：AcroFormsとXFA      | 12 |
| よくある質問                              | 13 |
| なぜPDFファイルを開いて編集できないのでしょうか？          | 13 |
| 使用されているPDFバージョンを調べるには               | 14 |
| PDFオブジェクトの内部表示と解析はどうしたら可能ですか？       | 15 |
| RUPS                                | 16 |
| JPedalビューア                          | 17 |
| なぜPDFのテキスト抽出には 問題が多いのでしょうか？         | 19 |
| PDFファイルはどのように保護されているのですか？           | 20 |
| 2026年のPDFトレンド                       | 21 |
| AI統合の加速                             | 21 |
| クラウドベースのドキュメント処理                    | 21 |
| アクセシビリティ標準の強化                       | 21 |
| 電子署名とデジタルトラスト                       | 21 |
| PDF市場の成長                            | 21 |
| お役立ちリンク                             | 22 |
| IDR製品 販売代理店・開発会社 会社概要               | 23 |

{2}------------------------------------------------

## はじめに

PDFファイルはその使い勝手の良さと充実したドキュメンテーションで知られています。一方で、開発者にとってPDFは非常に複雑で、一般的なイメージとは異なり、WordやExcelのような文書とは根本的に異なる構造を持っています。

一般ユーザーがPDFを単純に使う分には、その背後の複雑さを知る必要はありません。しかし、開発者の立場からは、この複雑さに対処する必要があります。本ガイドは、開発者がPDFに関する開発作業を開始する際の基本的な指針を提供することを目的としています。

このガイドを通じて、皆様はPDFの内部構造を理解し、効果的にPDFファイルを操作するための知識を習得することができるでしょう。

2024年に初版を発行して以来、PDF技術を取り巻く環境は大きく変化しています。AI技術のドキュメント処理への統合が急速に進み、クラウドベースのPDF処理が主流になりつつあります。また、アクセシビリティ標準PDF/UA-2 (ISO 14289-2) の正式発行やPDF 2.0 (ISO 32000-2:2020) の再確認など、標準化の面でも重要な進展がありました。この2026年版では、これらの最新動向を踏まえた補足情報を各セクションに追記するとともに、新たに「2026年のPDFトレンド」セクションを設けています。

2024年4月

IDR solutions Ltd.

株式会社インターワーク

PDF関連の開発に悩む技術者 - 画像生成AIで作成

![Illustration of a developer at a desk overwhelmed by a chaotic tangle of PDF documents, warning signs, and error symbols, representing the complexity of PDF development.](b48d146cf1d6e0a01791f52572be6767_img.jpg)

An illustration depicting a developer sitting at a desk, looking stressed with their hands on their head. The desk is covered in a chaotic tangle of PDF documents, warning signs (triangles with exclamation marks), and error symbols (red squares with question marks). A large computer monitor displays a complex PDF structure with various tags and attributes. The background is a light blue gradient, and the overall scene conveys the frustration and complexity of working with PDF files.

Illustration of a developer at a desk overwhelmed by a chaotic tangle of PDF documents, warning signs, and error symbols, representing the complexity of PDF development.

{3}------------------------------------------------

## PDFファイルとは？

PDFファイルの基本構造は、相互にリンクされたオブジェクトの集まりであるということをまず理解することが重要です。これには、各ページを表すページオブジェクトやフォントを定義するフォントオブジェクト、画像データを保持するXObjectなどが含まれます。PDFには、これらの様々なオブジェクトと、それらの位置を示すリファレンスが全て記録されており、必要に応じてアクセスして読み取ることができます。パーサーがこれらのデータを解析し、それらの要素が組み合わされて初めて、最終的な出力として意味をなすようになります。

### PDFファイル形式は公開されていますか？

もともとAdobe Inc.によって開発されたPDFファイルフォーマットは、今ではオープンスタンダード（ISO-32000）として公開されており、誰でも新しい機能やバージョンを定義するための委員会への参加が可能です。

## PDFファイルを理解するための最初のステップ

![Icon of a pen writing on a document, representing a step or tip.](d0baec9a9191662196c3f3be304ee01c_img.jpg)

Icon of a pen writing on a document, representing a step or tip.

PDFファイルフォーマットの公開スタンダード（ISO 32000）は、国際標準化機構(ISO)によって管理されています。特に、PDFの標準化に関わる委員会はISOのTC 171/SC 2として知られています。この委員会は文書管理アプリケーションの標準化を担当しており、PDFのようなファイルフォーマットの標準化を進めるために活動しています。この委員会には、業界の専門家や関連する組織の代表者が参加し、PDF標準の開発と維持に貢献しています。

現行のPDF標準であるISO 32000-2:2020（PDF 2.0）は2026年に再確認され、引き続き現行標準として維持されています。また、2024年3月にはアクセシビリティ標準PDF/UA-2（ISO 14289-2）が正式に発行され、PDFのアクセシビリティ対応が大きく前進しました。PDF AssociationはPDF 2.0の仕様書を無料で提供しています。

PDF association <https://pdfa.org/>

PDF Wikipedia Page (日本語ページ) [https://ja.wikipedia.org/wiki/Portable\\_Document\\_Format](https://ja.wikipedia.org/wiki/Portable_Document_Format)

PDFファイル形式の基本的な理解を深めるための最初のステップとして、いくつかのPDFファイルを開いてその構造を観察することが推奨されます。直接ファイルを編集するのは避けた方が良いです（単純なスペースの追加でもファイルが破損する恐れがあります）が、テキストエディタを使って中身を確認することは可能です。ただし、データの多くは暗号化されているか圧縮されているため、iText RUPSや弊社の製品であるJPedalインスペクターのような専門的なツールを使用する方が効果的です。

## PDFファイルの効果的な操作方法

PDFファイルをうまく扱うためには、外部のライブラリの使用が不可欠です。PDFファイルの操作には、市場に豊富に存在する商用またはオープンソースのライブラリやツールの活用を推奨します。

{4}------------------------------------------------

## 新しくPDFを開発する方への9つの重要なヒント

一晩でPDFのエキスパートになるのは不可能です。私たちは20年以上前からPDFファイルに取り組んでいますが、依然として日々新しいことを学んでいます。PDFは多様な技術を取り入れた広範囲にわたる複雑なファイル形式ですので、その使い方を習得するには時間がかかります。このセクションでは、私たちの経験から得た9つの重要なヒントを共有します。

### 1. PDFファイルを「ファイル」と考えないこと

HTMLの学習を始める際、ファイルを開きテキストエディタで編集してその結果を確認することが可能ですが、PDFファイルの場合はそうはいきません。PDFは基本的にバイナリ形式のデータ構造を持っており、生のファイルを開いても多くの情報が読み取れない上、たった1バイトの編集でファイル全体が破損するリスクがあります。幸い、PDFファイルの内容を検証するための優れたツールが多数のプラットフォームで利用可能ですので、ファイルを直接開く必要はないのです。

### 2. PDFはオブジェクトがすべて

PDFファイルの核となるのは、多くのPDFオブジェクトで構成されています。これらのオブジェクトには、フォーマット番号と世代番号、そして「R」を含む固有のID（例えば「3 0 R」や「144 0 R」のように表示されることがあります）が割り当てられています。

ページオブジェクトは特定のページの内容を定義し、フォントオブジェクトは特定のフォントに関する情報全てを含んでいます。また、フォームオブジェクトには様々なデータが格納されます。

これらのオブジェクトは互いに参照し合うことができ、例えばページオブジェクト「5 0 R」は、そのページで使用されるフォントオブジェクトが格納されたリソースオブジェクト「10 0 R」（内部にフォントオブジェクト「16 0 R」、「17 0 R」、「18 0 R」などを含む）を参照することがあります。これにより、どのページも迅速にアクセス可能になります。PDFのルートオブジェクトはページリストを指し、それらのページが使用するリソースと内容を指示します。

### 3. 見た目が同じでも異なる内部構造を持つPDFファイル

PDFの仕様は広範囲にわたり、非常に柔軟です。これにより、同じ見た目のドキュメントを作成するために多様な手法が存在します。PDF仕様では特定の方法を強制しないため、各PDF生成ツールは異なるアプローチで処理を行うことが一般的です。もし奇妙なPDFに遭遇したら、そのPDFが作成された際のツールの設定を確認することが役立ちます。

{5}------------------------------------------------

### 4. PDF内の画像の分割と圧縮

PDFが生成される際、画像はそのピクセルデータとカラーデータに「分割」され、最大限の効率性をもって圧縮されるようになります。JPEG画像はしばしばJPEG圧縮形式（DCTDecodeやJPXDecodeとして知られる）で格納されますが、これには色情報を適用する作業が必要な場合もあります。

### 5. PDF開発のための基本的なリソース - PDFリファレンスガイド

Adobe社からはPDF 1.7の詳細な仕様が提供され、無料でダウンロード可能です。また、PDF AssociationはPDF 2.0の仕様書も無料で提供しています。これらの資料は内容が豊富で、多くの情報を含んでいます。理想的には、初心者はファイルフォーマットの基本的な概要や、理解する必要のある特定のセクションから学び始めるべきです。

PDF仕様書は、その内容に関して非常に詳細な情報を提供していますが、必ずしもあなたが必要とする視点から書かれているわけではありません。また、Adobe社は仕様に対する解釈の幅を広げています。例が豊富にありますが、使用するツールによっては異なるアプローチが可能です。

これらの仕様書は辞書のように活用するのが最適です。つまり、それらは事項の意味を提供しますが、必要な言語や、その使用方法については説明がありません。

![Icon of a pen writing on a document, representing a reference guide.](5549f7bbf28f047575f40f7da371a217_img.jpg)

Icon of a pen writing on a document, representing a reference guide.

#### PDFリファレンスガイド

PDF Reference, version 1.7

<https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/pdfreference1.7old.pdf>

PDF 2.0 Document

<https://pdfa.org/resource/iso-32000-pdf/>

### 6. PDFの基本的な属性と多様性

理想的には、PDFファイルは.pdfのファイル拡張子を持ち、そのデータの最後の1024バイトにはxref（クロスリファレンス）ポインタが含まれ、ファイルの最初の行はバージョン番号であるべきです。しかし、実際にはPDFが許容する範囲やその有用性にはかなりの幅があります。PDFファイルには、フォントや編集可能なテキストが含まれている場合もあれば、単に画像に囲まれた生の原稿であることもあります。結局のところ、Acrobatで開くことができれば、それはPDFとして認められます。したがって、あなたは、その取り扱いに注意が必要になるでしょう。

### 7. PDFは多様な技術の集合体

PDFファイル形式の内部には、圧縮アルゴリズム、暗号化、フォント技術、JavaScriptなど、様々な技術が組み込まれています。これらの技術の理解は、PDFの内部動作を把握する上で重要ですが、それにより全体の理解がより複雑になることもあります。

{6}------------------------------------------------

### 8. PDF開発のためのツール活用

PDF開発には、さまざまなプラットフォームや言語（C、Java、Perl、PHPなど）に対応した多くのツールが用意されています。これには無料のものと商用のものが含まれます。これらのツールを使用することで、PDFファイルの取り扱いが格段に簡単になります。また、特にソースコードへのアクセスが可能な場合、これらのツールを使用して実験を行うことは、PDFの動作方法を理解するのに役立つ良い手段です。

### 9. PDFに関する助言を求めるためのリソース

インターネットの存在により、PDFに関する問題をいつでもオンラインで議論することが可能です。PDFツールを開発している人々や企業は、メーリングリストやディスカッションフォーラムを提供しており、また、より幅広い一般的なフォーラムも存在します。個人的には、stackoverflowがPDFに関する質問をするのによい場所だと考えられます。

![Stack Overflow logo icon, a stylized pencil inside a circle.](67b83c4adaaa4de02d367168308deb2a_img.jpg)

Stack Overflow logo icon, a stylized pencil inside a circle.

**stackoverflow**

英語サイト : <https://stackoverflow.com/>

日本語サイト : <https://ja.stackoverflow.com/>

うまく行っているプロジェクトイメージ - 画像生成AIで作成

![Illustration of a person sitting at a desk working on a computer, surrounded by glowing digital icons representing PDF files and development tools, symbolizing successful project progress.](8a58f9778d09be5d0a0ae25e5393a583_img.jpg)

Illustration of a person sitting at a desk working on a computer, surrounded by glowing digital icons representing PDF files and development tools, symbolizing successful project progress.

{7}------------------------------------------------

## PDFの構造

## PDF内における画像の格納方法

PDFファイルでは、画像は通常、別個のオブジェクト（XObject）として格納され、これには画像の生バイナリデータが含まれます。これらの画像オブジェクトは、ページやファイルのリソースオブジェクトにリストされ、それぞれ固有の名前（例: Im1）が付けられています。PDFに埋め込まれた画像をTifやGif、Bmp、Jpeg、Pngなどと同一視するのは誤りです。

実際には、これらはピクセルのバイナリデータと、画像の色空間やその他の情報を含むものです。PDFの生成時には、画像が分割され、PDF作成ツールによって異なる方法で保存されることがあります。

以下に示すのは、AcrobatのPDFオブジェクトビューアでの表示例です。

AcrobatのPDFオブジェクトビューア

![Screenshot of the Adobe Acrobat PDF Object Viewer showing the internal structure of a PDF file (PDF3.pdf). The viewer displays a hierarchical tree view of objects. Under 'Page: 1', the 'Resources' section is expanded, showing 'XObject: (1)' which contains 'Im1: (8)'. The 'Im1' object's properties are listed: BitsPerComponent: 8, ColorSpace: DeviceCMYK, Filter: DCTDecode, Height: 152, Length: 15828, Subtype: Image, Type: XObject, Width: 159. The 'Image stream' is also visible. Other objects like 'Contents', 'CropBox', 'MediaBox', 'Parent', 'ExtGState', 'Font', 'ProcSet', and 'Properties' are also listed under 'Resources'.](f01b22e5bb303653828200595aece414_img.jpg)

Screenshot of the Adobe Acrobat PDF Object Viewer showing the internal structure of a PDF file (PDF3.pdf). The viewer displays a hierarchical tree view of objects. Under 'Page: 1', the 'Resources' section is expanded, showing 'XObject: (1)' which contains 'Im1: (8)'. The 'Im1' object's properties are listed: BitsPerComponent: 8, ColorSpace: DeviceCMYK, Filter: DCTDecode, Height: 152, Length: 15828, Subtype: Image, Type: XObject, Width: 159. The 'Image stream' is also visible. Other objects like 'Contents', 'CropBox', 'MediaBox', 'Parent', 'ExtGState', 'Font', 'ProcSet', and 'Properties' are also listed under 'Resources'.

生の画像データは、ページの必要なサイズに合わせて調整されることがありますが、そうでない場合もあります。その場合、画像は描画時に拡大または縮小されます。PDFファイルの生成方法は、使用されるPDF作成ツールによって大きく変わります。

実際の画像データは圧縮が可能で、使用される圧縮形式の一つにDCTDecodeがあります。これはJPEGで用いられる圧縮方式と同じです（JPXはJpeg2000に相当します）。このデータを抽出すると、JPEGファイルとして開くことが可能ですが、色空間データを適切に調整する必要が生じる場合があります。

この画像は、PDFコンテンツストリーム内でDOコマンドと画像名（例: Im1）を用いて描画されます。同じ画像は何度も使用されることがあり、DOコマンドを実行する際に設定される値によって拡大・縮小、回転、切り抜きなどが行われます。一見すると単一の画像のように見えるものも、実際には複数の画像で構成されているか、または画像でないこともあり得ます。

つまり、PDFから画像を抽出したい場合、提供されているすべての生データから画像を再構築する作業が必要になります。また、画像の「RAW」バージョン（より高解像度で、元のサイズを保持している場合もある）と、画像の切り抜きや拡大縮小されたバージョンの両方が存在し、これらはどちらも抽出が可能です。

{8}------------------------------------------------

さらに、クリッピングされた画像をRAWバージョンに拡大縮小して、高解像度の画像を生成することもできます。例えば、JPedalではこの方法を用いてPDFからの切り抜き画像の抽出機能を提供しています。

PDFはその柔軟性が高く、多くの選択肢やオプションが提供されているのが特徴です。

### PDFファイルにおける色の定義

PDFでは、色の定義が多様な方法で行われます。これはPDFファイルの仕様が極めて柔軟で、多用途に対応しているためです。色を定義するさまざまな手法が開発されており、これらは色空間と呼ばれます。

たとえば、テレビやコンピュータでは、赤、緑、青の3つの基本色が用いられます。これらの色は異なる割合で混ぜ合わせられ、テレビ画面上で見る全ての色（RGB色空間）を生成します。一方で、白黒画像には1つのチャンネルのみが必要なため、グレイスケールのカラースペースが使用されます。

プリンターは一般的に、シアン、マゼンタ、イエロー、そしてキー（実際には黒）という4つのインクの組み合わせを使用してカラー印刷を行います。また、既存のインクの中から1つを選択し、一度に1色ずつ印刷する方法（Separation/DeviceN ColorSpaces）もあります。Pantoneのような、定められたインク色のスキームも存在します。

人間の目が色を認識する方法をRGBやCMYKが完全には反映していないため、PDFはLAB ColorSpaceにも対応しています。これは明度値と赤/緑、黄/青の値を含む3つの要素で構成されています。

PDFでは、ICCプロファイル（ICC ColorSpace）に基づいたColorSpaceを作成することも可能です。通常、PDFファイルにはColorSpaceを定義するICCファイルが埋め込まれています。PDFがデジタル、印刷、その他のさまざまな環境で使用され、多種多様なコンテンツに対応するため、PDF仕様では、使用されるプロセスやファイルの使用方法によって最も適切かつ自然な色の表現方法を選択することができます。

### 色変換

PDFが表示される際、ソフトウェアは色を適切な形式に変換する方法を見つける必要があります。たとえば、CMYKを使用した印刷用PDFをRGBのコンピュータ画面で表示する場合などです。

色の変換は簡単な作業ではなく、簡素な数式を使用する場合もあれば、プロファイルと呼ばれるより複雑な変換テーブルを使用する場合もあります。計算式が存在しても、そのバージョンによって得られる結果は異なり、変換方法には高速だが近似的なものと、より正確だが時間を要するものがあります。

{9}------------------------------------------------

PDFツールはそれぞれ、自身の要件に最適なバランスを見つける方法を選ぶ必要があります。例えば、Xpdfは通常CMYKを扱う際に数式を使用するため、プロファイルを利用するAdobe Acrobatと比較して、黒や白の色合いが違って見えることがあります。

色を変換する上で最も正確な方法は、プロファイルの使用です。私たちがJava PDFビューアのカラー処理コードを開発した際には、PDFファイルの全ての色をJavaで扱えるsRGBに変換する必要がありました。できる限り、Adobe Acrobatの処理に近いプロファイルを使用することが望ましいです。

### PDF ファイルでは、テキストはどのように保存されるのですか？

PDFファイルでは、テキストはフォントオブジェクトと一連のTJコマンドによって定義されます。ですから、コマンド・ストリームには次のようなものがあります。

|                     |                                                                       |                                                                                      |
|---------------------|-----------------------------------------------------------------------|--------------------------------------------------------------------------------------|
| Tf (Text font) コマンド | 目的：                                                                   | テキストのフォントとサイズを設定します。                                                                 |
|                     | 構文例：                                                                  | /フォント名 サイズ Tf。例えば、/F1 12 Tfは、フォントF1をサイズ12で使用することを指定します。                              |
| F1                  | 特定のフォントを指示するために使用される識別子です。PDF内でフォントリソースに名前を割り当てる際に使用され、Tfコマンドで参照されます。 |                                                                                      |
| TJ (Text show) コマンド | 目的：                                                                   | テキスト文字列をPDFページに表示します。文字間隔を微調整するために配列を使用できます。                                         |
|                     | 構文例：                                                                  | (文字列) -間隔 (文字列) ... ] TJ。例えば、[[こんにちは、) -120 (世界！)] TJは、「こんにちは」と「世界！」の間に特定の文字間隔を設定します |

Tfコマンドは、リソースオブジェクト内でF1として定義された特定のフォントオブジェクトの使用を指示します。このフォントオブジェクトはフォントの名前、グリフの幅、エンコーディングなどの詳細を含みます。

一方、TJコマンドは使用するグリフの番号を列挙します。**これは単なるテキスト値ではなく、グリフを識別するインデックスを含んでいます。**多くの場合、特にWINエンコーディングを使用している場合、これらの値はASCII値と一致することがありますが、必ずしもそうではありません。そのため、解釈する際はフォントの特定のエンコーディングを考慮に入れる必要があります。

フォントのエンコーディングオブジェクトは、特定の値を文字に変換する方法を指定します。これはPDFリファレンス仕様の付録Dで定義されており、また、独自のカスタムエンコーディングを/Differencesオブジェクトを使って作成することも可能です。さらに、テキスト抽出用に異なるUnicode値を指定することもできます。これは特に、画面上では1文字として表示されるが抽出時には2文字として扱いたい合字 (例: fl) の場合に便利です。

一般的に、テキスト抽出時にはUnicode値が使用されます。

{10}------------------------------------------------

### 日本語特有の問題は？

PDFファイルで日本語テキストを扱う際には、Tf (Text font) コマンド、F1 (フォント識別子)、TJ (Text show) コマンドを使用する上で、特有の問題や注意点がいくつかあります。

|         |                                                                                                           |
|---------|-----------------------------------------------------------------------------------------------------------|
| フォントの選択 | 日本語テキストを正しく表示するためには、日本語の文字をサポートするフォントを使用する必要があります。PDF文書では、フォントは埋め込まれるか、または文書を表示するシステムにインストールされている必要があります。 |
| 文字間隔の調整 | 日本語では、文字間隔（カーニング）の調整が英語よりも複雑になることがあります。特に、漢字、ひらがな、カタカナを混在させる場合、視覚的なバランスを保つために細かい調整が必要になることがあります。          |
| 縦書きテキスト | 日本語では縦書きが一般的です。PDFでは、縦書きテキストの表示もサポートされていますが、これを実現するためには追加の設定や特定のフォントの使用が必要になる場合があります。                     |

これらの点を考慮してPDF文書に日本語テキストを含めるときは、適切なフォント選択と文字間隔の調整に注意を払う必要があります。また、PDF生成ツールやライブラリが日本語の特性を適切にサポートしているかを確認することも重要です。

当社のJPedalは、JavaベースのPDFライブラリで、PDF文書の表示、変換、印刷など幅広い機能を提供します。特に日本語PDFに対しても強力なサポートを備えており、日本語テキストの正確な表示や編集、フォントの埋め込みに対応しています。縦書きテキストや複雑な文字間隔の調整など、日本語特有のレイアウトニーズにも柔軟に応えることができるため、日本語文書を扱う開発者や企業にとって非常に有用です。製品やサポートに関する詳細情報は、[JPedalの公式サイト](#)や[サポートポータル](#)で確認できます。

PDFにおけるテキストの構造図 - 画像生成AIで作成

![A complex, hand-drawn style diagram illustrating the structure of text in a PDF. At the center is a large yellow circle with the letter 'F'. Surrounding it are various elements: 'TF' in a blue box, a music note icon, 'Font 12 F fext', a document icon with a bird, 'Ste F11 tn', a speech bubble with '</>', a computer monitor, 'F12', 'commase T12', a Windows logo, 'Indronbiaible Hito-Fo 12', 'Hello Fuxt', and '3. Hello World to demonstrate'. There are also smaller text labels like 'Tex {fetrng select', 'Fext Strings', 'Font indiestifation', and 'F1 1'. Arrows connect these elements to the central 'F' and to each other, creating a web-like structure.](8e14350b4b669119a3bdfca7869110ca_img.jpg)

A complex, hand-drawn style diagram illustrating the structure of text in a PDF. At the center is a large yellow circle with the letter 'F'. Surrounding it are various elements: 'TF' in a blue box, a music note icon, 'Font 12 F fext', a document icon with a bird, 'Ste F11 tn', a speech bubble with '', a computer monitor, 'F12', 'commase T12', a Windows logo, 'Indronbiaible Hito-Fo 12', 'Hello Fuxt', and '3. Hello World to demonstrate'. There are also smaller text labels like 'Tex {fetrng select', 'Fext Strings', 'Font indiestifation', and 'F1 1'. Arrows connect these elements to the central 'F' and to each other, creating a web-like structure.

{11}------------------------------------------------

## PDF内のフォント管理とその実装

PDFファイルでは画像、ベクターグラフィックス、テキストを取り扱うことができ、テキストには任意のフォントを適用することが可能です。全てのPDFビューアには、Times、Helvetica、Courier、Symbol、Zapf Dingbatsといった5つの標準フォントファミリが組み込まれており、これらはどの文書にも使用できます。

別のフォントを使用する場合、以下の3つの方法があり、これらはPDF作成ツールで設定されます：

1. 単にフォント名を指定し、それがユーザーのマシンに存在することを期待する。存在しない場合は、標準フォントに置き換えられます。
2. フォントをPDFファイルに埋め込む。これはフォントデータをPDFに直接含めることを意味し、どのマシンでも正確なフォント表示が保証されます。ただし、フォントのサイズが大きい場合、PDFファイルのサイズが膨大になる可能性があります。
3. フォントを埋め込み、サブセット化する。これは使用される文字のみのフォントデータをPDFに含める方法です。例えば、「THE CAT SAT ON THE MAT」という文が含まれるPDFを作成する場合、T、H、E、C、A、S、O、N、Mといった文字のみのフォントデータを埋め込みます。これにより、ファイルサイズを抑えつつ、PDFが期待通りに表示されることを確実にします。

### PDF内で使用されるフォントの種類と特徴

PDFファイルでは、いくつかの異なる種類のフォント技術を使用することができます。

|                              |                                                                                                                                                                                                  |
|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Type 1                       | Type 1フォントは、Adobeによって開発されたベクターベースのフォント形式です。これは、曲線や直線を数学的な式で表現し、どんなサイズにも適応できるようにします。非常に高い印刷品質を提供しますが、現代のPDFファイルでは少し古い形式と見なされることがあります。見た目は比較的「粗い」ものとなることが多く、テキスト値の抽出が難しい場合があります。                   |
| Type 3:<br>Postscript(Type1) | ポストスクリプトプログラムを使って個々の文字を定義するフォントです。Type 1フォントよりも柔軟性がありますが、品質が一貫しないことがあります。Type 3フォントでは、カラー画像やシェーディングパターンもフォントの一部として定義でき、テキスト値の抽出が可能です。                                                            |
| TrueType                     | AppleとMicrosoftによって、特許を持つAdobeのPostscriptに代わるものとして開発されました。ベクターベースで、画面表示と印刷の両方で高品質なテキストを提供します。TrueTypeフォントは、フォント自体とスクリーン用のヒンティング情報を一つのファイルに組み込むことができ、テキスト値の抽出が可能です。Windowsのデフォルトフォントとして広く使われています。 |
| OpenType                     | PostscriptとTrueTypeの長所を統合したフォント技術で、AdobeとMicrosoftが共同で開発したフォント形式です。TrueTypeとType 1の両方の特性を組み合わせており、さらに拡張機能を持っています。これには、広範囲の文字セットサポートや高度なタイポグラフィ機能が含まれます。テキスト値の抽出が可能です。                            |

{12}------------------------------------------------

### PDFフォームの基本と機能

PDFファイルにインタラクティブなボタン、チェックボックス、テキスト入力フィールド、ラジオボタンなどが含まれていることはありませんか？これらはPDFフォームの要素です。

[FormVuのウェブサイト](#)では、PDFフォームの具体的な例を確認することが可能です。

Image: A screenshot of a PDF form for 'La Costeña' restaurant. The form includes a header with menu items like Tamales, Burritos, Tacos, Quesadillas, and Soft Drinks. It features a 'Variety' dropdown (set to 'Soft Taco'), a 'Quantity' input (set to '1'), and a 'Size' dropdown (set to 'Chico'). Below this is a 'FIRE PIC HOT PIC SOFT TOMATILLO CAL MILD NONE' scale with icons for chili, tomato, and meat. There are also dropdowns for 'Whole' and 'Lengua (Beef Tongue)'. The form includes text input fields for 'Name' (filled with 'Brendan'), 'Phone' (filled with '123456'), and 'Comments' (filled with 'Sample Acrobat form'). The footer lists the address 'Corner of Old Middlefield Way and Rengstorff, Mt. View (415) 967-0507'.

PDFフォーム例

これはPDFファイルフォーマットの中で我々が特に気に入っている機能の一つで、ドキュメントをインタラクティブにし、よりユーザーフレンドリーにします。データ収集、注文処理、請求書の作成などに大変便利です。これらのデータは、ドキュメントの一部として保存したり、サーバーに送信することも可能です。

### PDFフォームの2つの異なる技術：ACROFORMSとXFA

PDFフォームには、AcroFormsとXFAという2つの異なる技術があります。これらは技術的に大きく異なり、多くのPDFライブラリはXFAをサポートしていません。

1. AcroFormsはより歴史のある形式で、標準的なCOSオブジェクト形式でデータを格納します。
2. XFA (XML Forms Architecture) はXMLベースの代替フォーマットです。ドキュメントにAcroFormsとXFAの両方のバージョンを含むレガシーモードも存在します。

AcroFormsはオリジナルのフォーマットで広範なサポートがあります。一方、XFAはより新しいフォーマットで、現在は非推奨とされPDFファイルフォーマットからは削除されていてAcroFormsほど広範にサポートされていません。XFAの処理にはAdobe LiveCycleが必要で、iTextや私たちのFormVuコンバータでも処理が可能です。どちらのフォームもボーダーや色など期待される機能を持ち、各々に特有のアクションが定義されており、例えば2つの値を加算したり、合計フィールドに入力するなどの操作が可能です。

![Icon of a pencil inside a circle, indicating a tip or note section.](643a03f80557fbb424bbda84a71d67e8_img.jpg)

Icon of a pencil inside a circle, indicating a tip or note section.

#### FormVuについて <https://www.idrsolutions.com/formvu/>

FormVuは、当社が提供するツールで、PDFフォームをインタラクティブなHTML5フォームに変換します。これにより、ウェブブラウザでPDFフォームを表示・編集でき、開発者はワークフローへの統合を容易に行えます。変換・ホスティングは自社サーバーで行われるため、データの安全性が高まります。FormVuは、モバイルからデスクトップまで、あらゆるデバイスでPDFフォームの外観と機能を維持した使用を可能にし、AcroFormsやXFAフォームを含むすべてのフォームタイプをサポートします。

{13}------------------------------------------------

## よくある質問

### なぜPDFファイルを開いて編集できないのでしょうか？

人々は時々、テキストエディターでファイルを開いてPDFファイルを編集しようとします。これがうまくいくことは、3つの理由から、ほとんどありません。

第一に、PDFファイルは事実上PDFオブジェクトのダンプです。ファイルには、ファイルの先頭からの各オブジェクトの正確なバイトオフセット位置を示す参照テーブルと、参照テーブルが含まれています。文字を追加したり削除したり、あるいは行末をあるプラットフォーム・フォーマットから別のフォーマットに変換するエディターから再保存したりすると、これらの数値はすべて不正確になります。すべてを更新する必要がある。その証拠に、PDFを開いてスペースを入力し、保存してから開いてみてください。

第二に、PDFファイルを開くと、データの多くがバイナリ・ストリームの中に保存され、その中でデータは暗号化されたり圧縮されたりしています。PDFを表示すると、テキストも表示されますが、理解できない「ゴミ」がたくさん表示されます。これがバイナリデータです。編集することはできませんが、文字を追加するだけで簡単に壊すことができます。

PDFをテキストエディタで開く

![Screenshot of a text editor showing the raw content of a PDF file (awjune2003.pdf). The content includes PDF objects, streams, and various binary-like characters.](b41462205b7f30612a01df2f852e3289_img.jpg)

```

%PDF-1.5
%,,e"
1 0 obj<</Type/Font/BaseFont/Helvetica/Subtype/Type1/Encoding/
WinAnsiEncoding>>
endobj
2 0 obj <</Filter/FlateDecode/Length 10>>stream
xú+Z0|
endstream
endobj
3 0 obj <</Filter/FlateDecode/Length 78>>stream
xúS%*%r
.2Pjft."àLCÔê4.Cwò'ÇtôÇç P$óKC$!ldÇU&Á-!z3-f
aê!H-E!Á\fl
endstream
endobj
4 0 obj<</Type/Page/TrimBox[0 -0.08 648 776.079956]/Contents 5 0 R/Parent
6 0 R/BleedBox[-6 -6.08 654 782.079956]/Resources 7 0 R/CropBox[0 0 648
776]/Rotate 0/MediaBox[0 0 648 776]>>
endobj
5 0 obj <</Filter/FlateDecode/Length 2689>>stream
Há<Wer,,6jWt-T*,tN2µµ)çLêJlyVixE<pd/RBQêDl"cpX0°H;3U0°"]% -
EÓ"}j0G0wIqE6&1z:zfñms?@+Q;VJw&i"é5U!>hgYb<xhç*_‘É72!Σz&ó°0°ùSL0$*Z3+
$EB#5 viOPé6ñi0%oufthc-B&ñ
  
```

最後に、PDFデータの多くは、ファイル内の他のデータと関連して見る必要があります。テキストはフォントオブジェクトのエンコーディングを見ることでしか意味をなさないし、画像はそのデータの一部がXObjectにあり、一部がColorSpaceオブジェクトにある、といった具合です。

HTML、JavaScriptやほとんどのソースコードのようないくつかのファイル形式は、テキストエディタで簡単に編集することができます。PDFファイル形式はそのようなものではありません。このような複雑さを解消してくれるライブラリを使ってアクセスするのがベストです。幸いなことに、最も一般的な言語すべてに対応するツールが、無料・商用ともにたくさんあります。

{14}------------------------------------------------

### 使用されているPDFバージョンを調べるには

PDFファイルのバージョンを確認するには、ファイルの仕様と対応する機能を理解する必要があります。たとえば、バージョン1.6ではファイルサイズを小さくする新たな圧縮方法が導入されました。最新バージョンである2.0は、旧バージョンをサポートしていないライブラリでは正しく機能しないことがあります。特定のPDFレンダラー（例えばSunのJava PDF Renderer）は、バージョン1.6以上の特定の機能をサポートしていないため、対応するPDFファイルの表示に問題が生じることがあります。

PDFファイルを正確に表示するには、そのバージョンをサポートするソフトウェアが必要です。例えば、Acrobatでは、ソフトウェアのバージョンがPDFファイルのバージョンより1つ高い場合に対応しています（例:Acrobat 9は1.8までのすべてのバージョンをサポートしていますが、Acrobat 8は1.7までしかカバーしていません）。Acrobatのバージョンは環境設定ウィンドウから確認できます。この文書の場合、PDFファイルはバージョン1.3なので、少なくともAcrobat 4.0が必要となります。

ほとんどのPDFツールには、このような情報を表示するウィンドウがあります。

AcrobatのPDF環境設定ウィンドウ

![AcrobatのDocument Propertiesウィンドウのスクリーンショット。Descriptionタブが選択されており、PDFバージョンが1.3 (Acrobat 4.x) と表示されています。](ace13edeb79bdfa129ed84fbb4ac44e5_img.jpg)

AcrobatのDocument Propertiesウィンドウのスクリーンショット。Descriptionタブが選択されており、PDFバージョンが1.3 (Acrobat 4.x) と表示されています。

JPedalのPDF環境設定ウィンドウ

![JPedalのDocument Propertiesウィンドウのスクリーンショット。Propertiesタブが選択されており、PDF 1.3 (Linearized) と表示されています。](15ee1fd7e4011d0d5dcb11b291fb91d7_img.jpg)

JPedalのDocument Propertiesウィンドウのスクリーンショット。Propertiesタブが選択されており、PDF 1.3 (Linearized) と表示されています。

PDFファイルをテキストエディタで開くことで、そのバージョンを確認することが可能です。ファイルの大部分の内容は読み取りにくいものに見えるかもしれませんが（**ファイルを破損する可能性があるため、再保存してはいけません**）が、ファイルの最初の行には常にバージョン情報が記載されています。

このアプローチは、PDFファイルのバージョンを確認する必要があるプログラムを作成する際に特に有用です。ファイルの最初の行を読むだけでバージョン情報を得ることができます。

PDFファイルをテキストエディタで表示

![テキストエディタで開かれたtheinsubordinatebook.pdfのスクリーンショット。最初の行に%PDF-1.3と表示されています。](1e9fc8e561a3ee72410680d44728ba60_img.jpg)

テキストエディタで開かれたtheinsubordinatebook.pdfのスクリーンショット。最初の行に%PDF-1.3と表示されています。

{15}------------------------------------------------

PDFファイルを作成する際にもバージョンの選択は重要な検討事項です。多くのPDF作成ツールでは、特定のバージョンをターゲットとして設定することが可能です。例えば、バージョン1.8に含まれる追加機能が本当に必要ですか？バージョン1.4を使用した場合、PDFは外観上同じに見えますか？これらの点を考慮することは、ファイルの互換性と効率性を高めるために重要です。

2026年現在、PDF 2.0 (ISO 32000-2:2020) が最新の公式標準です。新規プロジェクトではPDF 2.0への対応を検討することが推奨されます。ただし、既存の多くのPDFビューアやライブラリはPDF 1.7 (ISO 32000-1:2008) をベースとしているため、互換性を考慮したバージョン選択が引き続き重要です。

### PDFオブジェクトの内部表示と解析はどうしたら可能ですか？

PDFファイルの開発や解析を行う際には、ファイルの内部構造を詳細に調べる必要があります。PDFファイルは複雑なアスキーとバイナリの形式を採用しているため、通常のエディタでは適切に表示することができません。そのため、PDFのファイル構造を理解し、生データを解析できる専用ツールの使用が不可欠です。

PDFファイルのデータにテキストエディタで直接アクセスすることもできますが、以下のようにファイル構造がわからなくなり、非常にわかりにくくなります。

#### サンプルとして利用したPDF

![A screenshot of a web browser displaying a National Geographic article titled 'Some things never change'. The article text discusses the biological and cultural significance of the iguana, mentioning its ancient lineage, its role as a food source for indigenous people, and its current status as an invasive species in Florida. The article includes a large photograph of a cooked iguana on a plate with garnish.](0656422bf374a8a7bcc6fe99adc48599_img.jpg)

A screenshot of a web browser displaying a National Geographic article titled "Some things never change". The article text discusses the biological and cultural significance of the iguana, mentioning its ancient lineage, its role as a food source for indigenous people, and its current status as an invasive species in Florida. The article includes a large photograph of a cooked iguana on a plate with garnish.

A screenshot of a web browser displaying a National Geographic article titled 'Some things never change'. The article text discusses the biological and cultural significance of the iguana, mentioning its ancient lineage, its role as a food source for indigenous people, and its current status as an invasive species in Florida. The article includes a large photograph of a cooked iguana on a plate with garnish.

PDFファイルをエディタで開き上記画像部分を表示

Image: Screenshot of a PDF viewer showing a corrupted or heavily encoded PDF file named 'awjune2003.pdf'. The viewer displays a warning about non-basic ASCII unicode characters and a large block of garbled text.

The image shows a screenshot of a web-based PDF viewer. At the top, a blue banner indicates 'Restricted Mode is intended for safe code browsing. Trust this window to enable all features.' with 'Manage' and 'Learn More' links. Below this, the file name 'awjune2003.pdf' is displayed in a breadcrumb: 'awjune2003.pdf > Downloads > awjune2003.pdf'. A blue warning box states: 'This document contains many non-basic ASCII unicode characters. Disable Non-ASCII Highlight'. The main content area shows a large block of garbled text, likely the raw stream of a corrupted or heavily encoded PDF. The text includes various symbols, numbers, and characters like '88 0 obj', '0000', '000000', '00000000000000000000000000000000', and '00000000000000000000000000000000'. The viewer's interface on the left includes icons for navigation and viewing options.

{16}------------------------------------------------

### RUPS

RUPSはiTextの開発チームが提供する無料ツールで、PDFファイルを開き、その中の実際オブジェクトデータを確認することができます。このツールはGUIベースのフロントエンドを持ち、ユーザーがPDFオブジェクトを詳細に掘り下げることを可能にします。PDFファイルを扱うソフトウェアの開発者や、PDFの内部構造を理解する必要がある人にとって、RUPSは時間の節約に大いに役立ちます。

iText RUPSは現在カレンダーバージョンingを採用しており、最新版はiText RUPS 26.01です。Brotli圧縮のサポートなど、PDF 2.0対応の機能強化が行われています。

RUPSについての詳細情報やダウンロードは、[RUPSの公式ホームページ](#)からアクセスできます。

RUPSではこのように表示されます。ここではページのメイン画像であるXObjectを見ています。ご覧のように多くのタブがあり、PDFオブジェクトを様々な方法で見ることができます。右下には画像が表示され、左側にはすべての辞書情報が表示されています。

## RUPSでサンプルのPDFの内部を見る

{17}------------------------------------------------

### JPEDALビューア

当社のJPedalビューアにもPDFファイルを検査するモードが導入されています。この機能は、トライアル版と製品版の両方で利用可能です。トライアル版は無料で提供され、製品版と同じ機能を試用することができます。

JPedalでサンプルのPDFの内部を見る-Object Viewer

![Screenshot of the JPedal Object Viewer showing the internal structure of a PDF file (awgune2003.pdf). The left pane displays a tree view of objects, and the right pane shows the raw PDF object code for the selected object (191 0 obj).](8b4950bfee921d4b61936f6830644edf_img.jpg)

The screenshot shows the 'Object Viewer' window. On the left, a tree view of the PDF structure is visible, including objects like 'Catalog', 'Outlines', 'Pages', and 'Metadata'. The right pane displays the raw PDF object code for the selected object, which is a stream object with a FlateDecode filter.

Screenshot of the JPedal Object Viewer showing the internal structure of a PDF file (awgune2003.pdf). The left pane displays a tree view of objects, and the right pane shows the raw PDF object code for the selected object (191 0 obj).

クロスリファレンスの表示

![Screenshot of the JPedal Xref Viewer showing the cross-reference table for a PDF file. The left pane lists object numbers and their corresponding byte offsets, and the right pane shows the raw PDF object code for the selected object (21 0 obj).](06eef9cc3970450903c158ec25346d21_img.jpg)

The screenshot shows the 'Xref Viewer' window. The left pane lists object numbers and their corresponding byte offsets, ranging from 10 @ 15 to 250 @ 81617. The right pane displays the raw PDF object code for the selected object (21 0 obj), which is an XObject (Image) with a DCTDecode filter.

Screenshot of the JPedal Xref Viewer showing the cross-reference table for a PDF file. The left pane lists object numbers and their corresponding byte offsets, and the right pane shows the raw PDF object code for the selected object (21 0 obj).

{18}------------------------------------------------

さらに、JPedalビューアには、PDFコンテンツストリームを確認し、デバッグするためのユニークな機能も搭載されています。

特定のコマンドでデコードを一時停止

![Screenshot of the JPedal PDF viewer showing a PDF page with a quote and a photo of food. The right pane displays the PDF content stream with commands like 'TJ', 'Tstar', and 'Tw' visible. Some lines are highlighted in red, indicating specific commands or data segments.](78ebfe3116918cd317b54c861da8d8d2_img.jpg)

The screenshot shows the JPedal PDF viewer interface. The main window displays a PDF page with the title 'Some things never change' and a quote by Patrick age 10. The right pane shows the raw PDF content stream, which includes commands like 'TJ' (Text Justification), 'Tstar' (Text State Reset), and 'Tw' (Text Word Spacing). There are also numerical values associated with these commands, such as 'data=75.10611 606.0,491.64502 596.1' for 'TJ'. Some lines in the stream are highlighted in red, likely to show specific command sequences or data blocks.

Screenshot of the JPedal PDF viewer showing a PDF page with a quote and a photo of food. The right pane displays the PDF content stream with commands like 'TJ', 'Tstar', and 'Tw' visible. Some lines are highlighted in red, indicating specific commands or data segments.

特定のコマンドでPDFファイルのデコードを一時停止することができます。これは、スライダー、カセットボタン、またはテキストフィールドを使用して実行できます。各コマンドは、右側のペインで青くハイライトされます。関連するデータは、そのコマンドの上に表示されます。

コマンドを選択してブレークポイントを設定することもできます。ブレークポイントは赤いボックスで表示されます。コマンドペインの下にある再開ボタンは次のブレークポイントに進みます。右端のボタンはすべてのブレークポイントをクリアします。

JPedalの[サポートページ](#)ではさらに詳しい情報をご覧いただけます。またソフトウェアのトライアル版のダウンロードが可能です。

#### JPedalのビューア機能の特徴

- クロスリファレンスを表示
- 特定のコマンドでデコードをポーズする機能
- オブジェクトツリーの表示
- オブジェクトのハイライト表示
- 画像を見る
- ストリームを表示する

{19}------------------------------------------------

### なぜPDFのテキスト抽出には 問題が多いのでしょうか？

PDFファイルのテキスト抽出は、よく混乱を招くトピックです。PDFは、文書を表示する効果的な手段として広く利用されており、適切に設定されていれば、意図した通りに正確に表示されます。これは、例えばMicrosoft Wordでフォントが不足している場合に見られるような、書式の混乱がないことを意味します。PDFは安全で、自己完結型であり、さまざまなプラットフォームで利用できるのが特徴です。

問題はテキスト抽出にあります。人々はテキストのレイアウトを目で捉えます。人間はページ上の流れを理解するのに長けているため、この情報がPDFファイルに明確に含まれていると誤解しがちです。

実際には、PDFファイルはベクターグラフィックの一形態で、図形、画像、テキストを描画するためのコマンドを含んでいます。重要なのは最終的な結果が正しく表示されることです。多くの場合、テキストは正しい順序で配置されますが、これは保証されていません。PDFの仕様には標準化された方法が定められていないためです。

例えば、表などの複雑な構造が見られるのは、それが完成した文書上で私たちの脳によって認識されるからであり、PDF自体には特定の位置に文字列を描画するコマンドの集合以上のものは含まれていません。

以前、明らかにプロッターとして生まれたツールで作成されたPDFファイルが送られて来ました。プロッターの場合、最も時間がかかるのはペンを変えることなので、可能な限り、まず黒い線をすべて描いてからペンを変えるようにします。このPDFでは、ページ上の太字のテキストが最初にすべて描かれ、残りのフォントはフォント毎に文字が描かれていました。見た目は完璧ですが、中身はとても乱雑でした。

PDFファイルからテキストを抽出することはできますが、これらの可能性をすべて考慮しなければなりません。アルゴリズムを一般的にすればするほど、その能力は低下します。私たちのソフトウェアでは、以前、特定のタスク（キーワード、表、フローテキストなど）に焦点を当てたソリューションを提供することを試みました。

PDFファイルを作成し、テキストを抽出したい場合は、Adobeの構造化コンテンツ機能を使用する必要があります。この機能には、PDFにタグ付けされた情報が含まれており、ページの完全なXMLバージョンを抽出することが可能です。

そうでなければ、PDFは基本的にベクターグラフィックであり、完璧に構造化されているように見えるかもしれませんが、その構造はおそらくあなたの脳が画像として認識したものであり、ファイルの中にあるものではないことを覚えておいてください。

{20}------------------------------------------------

### PDFファイルはどのように保護されているのですか？

PDFファイルを保護して、誰にでも簡単にアクセスできないようにすることが可能です。この保護は、暗号化技術により実現されます。- PDFのデータバイトは特定のユニークなキーを使ってスクランブルされます - この結果、PDFの内容を閲覧するためには、その暗号を解除するための正確なキーが必要となります。

これは、キーがファイルの中にあるのではなく、ファイルの基本的な構造に組み込まれているため、バイパスしたり探したりするのが非常に困難な、賢い方法です。すべてのPDFオブジェクトのキーは、キーだけでなくオブジェクト番号も使用するため、オブジェクトごとに微妙に異なります。このため、クラッキングは非常に難しくなります。

このキーは通常パスワードです（**オーナーパスワードとユーザーパスワード**の2種類があります）。どちらを使ってもかまいませんが、オーナーパスワードはフルコントロールが可能で、ユーザーパスワードはより限定的なコントロールが可能です。もちろん、人は推測することができますので、PDFは選んだパスワードと同じ程度にしか安全ではありません！

また、証明書を使用してPDFファイルを保護することもできます。これは、[keytool](#)のようなツールを使用して生成される電子パスワードの一種です。これを使用してPDFデータを暗号化し、アクセスしたい人にコピーを送信します。証明書はあなたのマシン上の隠しディレクトリに保存され、以下のようにJavaで直接アクセスすることができます。

```
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());  
keystore.load(new FileInputStream("c:\\keystorePath\\.keystore"), password);  
PrivateKey key = (PrivateKey) keystore.getKey(nameOfCertificate, password);
```

[Keystoreクラスの説明](#)はこちらにあります。

このように、PDFファイルへのアクセスを、パスワードを知っている人か、PDFファイルを暗号化するために使用した証明書のコピーを持っている人に制限することができます。これにより、誰でもファイルにアクセスできなくなります。

{21}------------------------------------------------

## 2026年のPDFトレンド

PDF技術は2026年において、以下のような重要なトレンドの中にあります。

### AI統合の加速

PDF処理へのAI技術の統合が急速に進んでいます。OCR（光学文字認識）の精度向上、AIを活用したメタデータの自動抽出、インテリジェントなドキュメント分類など、PDFワークフローの自動化が大きく進展しています。企業の67%以上がPDF処理にAI技術を何らかの形で活用しているとされています。

### クラウドベースのドキュメント処理

オンプレミスからクラウドベースのPDF処理への移行が加速しています。SaaS型のPDF変換・操作サービスの利用が増加し、スケーラブルなドキュメント処理パイプラインの構築が容易になっています。

### アクセシビリティ標準の強化

2024年3月にPDF/UA-2（ISO 14289-2）が正式発行されたことにより、PDFのアクセシビリティ対応がこれまで以上に重要になっています。欧州アクセシビリティ法（European Accessibility Act）の施行も2025年に予定されており、PDF文書のアクセシビリティ準拠は法的要件としても注目されています。

### 電子署名とデジタルトラスト

電子署名の普及率は95%を超え、PDF文書への電子署名は標準的なワークフローとして定着しています。eIDAS 2.0規制の進展により、欧州を中心にデジタル署名の法的枠組みがさらに整備されています。

## PDF市場の成長

グローバルPDF市場は2026年時点で約47億米ドル規模と推定されており、今後も年率約10%の成長が見込まれています。モバイルデバイスでのPDF利用、IoTデバイスとの統合など、PDFの活用範囲は拡大を続けています。

{22}------------------------------------------------

## お役立ちリンク

### Wikipedia PDFページ

日本語版サイト [https://ja.wikipedia.org/wiki/Portable\\_Document\\_Format](https://ja.wikipedia.org/wiki/Portable_Document_Format)

英語版サイト <https://en.wikipedia.org/wiki/PDF>

### PDFリファレンスガイド

PDF Reference, version 1.7

<https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/pdfreference1.7old.pdf>

PDF 2.0 Document

<https://pdfa.org/resource/iso-32000-pdf/>

### PDF Association

<https://pdfa.org/>

### Acrobat SDK (Software Development Kit)

<https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/toc.html>

### IDRSolutions ウェブサイト

製品ページ <https://www.idrsolutions.com/>

サポートページ <https://www.idrsolutions.com/docs/>

ブログ <https://blog.idrsolutions.com/>

### インターワーク ウェブサイト

製品ページ

BuildVu <https://www.intwk.co.jp/products/buildvu>

JPedal <https://www.intwk.co.jp/products/jpedal>

JDeli <https://www.intwk.co.jp/products/jdeli>

サポートページ

BuildVu <https://idr-portal.intwk.co.jp/ja/buildvu/>

JPedal <https://idr-portal.intwk.co.jp/ja/jpedal/>

JDeli <https://idr-portal.intwk.co.jp/ja/jdeli/>

ブログ <https://www.intwk.co.jp/blog>

{23}------------------------------------------------

### IDR製品 販売代理店・開発会社 会社概要

### 株式会社インターワーク - IDR Solutions 日本総代理店

![INTERWORK logo](c613ca237231251d524291a877d91f7a_img.jpg)

INTERWORK logo

インターワークは1990年の創業以来、最新テクノロジーをリーズナブルで使いやすいかたちに商品化することで、お客さまの企業価値を高めてまいりました。Web & ITソリューション事業の一環として、海外の優秀な業務ソフトウェアを見つけ、日本向けにローカライズして販売しています。法人向けツールの分野では、製品の品質やサポートレベルで企業から高い信頼を得ています。

### 株式会社インターワーク

〒107-0061 東京都港区北青山3丁目6番7号 青山パラシオタワー11階

資本金 1500万円

設立 1990年10月1日

ISMS 適用規格 ISO/IEC 27001:2013 (JIS Q 27001:2014) 認証登録番号: ISMS6001

※本認証は、JISSA（日本情報セキュリティ推進協会）のコーポレートグループ認証（団体認証）の仕組みにより認証取得しております。

電気通信事業届出番号 A-20-10022

<https://www.intwk.co.jp/>

![ISCT and JAS-ANZ certification logos](42984972f322f3db6c384a0b630d1947_img.jpg)

ISCT and JAS-ANZ certification logos

### IDR Solutions Limited

![IDR Solutions logo](d63dcf9b188f03572093f2f604d7b8ed_img.jpg)

IDR Solutions logo

IDR  
SOLUTIONS

IDRsolutionsは英国で1999年、マーク スティーブンス によって創設されました。同社は、The TimesやThe Sunなどの英国最大の新聞の一部をオンラインで閲覧するソフトウェアを開発しました。これらのソフトウェア開発は、PDFなどのファイルを扱う4つの製品群（JPedal、JDeli、BuildVu、FormVu）に発展しました。IDRsolutionsのソフトウェアは世界中の企業が利用しています。

<https://www.idrsolutions.com/>

![PDF Association logo](950dbbade9ab2b5482265fb500a2e481_img.jpg)

PDF Association logo

a member of the PDF Association

{24}------------------------------------------------

PDFファイルを扱うシステム開発・ウェブ開発に役立つ

# 開発者向けPDF入門ガイド

2024年3月1日 初版発行

2026年4月1日 改訂版発行

著 書 IDR Solutions 株式会社インターワーク

発行所 株式会社インターワーク

〒107-0061 東京都港区北青山3丁目6番7号 青山パラシオタワー11階

本作品の全部あるいは一部を無断で複製・天才・公衆送信することを禁止します。  
また、有償・無償に関わらず本作品を第三者に譲渡することはできません。

Copyright © Interwork Corporation and IDR Solutions, Ltd.

本文書における「Microsoft Word」、「Microsoft Excel」、「Microsoft Windows」は、Microsoft Corporationの商標です。  
「Adobe Acrobat」は、Adobe Inc.の商標です。「Pantone」は、Pantone LLCの商標です。「Stack Overflow」は、Stack Exchange, Inc.の商標です。「RUPS」は、iText Group NVの製品です。「keytool」は、Oracle Corporationおよびその関連会社の登録商標です。「JPedal」はIDRSolutions, Ltd.の商標です。

本文書に記載されている製品名やサービス名は、それぞれの企業の商標、または登録商標である場合があります。これらの商標は、本文書での言及をもって、それらの所有者からの推薦や承認が示されるものではありません。