フォームフィールドは、PDF ドキュメントでユーザーから情報を収集するために頻繁に使用されます。場合によっては、PDF のフォームフィールドを平坦化(フラット化)する必要がある場合があります。たとえば、PDF アンケートのフォームフィールドに入力した情報を他の閲覧者が編集できないようにしたい場合などです。この記事では、Spire.PDF for Java を使用して Java で PDF のフォームフィールドをフラット化する方法を紹介します。
Spire.PDF for Java をインストールします
まず、Spire. PDF for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>10.4.4</version>
</dependency>
</dependencies>
PDF の特定のフォームフィールドをフラット化する
以下は、Spire.PDF for Java を使用して PDF ドキュメント内の特定のフォームフィールドをフラット化する手順です。
- PdfDocument クラスのインスタンスを初期化します。
- PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントを読み込みます。
- ドキュメントからフォームウィジェットのコレクションを取得します。
- PdfFormWidget.getFieldsWidget().get() メソッドを使用して、名前またはインデックスによってウィジェットコレクションから特定のフォームフィールドを取得します。
- PdfField.setFlatten() メソッドを使用してフォームフィールドをフラット化します。
- PdfDocument.saveToFile() メソッドを使用して結果のドキュメントを保存します。
- Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.fields.PdfField;
import com.spire.pdf.widget.PdfFormWidget;
public class FlattenPDFFormField {
public static void main(String[] args){
// PdfDocumentのインスタンスを作成します
PdfDocument pdf = new PdfDocument();
// PDFドキュメントをロードします
pdf.loadFromFile("サンプル.pdf");
// フォームウィジェットコレクションを取得します
PdfFormWidget formWidget = (PdfFormWidget)pdf.getForm();
// 名前で特定のフォームフィールドを取得します
PdfField form = formWidget.getFieldsWidget().get("国");
// インデックスで特定のフォームフィールドを取得します
// PdfField form = formWidget.getFieldsWidget().get(2);
// フォームをフラット化します
form.setFlatten(true);
// 結果のドキュメントを保存します
pdf.saveToFile("output/特定のフォームフィールドをフラット.pdf");
pdf.close();
}
}
PDF のすべてのフォームフィールドをフラット化する
以下は、Spire.PDF for Java を使用して PDF ドキュメント内のすべてのフォームフィールドをフラット化する手順です。
- PdfDocument クラスのインスタンスを初期化します。
- PdfDocument.loadFromFile() メソッドを使用して PDF ドキュメントを読み込みます。
- PdfDocument.getForm().isFlatten() メソッドを使用して、ドキュメント内のすべてのフォームフィールドをフラット化します。
- PdfDocument.saveToFile() メソッドを使用して結果のドキュメントを保存します。
- Java
import com.spire.pdf.PdfDocument;
public class FlattenAllPDFFormFields {
public static void main(String[] args){
// PdfDocumentのインスタンスを作成します
PdfDocument pdf = new PdfDocument();
// PDFドキュメントをロードします
pdf.loadFromFile("サンプル.pdf");
// ドキュメント内のすべてのフォームをフラット化します
pdf.getForm().isFlatten(true);
// 結果のドキュメントを保存します
pdf.saveToFile("output/すべてのフォームフィールドをフラット.pdf");
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。