PYTHON PDF 工具

如何在 Python 中創建 PDF 文件

發佈 2023年7月3日
分享:

PDF(可攜式文件格式)是在線發送和接收數據的最受歡迎的數字文件格式。它主要用於保持數據格式並通過加密密碼保護數據安全。 .pdf 副檔名不依賴於軟體應用程式、硬體或操作系統。

在本文中,我們將使用 Python 編程語言創建一個 PDF 文件。 有許多線上選項可供選擇,但這裡我們將使用 Python 庫來創建 PDF 文件。 以下是兩個著名的用於在 Python 中生成單頁或多頁 PDF 文件的庫:

Reportlab

  1. PDFKit

    從上述提到的 PDF python 函式庫中,我們可以使用任意一個來生成 PDF。

如何在 Python 中建立 PDF 檔案?

讓我們逐一查看這兩個庫。

使用 Reportlab 庫創建 PDF 文件

Reportlab圖書館是一個免費開源的 PDF 工具包,可用於輕鬆創建 PDF 文件。 它提供了一系列繪圖工具,用於在多個頁面的特定位置添加圖像和文本。 您還可以使用 encryptCanvas 方法來創建加密的 PDF 文件。

安裝

要安裝 Reportlab,需要使用 pip 套件管理工具。 它會自動使用 pip 命令下載並安裝 request 套件。 只需在 Windows CMD 或 PowerShell 中输入以下命令:

pip3 install reportlab

注意: 在安裝 Python 時,必須將其添加到環境變數中,這樣才能在 cmd 或 PowerShell 中的任何位置執行上述命令。 建議使用 Pip3 來使用 Python 3+,因為它是更新的版本。

開啟新的 Python 檔案

要使用 Reportlab 庫,我們需要在一個 Python 文件中編寫程式碼並執行它以創建 PDF 文件。

  1. 在 Windows 搜索欄中搜尋並打開 Python 預設的 IDLE Shell,然後按 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

我們也可以使用 drawStringdrawText 方法來使用 Reportlab 在 python 中創建一個簡單的 PDF 文件。

使用PDFKit庫創建PDF文件

PDFKit這個庫是在 Python 中創建 PDF 文件的最佳途徑之一。 它可以使用HTML代碼創建PDF文件。 您可以將簡單和複雜的 HTML 文件或來自 URL 的 HTML 渲染為像素完美的可列印 PDF 頁面。 然而,PDFKit 整合了 wkhtmltopdf 功能以將 HTML 轉換為 PDF。 要在 Windows、Linux 和 mac 上安裝 wkhtmltopdf,請訪問此链接連結.

注意: 在 Windows 操作系統中,wkhtmltopdf 將安裝在程序檔案中。

安裝

使用以下命令安裝 PDFKit:

pip3 install pdfkit

從網址創建 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 到 PDF” 渲染,其中使用 HTML 作為設計語言來渲染 PDF 文件。

IronPDF 使用 .NET Chromium 引擎將 HTML 頁面渲染成 PDF 文件。 使用 HTML 轉換為 PDF,無需使用複雜的 API 來定位或設計 PDF。 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

以下代碼將幫助您從HTML代碼以及任何CSS或JavaScript創建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 安裝 查看許可證 >