PYTHON PDFツール

PythonでPDFファイルを作成する方法

公開済み 2023年7月3日
共有:

PDF(ポータブルドキュメントフォーマット)は、オンラインでデータを送受信するための最も人気のあるデジタルファイル形式です。これは、データの書式を保持し、暗号化されたパスワードでデータを保護するために主に使用されます。 .pdf拡張子は、ソフトウェアアプリケーション、ハードウェア、またはオペレーティングシステムに依存しません。

この記事では、Pythonプログラミング言語でPDFファイルを作成します。 数多くのオンラインオプションが利用可能ですが、ここではPDFファイル作成のためにPythonライブラリを使用します。 以下は、Pythonで単一または複数ページのPDFドキュメントを生成するための有名な2つのライブラリです:

  1. レポートラボ

  2. PDFキット

    上記のPDF Pythonライブラリのいずれかを使用してPDFを生成できます。

PythonでPDFファイルを作成する方法?

それぞれのライブラリを見てみましょう。

Reportlabライブラリを使用したPDFファイルの作成

レポートラボライブラリは、無料でオープンソースのPDFツールキットであり、簡単にPDFファイルを作成するために使用できます。 それは、複数ページの特定の位置に画像やテキストを追加するための様々な描画ツールを提供します。 encryptCanvasメソッドを使用して暗号化されたPDFファイルも作成できます。

インストール

Reportlabをインストールするには、pipパッケージマネージャーが必要です。 自動的にpipコマンドを使用してrequestパッケージをダウンロードおよびインストールします。 次のコマンドをWindowsのcmdまたはPowerShellに入力してください:

pip3 install reportlab

注意: Pythonをインストールする際、cmdやPowerShellのどこからでも上述のコマンドを実行できるようにするためには、Pythonをパス環境変数に追加する必要があります。 Python 3+ では、最新バージョンであるため、pip3 の使用が推奨されます。

新しいPythonファイルを開く

Reportlabライブラリを使用するには、Pythonファイルにコードを書き、それを実行してPDFファイルを作成する必要があります。

  1. Windows 検索バーから Python のデフォルト IDLE シェルを検索して開き、Ctrl + N を押すか、ファイルタブから「新規ファイル」を選択します。 これにより、コードを書くためのテキストエディターが開かれます。

  2. 次に、適切な名前でファイルを保存します。 "createpdf.py" と命名しています。 ファイルは次のようになります:

    PythonでPDFファイルを作成する方法: 図 1

テキストの読み取りと抽出のためのPythonコード

以下のコードはドキュメント要素を描画し、数秒でPDFを生成します:

# importing modules
from reportlab.pdfgen import canvas
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase import pdfmetrics
from reportlab.lib import colors

# initializing variables with values
fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'

# creating a pdf object
pdf = canvas.Canvas(fileName)

# setting the title of the document
pdf.setTitle(documentTitle)

# creating the title by setting it's font
# and putting it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)

# creating the subtitle by setting it's font,
# colour and putting it on the canvas
pdf.setFillColorRGB(0, 0, 255)
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)

# saving the pdf
pdf.save()
PYTHON

生成されたPDF出力は次のとおりです:

PythonでPDFファイルを作成する方法: 図2

コードの説明

すべてのモジュールとパッケージをインポートした後、最初にPDFファイルに書き込むすべてのコンテンツを初期化しました。

fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'
PYTHON

次に、キャンバス名、ドキュメントタイトル、中央揃えのタイトルおよびサブタイトルを適切なフォントとサイズで設定します。

# creating a pdf object
pdf = canvas.Canvas(fileName)

# setting the title of the document
pdf.setTitle(documentTitle)

# creating the title by setting it's font
# and putting it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)

# creating the subtitle by setting it's font,
# colour and putting it on the canvas
pdf.setFillColorRGB(0, 0, 255)
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)
PYTHON

最後に、すべてがキャンバスに描画されたらPDFファイルを保存します。

# saving the pdf
pdf.save()
PYTHON

PythonでReportlabを使用して簡単なPDFファイルを作成するには、drawStringおよびdrawTextメソッドを使用することもできます。

PDFKitライブラリを使用してPDFファイルを作成する

PDFキットライブラリは、PythonでPDFファイルを作成する際に最良のアプローチの一つです。 HTMLコードを使用してPDFファイルを作成できます。 単純な HTML ファイルおよび複雑な HTML ファイル、または URL からの HTML をピクセル単位で完璧に印刷可能な PDF ページにレンダリングできます。 しかし、PDFKitはwkhtmltopdfの機能を統合してHTMLをPDFに変換します。 Windows、Linux、そしてMacにwkhtmltopdfをインストールするには、こちらを訪れてください。リンク.

注意: Windows OS では、wkhtmltopdf はプログラムファイルにインストールされます。

インストール

以下のコマンドを使用してPDFKitをインストールします:

pip3 install pdfkit

URLからPDFファイルを作成

PDFKitを使用してPDFファイルを作成するのは非常に簡単で、一行で済むプロセスです。

import pdfkit

pdfkit.from_url('http://google.com', 'out.pdf')
PYTHON

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

import pdfkit

pdfkit.from_file('index.html', 'out.pdf')
PYTHON

HTMLテンプレートからPDFファイルを作成する

HTMLテンプレートを文字列として渡すと、PDFとして出力ファイルに変換することができます。

html_string = """
    <html>
        <head>
        <meta name="pdfkit-page-size" content="Legal"/>
        <meta name="pdfkit-orientation" content="Landscape"/>
        </head>
        Hello World!
        </html>
    """

pdfkit.from_string(html_string, 'out.pdf')
PYTHON

PDFKitを使用すると、HTMLテンプレートを用いてPythonで簡単にPDFを作成することができます。

IronPDFライブラリ

IronPDF有用なツールですPDFファイルを作成する.NETプロジェクトで。 このライブラリの一般的な使用法の一つは「HTML to PDF」レンダリングであり、HTMLがPDFドキュメントをレンダリングするためのデザイン言語として使用されます。

IronPDFは、.NETのChromiumエンジンを使用してHTMLページをPDFファイルに変換します。 HTMLからPDFへの変換では、PDFの配置やデザインに複雑なAPIを使用する必要がありません。 IronPDFは標準的な全てのウェブページ技術、つまりHTML、ASPX、JS、CSS、および画像もサポートしています。

HTML 5、CSS、JavaScript、および画像を使用して.NET PDFライブラリを作成することもできます。 PDFに簡単に編集、スタンプ、ヘッダーおよびフッターを追加できます。 さらに、PDFテキストの読み取りや画像の抽出が非常に簡単になります。

IronPDFを始めるには、NuGetパッケージをインストールする必要があります。

`pip install ironpdf`

以下の例は、URLから直接PDFを作成するのに役立ちます:

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/")

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

以下のコードは、CSSやJavaScriptを含むHTMLコードからPDFファイルを作成するのに役立ちます:

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

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

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

# Advanced Example with HTML Assets
# Load external html assets: Images, CSS and JavaScript.
# An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
PYTHON

上記のコードから、それが非常にシンプルでクリーンであることがわかります。 HTMLコードからPDFファイルを作成するには、非常に少ないコード行数で済みます。 それは高速で信頼性があり、時間を節約でき、正確な結果をもたらすソリューションです。

IronPDFをダウンロードしてお試しください無料. 試用期間が終了すると、ライセンスは $749 から始まります。

< 以前
PyCharm の使い方(開発者向けガイド)
次へ >
PythonでPDFファイルを読む方法

準備はできましたか? バージョン: 2024.11.1 新発売

無料 pip インストール ライセンスを表示 >