Splitter
SplitterはApache PDFBoxのユーティリティクラスであり、開発者が単一のPDF文書を複数の独立したPDFファイルに分割することを可能にします。
SplitterはApache PDFBoxのユーティリティクラスであり、開発者が単一のPDF文書を複数の独立したPDFファイルに分割することを可能にします。この機能は、PDF仕様 ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) に準拠した大きなPDF文書を扱う際に不可欠であり、開発者は特定のページ範囲や個別のページを新しい独立した文書として抽出できます。Splitterクラスは、PDFをどのように分割するかをプログラム的に制御する手段を提供し、JavaアプリケーションにおけるPDF操作の基本的なツールとなっています。
SplitterはApache PDFBoxライブラリが提供するJavaクラスであり、PDF文書のページツリーを複数の独立したPDF文書に分割する技術的な操作を実行します。単なるページ抽出が元のファイルへの参照を含む文書を作成する可能性があるのに対し、Splitterは完全に自己完結したPDFファイルを作成し、PDF仕様 ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) が要求する構造と整合性を維持します。Splitterは、ページ抽出ツールや文書パーサーなどの類似する概念とは異なり、ページのサブセットから完全で有効なPDF文書を作成することに特化しており、必要なすべての文書リソース、フォント、画像、メタデータが結果のファイルに適切にコピーされることを保証します。
PDF処理ワークフローに携わる開発者にとって、Splitterユーティリティはいくつかの重要なビジネス上および技術上の課題を解決します。これにより、大量の一括文書を個別のファイルに分離する必要がある文書配布ワークフローの自動化が可能になります。例えば、請求書バッチの分割やスキャンした文書の分割などです。Splitterは、PDF/UA ( Citation: N.A., 2014 (N.A.). (2014). 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標準への準拠を維持した派生文書を作成するための信頼性の高い方法を提供します。
Splitterは、
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
で定義されているPDF文書のページツリー構造を分析し、指定されたページ範囲で新しい文書インスタンスを作成することで動作します。開発者はSplitterクラスをインスタンス化し、PDDocumentオブジェクトに対してsplit()メソッドを呼び出すと、分割結果を表すPDDocumentオブジェクトのリストが返されます。このクラスは、分割ポイントを定義するsetSplitAtPage()や、特定の範囲を抽出するsetStartPage()およびsetEndPage()などの設定オプションを提供します。分割処理中、ユーティリティはフォント、フォームXObject、画像などの共有リソースをインテリジェントに処理し、含まれるページによって参照される場合にのみ、それらを宛先文書にコピーします。Tagged PDF構造
(
Citation: PDF Association, 2023
PDF Association(2023). Retrieved from
https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
)
を含む文書の場合、Splitterは抽出されるページに対応する論理構造ツリー要素を慎重に保持し、結果のファイルで文書のアクセシビリティ機能とセマンティックマークアップを維持する必要があります。
- PDDocument – Apache PDFBoxでPDF文書を表すコアクラスであり、分割操作の入力および出力として機能します
- PDFMergerUtility – 複数のPDF文書を単一のファイルに結合する補完的なユーティリティで、分割の逆操作を実行します
- PDPageTree – 文書ページを整理する内部PDF構造であり、分割操作中に走査されます
- Tagged PDF – セマンティック情報を含む構造化されたPDF形式であり、アクセシビリティを保持するために文書分割時に特別な処理が必要です
- Document Structure – PDFコンテンツの階層的な構成であり、有効性を保証するために文書を分割する際に維持する必要があります
- (N.A.) (2020)
- (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
- PDF Association (2023)
- PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
- (N.A.) (2014)
- (N.A.). (2014). 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
