フッターコンテンツにスキップ
PYTHON用IRONPDFを使用する

PythonでPDFフォームを生成する方法

このチュートリアルでは、このライブラリを使用して PDF フォームを作成し、新しい PDF ファイルを作成し、インタラクティブ フォームをデータと明示的にグループ化する方法について説明します。

PythonでインタラクティブなPDFフォームを作成する

  1. PDF フォームを生成するために PDF ライブラリをインストールします。
  2. HTML 文字列から PDF フォームを作成し、PDF ドキュメントを保存します。
  3. PdfDocumentクラスを使用して、作成した PDF ファイルをアップロードします。
  4. PDF ドキュメントのフィールドを更新します。
  5. ドキュメントを新しい場所に保存します。

IronPDF

Python は、グラフィカル ユーザー インターフェイスをすばやく簡単に作成するのに役立つプログラミング言語です。 プログラマーにとって、Python は他の言語よりもはるかに動的です。 このため、PythonにIronPDFライブラリを追加するのは簡単なプロセスです。 PyQtwxWidgetsKivy 、その他多数のパッケージやライブラリなど、プリインストールされたさまざまなツールを使用すると、完全な GUI を迅速かつ安全に構築できます。

IronPDF for Python は、.NET Core などの他のフレームワークのさまざまな機能を組み合わせています。 詳細については、 IronPDF for Python の次の公式 Web ページをクリックしてください。

IronPDF を使用すると、Python による Web デザインと開発が容易になります。 その結果、Django、Flask、Pyramid という 3 つの Python Web 開発パラダイムが広く認知されるようになりました。 Reddit、Mozilla、Spotify などの Web サイトやオンライン サービスでは、これらのフレームワークが活用されています。

IronPDFの機能

Pythonセットアップ

環境設定

コンピューターに Python が設定されていることを確認します。 ご使用のオペレーティング システムと互換性のある最新バージョンの Python をダウンロードしてインストールするには、公式 Python Web サイトにアクセスしてください。 Python をインストールしたら、プロジェクトの要件を分離するための仮想環境を作成します。 venvモジュールを使用すると、仮想環境の作成と管理が可能になり、変換プロジェクトに整理された独立したワークスペースを持たせることができます。

PyCharm の新しいプロジェクト

この記事では、Python コードを開発するための IDE として PyCharm を推奨します。

PyCharm IDE が起動したら、"新規プロジェクト"を選択します。

! PythonでPDFフォームを生成する方法、図1:PyCharm PyCharm

"新しいプロジェクト"を選択すると、プロジェクトの環境と場所を指定できる新しいウィンドウが開きます。 下の画像を見ると、これがもっと分かりやすいかもしれません。

! PythonでPDFフォームを生成する方法、図2: 新しいプロジェクト 新しいプロジェクト

プロジェクトの場所と環境パスを選択したら、 [作成]ボタンをクリックして新しいプロジェクトを起動します。 その後表示される新しいウィンドウを使用してソフトウェアを構築できます。 このガイドではPython 3.9が使用されています。

! PythonでPDFフォームを生成する方法、図3: プロジェクトの作成 プロジェクトの作成

IronPDFライブラリの要件

ほとんどの場合、PythonモジュールIronPDFは.NET 6.0を使用します。そのため、PythonでIronPDFを使用するには、コンピューターに.NET 6.0ランタイムがインストールされている必要があります。 LinuxおよびMacユーザーは、このPythonモジュールを使用する前に、.NETのインストールが必要になる場合があります。 必要なランタイム環境を取得するには、このページにアクセスしてください。

IronPDFライブラリのセットアップ

"ironpdf"パッケージをインストールして、拡張子".pdf"を持つファイルを生成、変更、開く必要があります。 ターミナルウィンドウを開き、PyCharmでパッケージをインストールするために次のコマンドを入力してください:

 pip install ironpdf

"ironpdf"パッケージのインストールは以下のスクリーンショットに示されています。

! PythonでPDFフォームを生成する方法、図4: IronPDF IronPDF

PDFフォームを生成する

IronPDF を使用すると、インタラクティブな PDF フォームを簡単に作成できます。 数行のコードで、ラジオのデモを含むサンプル PDF フォームを以下に示します。

! PythonでPDFフォームを生成する方法、図5:サンプルPDFフォームの最初のページ サンプルPDFフォームの最初のページ

上記の HTML は、次のコードで PDF フォームを作成するための文字列として使用されます。

from ironpdf import ChromePdfRenderer, PdfDocument

# Define HTML string to construct the form
form_data = """
<html>
    <body>
        <table>
            <tr>
                <td>Name</td>
                <td><input name="name" type="text"/></td>
            </tr>
            <tr>
                <td>Age</td>
                <td><input name="age" type="text"/></td>
            </tr>
            <tr>
                <td>Gender</td>
            </tr>
            <tr>
                <td><input name="Gender" type="radio">Male</input></td>
                <td><input name="Gender" type="radio">Female</input></td>
            </tr>
        </table>
    </body>
</html>"""

# Step 1: Create PDF Form from HTML string
renderer = ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
# Render HTML to PDF and save it
renderer.RenderHtmlAsPdf(form_data).SaveAs("DemoForm.pdf")

# Step 2: Reading and Writing PDF form values
form_document = PdfDocument.FromFile("DemoForm.pdf")

# Find the 'name' field and update its value
name_field = form_document.Form.FindFormField("name")
name_field.Value = "Mike"
print(f"NameField value: {name_field.Value}")

# Find the 'age' field and update its value
age_field = form_document.Form.FindFormField("age")
age_field.Value = "21"
print(f"AgeField value: {age_field.Value}")

# Update the first 'Gender' radio field, assuming it's the male option
gender_field = form_document.Form.Fields[3]
gender_field.Value = "On"

# Save the updated PDF to a new file
form_document.SaveAs("UpdatedForm.pdf")
from ironpdf import ChromePdfRenderer, PdfDocument

# Define HTML string to construct the form
form_data = """
<html>
    <body>
        <table>
            <tr>
                <td>Name</td>
                <td><input name="name" type="text"/></td>
            </tr>
            <tr>
                <td>Age</td>
                <td><input name="age" type="text"/></td>
            </tr>
            <tr>
                <td>Gender</td>
            </tr>
            <tr>
                <td><input name="Gender" type="radio">Male</input></td>
                <td><input name="Gender" type="radio">Female</input></td>
            </tr>
        </table>
    </body>
</html>"""

# Step 1: Create PDF Form from HTML string
renderer = ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
# Render HTML to PDF and save it
renderer.RenderHtmlAsPdf(form_data).SaveAs("DemoForm.pdf")

# Step 2: Reading and Writing PDF form values
form_document = PdfDocument.FromFile("DemoForm.pdf")

# Find the 'name' field and update its value
name_field = form_document.Form.FindFormField("name")
name_field.Value = "Mike"
print(f"NameField value: {name_field.Value}")

# Find the 'age' field and update its value
age_field = form_document.Form.FindFormField("age")
age_field.Value = "21"
print(f"AgeField value: {age_field.Value}")

# Update the first 'Gender' radio field, assuming it's the male option
gender_field = form_document.Form.Fields[3]
gender_field.Value = "On"

# Save the updated PDF to a new file
form_document.SaveAs("UpdatedForm.pdf")
PYTHON

上記の例では、 ChromePdfRenderer()オブジェクトが作成され、 RenderingOptions.CreatePdfFormsFromHtml RenderHtmlAsPdf値がTrueに設定され、PDF ファイル内のフォームが有効になります。RenderHtmlAsPdf メソッドを使用して、HTML 文字列をパラメータとして渡します。

SaveAsメソッドを使用すると、PDF フォームを含む HTML 文字列から PDF ファイルが作成されます。これは以下の画像のようになり、最初は空です。 IronPDF は PDF フォーム内のフィールドを再度更新します。 PDF では、最初の 2 つのフィールドはテキスト入力であり、他のフィールドはラジオ ボタンです。

! PythonでPDFフォームを生成する方法、図6: PDFフォーム PDF Form

次に、同じPdfDocumentオブジェクトを使用して、既存の PDF フォームをアップロードします。 Form.FindFormFieldメソッドを使用すると、要素の名前から値を取得できます。また、要素のインデックスを配列値に渡すことでForm.Fields[]使用することもできます。 これらのプロパティを使用すると、PDF フォーム内の要素の値を取得および設定できます。 最後に、 SaveAs関数がトリガーされ、更新された/新しい PDF ファイルが特定の場所に保存されます。

! PythonでPDFフォームを生成する方法、図7: PDFフォームのアップロード PDFフォームをアップロード

上記は、PDF フォームへの入力に役立つコードの結果です。 PDF フォームの詳細については、次のサンプル ページを参照してください。

結論

IronPDF ライブラリは、リスクを軽減し、データのセキュリティを保証する強力なセキュリティ技術を提供します。 特定のブラウザに限定されず、一般的なブラウザすべてと互換性があります。 IronPDF を使用すると、わずか数行のコードで、プログラマーは PDF ファイルをすばやく生成して読み取ることができます。 IronPDF ライブラリは、無料の開発者ライセンスや購入可能な追加の開発ライセンスなど、開発者の多様な要求を満たすためのさまざまなライセンス オプションを提供します。

$799 Lite パッケージには、永久ライセンス、30 日間の返金保証、1 年間のソフトウェア メンテナンス、およびアップグレード オプションが含まれています。 初回購入後、追加費用は発生しません。 これらのライセンスは、開発、ステージング、本番環境で使用できます。 さらに、IronPDF は、一定期間および再配布の制限付きの無料ライセンスを提供しています。 ユーザーは、無料試用期間中に透かしなしで実際の使用環境で製品を評価できます。 IronPDF 試用版の料金とライセンス取得方法の詳細については、次のライセンス ページをクリックしてください。

よくある質問

Pythonを使ってPDFフォームを生成するにはどうすればいいですか?

IronPDFを使用してPythonでPDFフォームを生成するには、フォーム構造を定義するためにHTML文字列を書き、ChromePdfRendererを使用してこのHTMLをPDFフォームに変換します。フォームをインタラクティブにするために、CreatePdfFormsFromHtmlオプションを有効にしてください。

PythonでPDFフォームのフィールドを更新するプロセスは何ですか?

IronPDFを使用してPDFフォームのフィールドを更新するには、PDFをPdfDocumentオブジェクトにロードします。次に、Form.FindFormFieldまたはForm.Fieldsを使用して特定のフォームフィールドを見つけます。これらのフィールドに希望の値を設定し、修正されたドキュメントを保存します。

PythonにおけるPDFライブラリに対応しているWeb開発フレームワークはどれですか?

IronPDFは、Django、Flask、およびPyramidなどの人気のあるPythonウェブフレームワークと互換性があり、さまざまなウェブアプリケーションへの円滑な統合を可能にします。

ウェブ開発においてPDFライブラリを使用する利点は何ですか?

IronPDFのようなPDFライブラリをウェブ開発で使用すると、HTMLや画像などのフォーマットをPDFに変換し、インタラクティブなフォームを扱ったり、ドキュメントを結合および分割したり、テキストを抽出したり、セキュアなドキュメントアクセスを確保することができます。これにより、ウェブアプリケーションの全体的な機能が向上します。

Python用のPDFライブラリをインストールするための手順は何ですか?

Python環境にIronPDFをインストールするには、最初にPythonと.NET 6.0ランタイムがインストールされていることを確認してください。その後、pipを使用して、できればPyCharmなどのIDEを使用してIronPDFパッケージをプロジェクトに追加します。

PDFライブラリを安全に使用することはできますか?

はい、IronPDFには、パスワード保護やアクセス資格情報を含むセキュリティ機能が含まれており、セキュアな環境での使用に適しています。

PythonのPDFライブラリが提供するライセンスオプションは何ですか?

IronPDFは、無料の開発者ライセンス、30日間の返金保証付きの永続ライセンス、保守オプションを含む柔軟なライセンスオプションを提供し、開発、ステージング、プロダクション環境に適しています。

PythonでPDFライブラリを扱う際の推奨IDEは何ですか?

PyCharmは、PythonでIronPDFを使用する際に推奨されるIDEで、プロジェクト管理やコード開発を容易にする機能を提供する強力な環境です。

PythonのPDFライブラリに試用版はありますか?

はい、IronPDFはウォーターマークなしの無料試用版を提供しており、開発者が購入前に実際の場面でその機能を評価することができます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。