在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
PDF (可攜式文件格式) 是最受歡迎的數字文件格式,用於在線傳送和接收數據。它主要用來保存數據格式並通過加密密碼來保護數據。.pdf 擴展名不依賴於任何軟體應用程式、硬體或作業系統。
在本文中,我們將在 Python 程式設計語言中創建一個 PDF 文件。有很多線上選項可用,但這裡我們將使用一個 Python 庫來創建 PDF 文件。以下是用於在 Python 中生成單頁或多頁 PDF 文件的兩個著名庫:
Reportlab
從上述提到的 PDF Python 庫中,我們可以使用任何一個來生成 PDF。
讓我們一一看看這兩個程式庫。
Reportlab library 是一個免費的開源 PDF 工具包,可用於輕鬆創建 PDF 檔案。它提供了一系列繪圖工具,可以在多個頁面中的特定位置添加圖像和文字。您還可以使用 encryptCanvas
方法創建加密的 PDF 檔案。
要安裝 Reportlab,需要使用 pip 套件管理器。它會使用 pip 命令自動下載並安裝 request 套件。只需在 Windows cmd 或 PowerShell 中輸入以下命令:
pip3 install reportlab
注意: 在安裝 Python 時,必須將其添加到路徑環境變量中,才能在 cmd 或 PowerShell 中從任何位置執行上述命令。建議使用 Pip3 用於 Python 3+,因為它是更新的版本。
要使用 Reportlab 庫,我們需要在 Python 文件中編寫代碼並執行它以創建 PDF 文件。
從 Windows 搜索欄搜索並打開 Python 默認的 IDLE 殼,按 Ctrl + N 或從“文件”選項卡選擇“新建文件”。這將打開編寫代碼的文本編輯器。
以下代碼將繪製文檔元素並在幾秒鐘內生成 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()
生成的 PDF 輸出如下:
在匯入所有模組和套件後,我們首先初始化將寫入 PDF 檔案的所有內容。
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)
最後,我們在所有內容都繪製在畫布上時保存 PDF 文件。
# saving the pdf
pdf.save()
我們也可以使用 drawString
和 drawText
方法來使用 Reportlab 在 python 中創建一個簡單的 PDF 文件。
PDFKit library 是在使用 Python 製作 PDF 文件時最好的方法之一。它可以使用 HTML 程式碼來製作 PDF 文件。您可以將簡單和複雜的 HTML 文件或來自 URL 的 HTML 渲染成像素完美的可列印 PDF 頁面。然而,PDFKit 集成了 wkhtmltopdf 功能來將 HTML 轉換為 PDF。要安裝適用於 Windows、Linux 和 Mac 的 wkhtmltopdf,請造訪此連結 連結注意: 在 Windows 作業系統中,wkhtmltopdf 將安裝在程式檔案中。
使用以下命令安裝 PDFKit:
pip3 install pdfkit
使用PDFKit創建PDF文件非常簡單,只需一行代碼即可完成。
import pdfkit
pdfkit.from_url('http://google.com', 'out.pdf')
import pdfkit
pdfkit.from_file('index.html', 'out.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')
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")
以下代碼將幫助您從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")
從上面的程式碼可以看出,它相當簡潔清晰。只需要很少的程式碼行數即可從 HTML 代碼中創建 PDF 文件。這是一個快速、可靠且節省時間的解決方案,並能帶來準確的結果。
下載 IronPDF 並試用 免費. 試用期結束後,授權費用從 $749 開始。