フォームデータのインポートとエクスポート
Contents
[
Hide
]
このページでは、.NET 経由で Aspose.PDF for Python を使用して AcroForm データをインポートおよびエクスポートする場合の一般的なワークフローを示します。すべての操作では以下を使用します。 フォーム ファサード。
XML からフォームフィールドデータをインポートする
この方法を使用して、外部 XML データから PDF フォームに入力します。
- を作成
Form対象。 - 入力 PDF をバインドします。
- XML データファイルを開きます。
- XML データをフォームにインポートします。
- 更新した PDF を保存します。
from io import FileIO
import aspose.pdf as ap
def import_data_from_xml(input_file_name, data_file_name, output_file_name):
form = ap.facades.Form()
form.bind_pdf(input_file_name)
with FileIO(data_file_name, "r") as f:
form.import_xml(f)
form.save(output_file_name)
フォームフィールドデータを XML にエクスポートする
このメソッドは、PDF ドキュメントから XML にフォームフィールド値をエクスポートします。
- を作成
Form対象。 - 入力 PDF をバインドします。
- XML 出力ファイルを開きます。
- フォームデータを XML にエクスポートします。
from io import FileIO
import aspose.pdf as ap
def export_data_to_xml(input_file_name, output_file_name):
form = ap.facades.Form()
form.bind_pdf(input_file_name)
with FileIO(output_file_name, "w") as f:
form.export_xml(f)
FDF からフォームフィールドデータをインポートする
ザの import_data_from_fdf メソッドは、フォームフィールドデータを FDF (フォームデータフォーマット) ファイルから PDF フォームにインポートします。
- を作成
Form対象。 - 入力 PDF をバインドします。
- でフォームデータをインポートする
import_fdf(). - 更新した PDF を保存します。
from io import FileIO
import aspose.pdf as ap
def import_data_from_fdf(input_file_name, data_file_name, output_file_name):
form = ap.facades.Form()
form.bind_pdf(input_file_name)
with FileIO(data_file_name, "r") as f:
form.import_fdf(f)
form.save(output_file_name)
フォームフィールドデータを FDF にエクスポートする
この例では、フォームデータを PDF ドキュメントから FDF ファイルにエクスポートします。
- を作成
Form対象。 - PDF ドキュメントをバインドします。
- でフォームデータをエクスポートする
export_fdf().
from io import FileIO
import aspose.pdf as ap
def export_data_to_fdf(input_file_name, output_file_name):
form = ap.facades.Form()
form.bind_pdf(input_file_name)
with FileIO(output_file_name, "w") as f:
form.export_fdf(f)
XFDF からフォームフィールドデータをインポートする
このメソッドを使用して、XFDF (XML フォームデータ形式) ファイルから PDF フォームにフォームフィールドデータをインポートします。
- を作成
Form対象。 - 入力 PDF をバインドします。
- XFDF ファイルからフォームデータをインポートします。
- 更新した PDF を保存します。
from io import FileIO
import aspose.pdf as ap
def import_data_from_xfdf(input_file_name, data_file_name, output_file_name):
form = ap.facades.Form()
form.bind_pdf(input_file_name)
with FileIO(data_file_name, "r") as f:
form.import_xfdf(f)
form.save(output_file_name)
フォームフィールドデータを XFDF にエクスポートする
このコードは、フォームフィールドデータを PDF ドキュメントから XFDF ファイルにエクスポートします。
- を作成
Form対象。 - 入力 PDF をバインドします。
- フォームデータを XFDF にエクスポートします。
from io import FileIO
import aspose.pdf as ap
def export_data_to_xfdf(input_file_name, output_file_name):
form = ap.facades.Form()
form.bind_pdf(input_file_name)
with FileIO(output_file_name, "w") as f:
form.export_xfdf(f)
別の PDF からデータを読み込む
この例では、XFDF をインメモリストリームにエクスポートし、ターゲットフォームにインポートすることで、フォームフィールドデータをソース PDF から宛先 PDF に転送します。
- 送信元と送信先を作成
Formオブジェクト。 - ソース PDF とターゲットの PDF をバインドします。
- ソース PDF からフォームデータをエクスポートします。
- 送信先の PDF にフォームデータをインポートします。
- 更新した宛先 PDF を保存します。
from io import StringIO
import aspose.pdf as ap
def import_data_from_another_pdf(source_pdf_name, destination_pdf_name, output_file_name):
form_source = ap.facades.Form()
form_dest = ap.facades.Form()
form_source.bind_pdf(source_pdf_name)
form_dest.bind_pdf(destination_pdf_name)
with StringIO() as xfdf_stream:
form_source.export_xfdf(xfdf_stream)
xfdf_stream.seek(0)
form_dest.import_xfdf(xfdf_stream)
form_dest.save(output_file_name)
フォームフィールドを JSON に抽出
このメソッドは、以下を使用してフォームフィールドを JSON ファイルにエクスポートします。 export_json().
- を作成
Form対象。 - JSON 出力ファイルを開きます。
- を使用してフォームフィールドをエクスポートする
export_json().
from io import FileIO
import aspose.pdf as ap
def extract_form_fields_to_json(input_file_name, output_file_name):
form = ap.facades.Form(input_file_name)
with FileIO(output_file_name, "w") as json_file:
form.export_json(json_file, True)
フォームフィールドを JSON ドキュメントに抽出
この例では、フォームフィールドの名前と値からカスタム JSON ドキュメントを作成します。
- 入力ファイルから Form オブジェクトを作成します。
- 空の辞書を初期化してフォームフィールドデータを保存します。
- すべてのフォームフィールドを繰り返し処理し、その値を抽出します。
- フォームデータディクショナリを 4 スペースインデントの JSON 文字列にシリアル化します。
- JSON 文字列を UTF-8 エンコーディングで出力ファイルに書き込みます。
import json
import aspose.pdf as ap
def extract_form_fields_to_json_doc(input_file_name, output_file_name):
form = ap.facades.Form(input_file_name)
form_data = {}
for field_name in form.field_names:
form_data[field_name] = form.get_field(field_name)
json_string = json.dumps(form_data, indent=4)
with open(output_file_name, "w", encoding="utf-8") as json_file:
json_file.write(json_string)