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

Aspose.PDF FOSS - Aspose.PDF Java 向けの FOSS

Java から PDF ドキュメントを作成および操作できます — 注釈、フォームフィールド、ページ操作、PDF/A 準拠をサポート。MIT ライセンス。

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

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

このライブラリは、527 クラスを公開し、完全な PDF 仕様をカバーしています: 文書構造は DocumentPagePageCollection によって; 注釈は Annotation 階層を通じて(WidgetAnnotationFreeTextAnnotationHighlightAnnotation を含む); インタラクティブフォームは FormButtonFieldCheckboxFieldRadioButtonField で; ページレンダリングは BmpDevice によって; そして PDF/A 準拠チェックは ActionRulesActionFixes を通じて行われます; 暗号化は CBC モードの AESCipher によって提供されます.

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

ドキュメント構造とページ管理

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

一般的な文書処理シナリオ

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

注釈とフォームフィールド

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

文書レビューとコラボレーション

  • Markup annotations: ドキュメントにハイライト、下線、またはフリーテキスト注釈を追加して、レビュー ワークフローのために。
  • インタラクティブ フォーム: ラジオボタン、チェックボックス、プッシュボタンを使用して、データ取得用の入力可能なドキュメントを作成します。
  • フォーム データ抽出: サーバー側パイプライン用に送信されたフォームフィールドの値を読み取ります。
  • アーカイブコンプライアンス: 長期アーカイブのためにドキュメントを検証および修正する際に ActionRulesActionFixes を使用します。

セキュリティとコンテンツオペレーション

  • AES encryption: AESCipher を使用して CBC モード(AESCipher.encrypt(key, data)AESCipher.decrypt(key, data))でデータバイト配列を暗号化および復号化します。
  • アーティファクト管理: ヘッダー、フッター、透かし、背景画像を ArtifactArtifactCollection APIs を使用して特定および操作します。
  • Content resize: ページコンテンツのレイアウトを PdfFileEditor.resizeContents()ContentsResizeParameters で調整します。
  • コンプライアンス検証: AnnotationRulesActionRules を使用して、PDF/A 標準に対する注釈およびアクション ルールを検証します。

文書セキュリティのユースケース

  • 暗号化されたペイロード: AESCipher を使用して、ドキュメントストリームに埋め込まれたデータセクションを暗号化します。
  • ドキュメント保護: コンプライアンスワークフローにおけるアクセス制御のためにセキュリティ設定を適用します。
  • Watermarking: ウォーターマークおよびページ装飾を表す Artifact オブジェクトを検出し、管理します。
  • アーカイブ準拠: 既存のドキュメントが PDF/A-1b アーカイブ標準に合致するように、ActionFixesAnnotationFixes を実行します。

ウィジェット注釈付きドキュメントを作成

新しいドキュメントを作成し、ページを追加し、スタイリングされたウィジェット注釈を添付します。

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");
}
```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);
}
  

サポートと学習リソース

 日本語