HTMLをPDFに変換: Python

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

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

IronPDFは、複数のプログラミング言語をサポートする、総合的なPDFコンバーターおよび処理ライブラリです。 .NET, Java、および Python プログラミング言語。 このチュートリアルは、ファイル形式またはマークアップ形式のHTMLコンテンツを変換するために、PythonスクリプトでIronPDFを使用することに特化しています。

.NETアプリケーションでHTMLをPDFに変換する方法についての別のチュートリアルは、以下を参照してください。 これ.


概要


はじめに

Python用IronPDF PDFライブラリのインストール

PDF向けPythonライブラリ

でインストール pip

 `pip install ironpdf`
または
Pythonモジュール

ダウンロード モジュール

今すぐダウンロード

プロジェクトに手動でインストールする

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

 `pip install ironpdf`

ヒント
IronPdfの特定のバージョンをインストールするには、次の構文を使用してください:"==2023.x.x"。 たとえば、「pip install ironpdf==2023.x.x」というコマンドを実行することができます。

次の内容にご注意ください。
IronPDF Pythonは、その基盤技術として、特に.NET 6.0を用いたIronPDF .NETライブラリに依存しています。 したがって、必要なのは .NET 6.0 SDK IronPDF Pythonを使用するためには、ご使用のマシンにインストールする必要があります。


ガイドとコード例の使い方

2. HTMLをPDFに変換

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

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

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

  • URLをPDFに変換

    このセクションでは、各使用例の簡潔な概要を提供し、詳細についての補足リソースを添付します。

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

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

# Import statements for IronPDF Python
from ironpdf import *
PYTHON

2.2. ライセンスキーの設定 (任意)

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

訪問 ライセンスページ ライセンスキーを取得して、透かしのないPDFを楽しみましょう。

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

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

PDFファイルを生成またはその内容を変更する前に、必ずライセンスキーを設定してください。 他のコード行の前に LicenseKey メソッドを呼び出すことをお勧めします。

Here is the translation of the provided text into Japanese:

あなたは ライセンスキーを購入 弊社のライセンスページから、またはお問い合わせください。 無料の試用ライセンスキーを取得する.

ログファイルの場所を設定 (オプション)

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

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

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

次の内容にご注意ください。
Logger.LogFilePath は、PDF変換および操作メソッドを使用する前に呼び出す必要があります。

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")
PYTHON

HTMLマークアップをPDFファイルに変換するために使用する RenderHtmlAsPdf(HTMLをPDFとしてレンダリング) メソッド。このメソッドは、全ての有効なW3C準拠のHTMLおよびCSSマークアップを使用してPDFを生成することができます。

RenderHtmlAsPdf メソッドは、HTML、CSS、およびJavaScriptをモダンブラウザと同じ方法で処理し、コンテンツの正確なレンダリングを保証します。 この機能により、ソフトウェアエンジニアはウェブブラウザの画面とよく似たPDFを作成することができます。

さらに、RenderHtmlAsPdfメソッドは、ローカルまたはネットワークフォルダにある画像、スタイルシート、スクリプトなどの外部リソースを処理することができます。 次の例では、CSSファイルとassetsフォルダーに保存された画像を参照する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")
PYTHON

上記のコードの結果は、以下の画像に示されています。

RenderHtmlAsPdf(HTMLをPDFとしてレンダリング)(HTMLをPDFとしてレンダリング) メソッドは、さまざまな種類のHTMLコンテンツをレンダリングすることができます。Chromeで表示できる場合、それは RenderHtmlAsPdf(HTMLをPDFとしてレンダリング)(HTMLをPDFとしてレンダリング) レンダーします!

また、開発者は RenderHtmlAsPdf メソッドに第二引数を提供するオプションがあり、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")
PYTHON

生成されたPDFファイル形式は以下の通りです。

詳細については、以下を参照してください: コード例 ウェブページをPDFに変換する方法を実演します。

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

IronPDFはHTMLファイルをPDFに変換し、ローカルファイルシステムに保存する機能を提供します。 HTMLコンテンツをそのままPDF形式に変換します。

この機能の実際のデモンストレーションとして、以下のコード例は請求書HTMLファイルの変換を示しています。HTMLマークアップにアクセスするには 請求書.

こちらの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ファイルがあると仮定して、以下のPythonコードを使用して、IronPDFを用いてサンプルHTMLファイルをPDFに変換することができます。

# 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ドキュメントに正しく適用されるようにします。 これにより、ウェブページの視覚的な外観がPDFファイルに正確にキャプチャされることが保証されます。

3. さらなる読書

IronPDF の HTML から PDF へのレンダリング機能の幅広い能力を探求するには、当社の コード例 セクション

  1. 読む このコード例 PDFドキュメントの変換プロセス中に外観をカスタマイズする方法を発見するため。

    1. 以下の内容を日本語に翻訳してください:

カスタマイズされたPDFファイルの生成方法を学ぶ ヘッダーとフッター調整 マージンサイズ 以下のコンテンツを日本語に翻訳してください: ページ寸法, 透かしを追加など。

  1. また、技術を探る テキストの抽出, ファイルサイズの最適化プログラムによって PDFの印刷.

    申し訳ありませんが、翻訳するコンテンツのテキストを提供してください。その後、英語から日本語に翻訳いたします。!--

HTMLからPDFへ変換のチュートリアル動画を視聴する


チュートリアル クイック アクセス

このチュートリアルをJavaソースコードとしてダウンロード

このチュートリアル用の完全なHTMLからPDFへのJavaソースコードは、圧縮されたIntelliJプロジェクトとして無料でダウンロードできます。

ダウンロード

このチュートリアルをGitHubで探索する

このプロジェクトのソースコードはGitHubで公開されています。

簡単に数分で開始するためには、このコードを使用してください。プロジェクトはIntelliJ IDEAプロジェクトとして保存されていますが、他の一般的なJava IDEにもインポートすることができます。

Java HTMLからPDFへ

APIリファレンスを表示

IronPDFのAPIリファレンスを探索して、IronPDFのすべての機能、名前空間、クラス、メソッド、フィールド、およびenumの詳細を確認してください。

APIリファレンスを表示

-->

申し訳ありませんが、翻訳を行うための具体的なコンテンツが提供されていません。翻訳したい英語のテキストを入力してください。ダウンロード ソフトウェア製品。