1. 製品
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Java

Aspose.PDF FOSS for Java

PDF ドキュメントを Java から作成・操作します — アノテーション、フォームフィールド、ページ操作、PDF/A 準拠をサポート。MIT ライセンス。

PDF作成と操作のための無料のMITライセンス Javaライブラリ

Aspose.PDF FOSS for Java は、PDF ドキュメントの作成と操作のための MIT ライセンスの Java ライブラリです。包括的な Document クラスを中心エントリーポイントとして提供し、アノテーション、インタラクティブ フォーム フィールド、ページ操作、メタデータ、PDF/A 準拠検証をフルカバーしています。

このライブラリは、527 クラスを公開し、完全な PDF 仕様をカバーしています:DocumentPagePageCollection によるドキュメント構造;Annotation 階層を通じたアノテーション(WidgetAnnotationFreeTextAnnotationHighlightAnnotation を含む);FormButtonFieldCheckboxFieldRadioButtonField を使用したインタラクティブ フォーム;BmpDevice によるページレンダリング;および ActionRulesActionFixes を通じた PDF/A 準拠チェック。暗号化は CBC モードの AESCipher によって提供されます。

Aspose.PDF FOSS を Maven プロジェクトに追加するには、groupId org.aspose と artifactId aspose-pdf を使用します。このライブラリは Java 11 以降が必要で、完全に MIT ライセンスです。エンタープライズ機能とサポートについては、Aspose.PDF for Java — Enterprise Product を参照してください。

文書構造とページ管理

  • Document API: Document クラスを使用して新しい PDF ドキュメントを作成します。既存のドキュメントは Document(filePath) または Document(stream) コンストラクタでアクセスできます。
  • Page management: ページは PageCollection を介して追加、アクセス、変更できます。各 PageMediaBoxCropBox、回転、リソース、コンテンツ演算子を公開します。
  • Metadata: ドキュメントのメタデータは DocumentInfoXmpMetadata を介して読み書きできます。
  • PDF structure: 基礎となる PDF オブジェクトは getParser()getCatalog()getTrailer() を通じてアクセスできます。
  • Embedded files: 埋め込みファイルコレクションは getEmbeddedFiles() で管理します。

文書処理の共通シナリオ

  • PDF 生成: プログラムでドキュメントを作成し、Document を作成してページを埋め込む。
  • ドキュメント分析: 既存ファイルにアクセスし、メタデータの検査やフォームフィールドの列挙を行う。
  • ページ操作: PdfFileEditorPage API を使用して、ページのサイズ変更、回転、または順序変更を行う。
  • バッチワークフロー: サーバー側パイプラインで複数のドキュメントに対して一貫した変換を適用する。

解説とフォームフィールド

  • Annotation hierarchy: 抽象的な Annotation クラスはすべてのアノテーションの基底です; 具体的な型には WidgetAnnotationFreeTextAnnotationHighlightAnnotation、および UnderlineAnnotation が含まれます。
  • Interactive forms: Document.getForm() を介してドキュメントフォームにアクセスし、ButtonFieldCheckboxField、および RadioButtonField インスタンスを列挙または作成します。
  • Widget appearance: AppearanceCharacteristics を使用して視覚プロパティを制御します — 境界色、背景、回転、キャプション。
  • Form editing: 上位レベルのフォーム操作には FormEditorFormElement を使用します。

文書のレビューと協力

  • マークアップアノテーション: 文書にハイライト,下記またはフリーテキストのアノベーションを追加して作業をレビューする.
  • インタラクティブなフォーム: データをキャプチャするための無線ボタンを,チェックボックスを,プレッシュボタンの充填可能な文書を作成します.
  • フォームデータ抽出: サーバーサイドパイプラインの提出されたフォームフィールド値を読み取ります.
  • 保存する文書の確認と修正は ActionRulesActionFixes を使用して長期アーカイブにします.

セキュリティとコンテンツの操作

  • AES暗号化: CBCモード (AESCipher.encrypt(key, data)AESCipher.decrypt(key, data)) を使用して,データバイト配列を AESCipher で暗号化し解読します.
  • アーティファクト管理: ヘッダー,フューター,ウォーターマークおよび背景画像を ArtifactArtifactCollection API を通して識別し操作します.
  • ページのコンテンツレイアウトを PdfFileEditor.resizeContents()ContentsResizeParameters で調整する.
  • 適合確認:AnnotationRulesActionRules を使用して PDF/A規格に対する注釈および行動規則を検証します.

文書セキュリティの使用事例

  • 暗号化されたパイロード: 文書ストリームに埋め込まれたデータセクションを暗号化するために AESCipher を使用します.
  • 文書保護: 適合作業流におけるアクセス管理のセキュリティ設定を適用する.
  • ウォーターマーク:Artifactのオブジェクトを検出し管理します.
  • アーカイブコンプライアンス: ActionFixesAnnotationFixes を実行して,既存の文書が PDF/A-1b アーカイブの標準に適合するようにします.

ウィジェット注釈でドキュメントを作成する

スタイリングでウィジェット注釈を添付します. この文献は,新しい文書を作成し,ページを追加して,

try (Document doc = new Document()) ```java
try (Document doc = new Document()) {
    Page page = doc.getPages().add();
    WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(0, 0, 100, 50));
    w.getCharacteristics().setBorder(Color.fromRgb(1, 0, 0));
    w.getCharacteristics().setCaption("Submit");
    page.getAnnotations().add(w);
    doc.save("output.pdf");
}

形式を作成する

プログラムで値を選択します. この場合は,この文献を入力してください.

try (Document doc = new Document()) {
    Page page = doc.getPages().add();
    RadioButtonField radio = new RadioButtonField(page);
    radio.setPartialName("choice");
    radio.addOption("Option1", new Rectangle(50, 50, 70, 70));
    radio.addOption("Option2", new Rectangle(50, 80, 70, 100));
    doc.getForm().add(radio, 1);
    radio.setValue("Option2");
    doc.save("form.pdf");
}

文書のページサイズをチェックする

既存のドキュメントにアクセスし,最初のページのメディアボックスサイズを読み取ります.

try (Document doc = new Document("input.pdf")) {
    double width = doc.getPages().get(1).getMediaBox().getWidth();
    double height = doc.getPages().get(1).getMediaBox().getHeight();
    System.out.println("Page size: " + width + " x " + height);
}
  

サポートと学習リソース

 日本語