PythonでIronPDFを使用してHTMLをPDFに変換する方法

HTML to PDF: Python

This article was translated from English: Does it need improvement?
Translated
View the article in English

このガイドは、Python開発者にIronPDFライブラリを活用してHTMLコンテンツを高品質なPDF形式ファイル(ポータブル・ドキュメント・フォーマット)に変換するためのステップバイステップの手順を提供します。

IronPDF is a comprehensive PDF converter and processing library that supports multiple programming languages, including .NET, Java, and Python programming languages. このチュートリアルは、PythonスクリプトでIronPDFを使用して、HTMLコンテンツをファイルまたはマークアップ形式で変換することに特化しています。

.NETアプリケーションでHTMLをPDFに変換するための別のチュートリアルも利用可能です。


class="main-content__segment-title">概要

class="hsg-featured-snippet">

PythonでHTMLをPDFに変換する方法

How to Convert HTML to PDF in Python
  1. HTMLをPDFに変換するために必要なPythonライブラリをインストールする
  2. RenderHtmlAsPdfメソッドを利用してHTML文字列をPDFドキュメントに変換する
  3. PythonでウェブサイトURLから直接PDFファイルを生成する
  4. RenderHtmlFileAsPdfメソッドを使用してHTMLファイルをPDFファイルに変換する
  5. 生成されたPDFを新しいファイルとして保存する

class="main-content__segment-title">始めに

1. IronPDF PDFライブラリのインストール (Python 用)

Python用のIronPDFライブラリをインストールするには、人気のあるパッケージマネージャーであるpipを使用します。以下のコマンドを実行してください:

 pip install ironpdf

ヒント特定のバージョンのIronPdfをインストールするには、次の構文を使用してください: ==2023.x.x。 例えば、次のコマンドを実行できます:

pip install ironpdf==2023.x.x
pip install ironpdf==2023.x.x
SHELL

ご注意IronPDF for Pythonは、IronPDF .NETライブラリ、特に.NET 6.0を基礎技術として依存しています。 従って、IronPDF for Pythonを使用するためには、.NET 6.0 SDKをマシンにインストールしておく必要があります。


class="main-content__segment-title">ハウツーガイドとコード例

2. HTMLをPDFに変換する

次のセクションでは、HTMLをPDFに変換するためのIronPDFの印象的なレンダリング機能について詳しく説明します。

PDFドキュメントのレンダリングの主なコンポーネントはChromePdfRendererクラスです。 さらに、PdfDocumentクラスは一連の操作機能を提供します。 IronPDFは、三つの主要なシナリオに対してHTMLコンテンツをPDFドキュメントに変換するための信頼性のある方法を提供します:

  • HTML文字列/マークアップをPDFに変換
  • HTMLファイル/ジップをPDFに変換
  • URLをPDFに変換

このセクションでは、各ユースケースを簡潔に紹介し、さらなる詳細を提供する補足リソースを提供します。

2.1 IronPDF パッケージをインポートする

IronPDFをインポートするには、ソースファイルの先頭に以下のインポート文を含めてください:

# Import statement for IronPDF for Python
from ironpdf import *
# Import statement for IronPDF for Python
from ironpdf import *
PYTHON

2.2 ライセンスキーを設定する (任意)

IronPDF for Pythonは無料で使用できますが、無料ユーザーにはPDFにタイル状の背景透かしが追加されます。

class="content-img-align-center">
class="center-image-wrapper">

class="content__image-caption">ライセンスページを訪問してライセンスキーを取得し、透かしのないPDFをお楽しみください。

IronPDFを使用して透かしのないPDFを生成するには、有効なライセンスキーをライブラリに提供する必要があります。 次のコードスニペットは、ライブラリをライセンスキーで設定する方法を示しています:

# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
PYTHON

PDFファイルの生成やその内容の変更を行う前に、ライセンスキーが設定されていることを確認してください。 他のコード行の前にLicenseKeyメソッドを呼び出すことをお勧めします。 You can purchase a license key from our licensing page or contact us to obtain a free trial license key.

2.3 ログファイルの場所を設定する (任意)

IronPDFはPythonスクリプトと同じディレクトリにあるDefault.logという名前のテキストファイルにログメッセージを生成できます。

ログファイルの名前と場所をカスタマイズしたい場合は、以下のコードスニペットを使用してLogFilePathプロパティを設定できます:

# Set a log path
Logger.EnableDebugging = True
Logger.LogFilePath = "Custom.log"
Logger.LoggingMode = Logger.LoggingModes.All
# Set a log path
Logger.EnableDebugging = True
Logger.LogFilePath = "Custom.log"
Logger.LoggingMode = Logger.LoggingModes.All
PYTHON

ご注意Logger.LogFilePathは、PDF変換と操作のメソッドを使用する前に呼び出す必要があります。

2.4 HTML文字列からPDFを作成する

RenderHtmlAsPdfメソッドは、HTML文字列をPDF形式のドキュメントに変換します。

以下のコードスニペットは、単一の見出し要素を持つHTML文字列からPDFファイルを生成する方法を示しています:

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1>")

# Export to a file or Stream
pdf.SaveAs("output.pdf")
from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1>")

# Export to a file or Stream
pdf.SaveAs("output.pdf")
PYTHON
class="content-img-align-center">
class="center-image-wrapper"> Html To Pdf 5 related to 2.4 HTML文字列からPDFを作成する

class="content__image-caption">RenderHtmlAsPdfメソッドを使用してHTMLマークアップをPDFファイルに変換します。このメソッドは、すべての有効なW3C準拠のHTMLおよびCSSマークアップを使用してPDFを生成できます。

RenderHtmlAsPdfメソッドは、現代のブラウザが行うのと同じ方法でHTML、CSS、およびJavaScriptを処理し、コンテンツの正確なレンダリングを保証します。この機能により、ソフトウェアエンジニアはWebブラウザとほぼ同じように表示されるPDFを作成できます。

さらに、RenderHtmlAsPdfメソッドは、ローカルまたはネットワークフォルダにある画像、スタイルシート、およびスクリプトなどの外部リソースを処理できます。 以下の例は、assetsフォルダ内に保存されているCSSファイルと画像を参照するHTMLからPDFドキュメントを作成する方法を示しています:

from ironpdf import *

html = """
<html>
   <head>
      <title>Hello world!</title>
      <link rel='stylesheet' href='assets/style.css'>
   </head>
   <body>
      <h1>Hello from IronPDF!</h1>
      <a href="https://ironpdf.com/python/"><img src='assets/logo.png' /></a>
   </body>
</html>
"""

renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
from ironpdf import *

html = """
<html>
   <head>
      <title>Hello world!</title>
      <link rel='stylesheet' href='assets/style.css'>
   </head>
   <body>
      <h1>Hello from IronPDF!</h1>
      <a href="https://ironpdf.com/python/"><img src='assets/logo.png' /></a>
   </body>
</html>
"""

renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
PYTHON
class="content-img-align-center">
class="center-image-wrapper"> Html To Pdf Html String To Pdf related to 2.4 HTML文字列からPDFを作成する

class="content__image-caption">RenderHtmlAsPdfメソッドはさまざまなタイプのHTMLコンテンツをレンダリング可能です。Chromeで表示できるものであれば、RenderHtmlAsPdfがレンダリングします!

さらに、開発者はRenderHtmlAsPdfメソッドに2番目の引数を指定するオプションがあり、Webアセットを参照するためのベースパスを指定できます。このパスは、ファイルシステム上のローカルディレクトリやURLパスを指すことができます。

RenderHtmlAsPdfメソッドの使用方法をさらに理解するには、このコード例を参照するか、APIリファレンスページを参照して、より詳細な情報を得ることができます。

2.5 URLからPDFを作成する

ウェブサイトURLをPDFドキュメントに変換するには、IronPDFが提供するRenderUrlAsPdfメソッドを使用できます。

ここでは、Wikipediaの記事をPDFコンテンツにレンダリングする方法を示しています。

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")

# Export to a file or Stream
pdf.SaveAs("url.pdf")
from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")

# Export to a file or Stream
pdf.SaveAs("url.pdf")
PYTHON
class="content-img-align-center">
class="center-image-wrapper"> Html To Pdf 7 related to 2.5 URLからPDFを作成する

ウェブページをPDFに変換する方法を示したコード例で詳細な情報を確認できます。

2.6 HTMLファイルからPDFを作成する

IronPDFは、HTMLファイルをPDFに変換し、それをローカルファイルシステムに保存する機能を提供します。 それは、HTMLコンテンツを直接その等価なPDF形式にレンダリングします。

For a real-world demonstration of this functionality, the following code example showcases the conversion of an invoice HTML file. You can access the HTML markup of the invoice.

このHTMLマークアップは、あなたの便宜のために提供されています:

<html>
<head>
    <meta charset="utf-8">
    <title>Invoice</title>
    <link rel="stylesheet" href="style.css">
    <link rel="license" href="https://www.opensource.org/licenses/mit-license/">
    <script src="script.js"></script>
</head>
<body>
<header>
    <h1>Invoice</h1>
    <address contenteditable>
        <p>Jonathan Neal</p>
        <p>101 E. Chapman Ave<br>Orange, CA 92866</p>
        <p>(800) 555-1234</p>
    </address>
    <span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
    <h1>Recipient</h1>
    <address contenteditable>
        <p>Some Company<br>c/o Some Guy</p>
    </address>
    <table class="meta">
        <tr>
            <th><span contenteditable>Invoice #</span></th>
            <td><span contenteditable>101138</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Date</span></th>
            <td><span contenteditable>January 1, 2012</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Due</span></th>
            <td><span id="prefix" contenteditable>$</span><span>600.00</span></td>
        </tr>
    </table>
    <table class="inventory">
        <thead>
        <tr>
            <th><span contenteditable>Item</span></th>
            <th><span contenteditable>Description</span></th>
            <th><span contenteditable>Rate</span></th>
            <th><span contenteditable>Quantity</span></th>
            <th><span contenteditable>Price</span></th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td>
            <td><span contenteditable>Experience Review</span></td>
            <td><span data-prefix>$</span><span contenteditable>150.00</span></td>
            <td><span contenteditable>4</span></td>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        </tbody>
    </table>
    <a class="add">+</a>
    <table class="balance">
        <tr>
            <th><span contenteditable>Total</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Paid</span></th>
            <td><span data-prefix>$</span><span contenteditable>0.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Balance Due</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
    </table>
</article>
<aside>
    <h1><span contenteditable>Additional Notes</span></h1>
    <div contenteditable>
        <p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p>
    </div>
</aside>
</body>
</html>
<html>
<head>
    <meta charset="utf-8">
    <title>Invoice</title>
    <link rel="stylesheet" href="style.css">
    <link rel="license" href="https://www.opensource.org/licenses/mit-license/">
    <script src="script.js"></script>
</head>
<body>
<header>
    <h1>Invoice</h1>
    <address contenteditable>
        <p>Jonathan Neal</p>
        <p>101 E. Chapman Ave<br>Orange, CA 92866</p>
        <p>(800) 555-1234</p>
    </address>
    <span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
    <h1>Recipient</h1>
    <address contenteditable>
        <p>Some Company<br>c/o Some Guy</p>
    </address>
    <table class="meta">
        <tr>
            <th><span contenteditable>Invoice #</span></th>
            <td><span contenteditable>101138</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Date</span></th>
            <td><span contenteditable>January 1, 2012</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Due</span></th>
            <td><span id="prefix" contenteditable>$</span><span>600.00</span></td>
        </tr>
    </table>
    <table class="inventory">
        <thead>
        <tr>
            <th><span contenteditable>Item</span></th>
            <th><span contenteditable>Description</span></th>
            <th><span contenteditable>Rate</span></th>
            <th><span contenteditable>Quantity</span></th>
            <th><span contenteditable>Price</span></th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td>
            <td><span contenteditable>Experience Review</span></td>
            <td><span data-prefix>$</span><span contenteditable>150.00</span></td>
            <td><span contenteditable>4</span></td>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        </tbody>
    </table>
    <a class="add">+</a>
    <table class="balance">
        <tr>
            <th><span contenteditable>Total</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Paid</span></th>
            <td><span data-prefix>$</span><span contenteditable>0.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Balance Due</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
    </table>
</article>
<aside>
    <h1><span contenteditable>Additional Notes</span></h1>
    <div contenteditable>
        <p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p>
    </div>
</aside>
</body>
</html>
HTML

ローカルのHTMLファイルとその関連するCSSおよびJavaScriptファイルが「invoices」というフォルダに保存されていると仮定して、IronPDFを使用して、以下のPythonコードでサンプルHTMLファイルをPDFに変換できます:

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from an existing HTML file using Python
pdf = renderer.RenderHtmlFileAsPdf("invoices/TestInvoice1.html")

# Export to a file or Stream
pdf.SaveAs("htmlfile_to_pdf.pdf")
from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from an existing HTML file using Python
pdf = renderer.RenderHtmlFileAsPdf("invoices/TestInvoice1.html")

# Export to a file or Stream
pdf.SaveAs("htmlfile_to_pdf.pdf")
PYTHON

HTML文字列をPDFに変換するのと同様に、IronPDFはサンプルHTMLファイル内の相対URLを自動的に解決し、参照されているスタイルシートとスクリプトが生成されるPDFドキュメントに正しく適用されることを保証します。 これにより、Webページの視覚的な外観がPDFファイルに正確にキャプチャされることが保証されます。

3. 詳細な読書

コード例セクションを掘り下げて、IronPDFのHTMLからPDFへのレンダリングの拡張機能を探求してください。

  1. このコード例を読んで、変換プロセス中にPDFドキュメントの外観をカスタマイズする方法を発見してください。
  2. Learn how to generate PDF files with personalized headers and footers, adjust margin sizes and page dimensions, add watermarks, and more.
  3. Additionally, explore techniques for extracting text, optimizing file sizes, and programmatically printing PDFs.

ソフトウェア製品をダウンロードしてください。

よくある質問

Pythonを使用してHTMLをPDFに変換するにはどうすればいいですか?

PythonでHTML文字列をPDFドキュメントに変換するには、IronPDFの RenderHtmlAsPdf メソッドを使用できます。このメソッドは、CSSやJavaScriptを含むHTMLを高品質のPDFとして正確にレンダリングします。

PythonでHTMLからPDFへの変換をサポートしているライブラリは何ですか?

IronPDFは、PythonでHTMLからPDFへの変換をサポートする強力なライブラリです。HTML文字列、URL、ファイルをPDFドキュメントに変換し、フォーマットを保ちながら提供します。

PythonでHTMLからPDFへの変換を行うためにIronPDFをインストールするにはどうすればよいですか?

Python用IronPDFをインストールするには、ターミナルでコマンド pip install ironpdf を使用します。IronPDFは.NET 6.0 SDKに依存しているため、インストールが必要です。

PythonでウェブページのURLをPDFに変換することは可能ですか?

はい、IronPDFの RenderUrlAsPdf メソッドを使用して、ウェブページのURLをPDFドキュメントに変換することができます。この機能を使用すれば、ライブウェブページのコンテンツを直接キャプチャして変換できます。

IronPDFは変換時に外部リソースをどのように処理しますか?

IronPDFは、画像、スタイルシート、スクリプトなどの外部リソースを含むHTMLファイルを処理できます。これらのリソースがPDFに正しく組み込まれるように相対URLを解決します。

Pythonを使用してPDFのヘッダーとフッターをカスタマイズすることは可能ですか?

はい、IronPDFを使用すれば、PDFドキュメントにカスタムヘッダーとフッターを追加できます。これを行うには、PdfDocument プロパティを調整して特定のフォーマット要件に合わせます。

IronPDFで作成したPDFからウォーターマークを削除する方法は?

IronPDFで生成されたPDFからウォーターマークを削除するには、PDFを処理する前に有効なライセンスキーを設定する必要があります。これにより、デフォルトのウォーターマークなしでPDFが作成されます。

IronPDFのHTMLからPDFへの変換の高度な機能は何ですか?

IronPDFは、カスタムページ余白の設定、寸法の調整、ウォーターマークの追加、ファイルサイズの最適化、テキスト抽出などの高度な機能を提供します。これらの機能はライブラリの柔軟性と有用性を高めます。

IronPDFを使用したHTMLからPDFへの変換の例はどこで見つけられますか?

IronPDFウェブサイトの「コード例」セクションで、さまざまな例と詳細なコードスニペットを見つけることができ、IronPDFの機能を効果的に使用するための洞察を提供します。

PDFをレンダリングするためにIronPDFで使用される主なクラスは何ですか?

IronPDFでPDFをレンダリングするために主に使用されるクラスは ChromePdfRenderer クラスです。HTMLの変換、外部リソースの処理、現代のブラウザに似た正確なレンダリングを提供する信頼性の高い方法を提供します。

IronPDF は .NET 10 と互換性がありますか?

はい。IronPDF は、.NET 6、7、8、9 などの以前のバージョンと同様に、.NET 10 と完全に互換性があります。プラットフォーム (Windows、Linux など) に関係なく、.NET 10 プロジェクトですぐに使用でき、特別な回避策を必要とせずに最新の API スタックをサポートします。

Curtis Chau
テクニカルライター

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

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

準備はいいですか?
バージョン: 2025.9 ただ今リリースされました