
如何在 Python 中用文字和圖片建立 PDF 文件
在這個數位時代,生成包含動態內容的PDF文件,其中包括文字和圖像,是一項常見需求。 Python是一種受歡迎的程式語言,使自動化例行流程以節省時間和精力變得容易。 擁有一個適合用於Python中**建立帶有文字和圖像的PDF文件**的程式庫,對自動生成報告、收據或發票非常方便。 IronPDF,一個多功能的Python程式庫,簡化了建立豐富內容PDF的過程。
在本文中,我們將探討如何在Python專案中使用IronPDF生成包含文字和圖像的PDF。
如何在Python中建立帶有文字和圖像的PDF文件
- 安裝IronPDF for Python 程式庫
- 實例化ChromePdfRenderer
- 新增文字內容
- 新增圖像作為二進位資料
- 建立包含文字和圖像的HTML字串
- 使用RenderHtmlAsPdf將HTML渲染為PDF
- 使用SaveAs方法保存PDF文件
IronPDF 介紹
IronPDF是一個功能豐富的Python程式庫,為開發者提供了強大的工具,用於建立、操作和處理PDF文件。 使用IronPDF,您可以輕鬆地將文字、圖片、表格和其他元素合併到您的PDF中,這使其成為從報告生成到文件建立的一系列應用程式的寶貴資產。
如何在Python中建立帶有文字和圖像的PDF文件:圖1 - IronPDF for Python:這是Python的PDF程式庫
IronPDF的主要功能:
- 易於整合: IronPDF無縫整合到流行的Python開發環境中,使得使用PyCharm等工具的開發者可以方便地使用。
- 豐富的文字支援: 支援豐富的文字格式,讓開發者可以輕鬆建立視覺上吸引人的PDF文件。
- 圖像處理: IronPDF使在PDF中包含圖片變得簡單,提供在設計和自訂文件時的彈性。
- 跨平台相容性: IronPDF能在不同平台上運行,確保生成的PDF可以保持一致地查看和交互。
先決條件
在使用IronPDF建立PDF文件的過程之前,請確認您已經具備以下預備事項:
- 已安裝Python: Python需要安裝在您的電腦上。 您可以從Python官方網站(https://www.python.org/)下載並安裝最新版本。
- PyCharm IDE: 使用PyCharm或其他任何您選擇的Python IDE。PyCharm是一個受歡迎的整合開發環境,為Python開發提供了一個舒適的工作空間。
- IronPDF: 您可以從這裡下載IronPDF程式庫或使用PIP(Python Package Manager)安裝。 要成功使用IronPDF功能還需要Microsoft .NET運行時。 Linux、Mac和Windows使用者可以通過此下載連結下載.NET 6.0版本。
在PyCharm中建立Python專案
一旦滿足預備條件,打開PyCharm並建立一個新的Python專案。 為您的專案設置一個虛擬環境,以有效地管理依賴項。
- 單擊檔案 > 新專案。
- 在"新專案"窗口中:
- 在"位置"欄位中輸入您的專案名稱。
- 選擇您希望保存專案文件的位置。
- 在"專案直譯器"下,選擇Python直譯器。 如果您安裝了Python,它將自動檢測Python直譯器。
- 選擇專案型別。 對於一個簡單的Python專案,您可以堅持使用預設設置。
如何在Python中建立帶有文字和圖像的PDF文件:圖2 - 打開PyCharm IDE。進入檔案選單 - 單擊新專案。 輸入您的Python專案的名稱和位置。 接下來,在"專案直譯器"下選擇Python直譯器。 單擊"建立"按鈕以建立專案。 一旦建立了Python專案,打開一個新的python文件並用它來編寫程式碼以使用IronPDF生成PDF文件。
- 單擊建立以建立專案。
- 打開一個新的python文件並保存它以編寫程式碼,使用Python程式庫 - IronPDF生成PDF文件。
使用PIP安裝IronPDF for Python
要安裝IronPDF,請在您的專案終端或命令提示符中使用以下PIP命令:
這條命令將自動下載並安裝IronPDF程式庫以及其依賴項。
如何在Python中建立帶有文字和圖像的PDF文件:圖3 - 在您的專案終端或命令提示符中使用以下命令安裝IronPDF:pip install IronPDF
建立一個簡單的帶有文字和圖像的PDF
讓我們逐步介紹如何使用IronPDF建立一個包含文字和圖片的單頁PDF文件:
步驟1:匯入IronPDF
在此步驟中,我們匯入IronPDF的所有必需模組。 我們使用ChromePdfRenderer來渲染PDF,使用base64來編碼圖片資料。
from ironpdf import ChromePdfRenderer
import base64
步驟2:實例化ChromePdfRenderer
在這裡,我們將建立一個ChromePdfRenderer的實例,它將用於渲染HTML內容為PDF。
# Instantiate Renderer
renderer = ChromePdfRenderer()
步驟3:新增文字內容
在此步驟中,我們將定義一個包含HTML文件結構的HTML字串(html_content),包括標題、正文和一個包含文字內容的段落,這些內容稍後將被轉換為單個PDF文件。CSS樣式被用來定位文字和圖片。
# HTML String with Text
html_content = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PDF Generation Example</title>
<style>
body {
margin: 0; /* Remove default margin */
padding: 20px; /* Add padding for better visibility */
position: relative; /* Set the body as a relative position */
}
header {
text-align: center;
}
section {
margin-top: 20px; /* Add margin to separate sections */
}
img {
position: absolute;
top: 20px; /* Adjust the top position */
right: 20px; /* Adjust the right position */
}
</style>
</head>
<body>
<header>
<h1>PDF Generation Example</h1>
</header>
<section id="contentSection">
<h2>Text and Image in PDF</h2>
<p>This PDF includes both text and an embedded image:</p>
<p>IronPDF developed by Ironsoftware is a great PDF creating library for .NET, Python, JAVA, Node.JS.</p>
"""
步驟4:新增圖片
在這裡,我們將以二進位方式打開並讀取一個圖像文件(IronPDF-logo.png),將其轉換為base64編碼資料URI,並嵌入到HTML字串中。 然後使用CSS樣式定位圖片,使其出現在右上角。
# Read image and convert to base64 string
with open("ironpdf-logo.png", "rb") as f:
pngBinaryData = f.read()
imgDataUri = "data:image/png;base64," + base64.b64encode(pngBinaryData).decode("utf-8")
imgHtml = f"""<!-- Embedded Image -->
<img src='{imgDataUri}' width=100px height=100px
alt="IronPDF Logo">
</section>
</body>
</html>
"""
步驟5:合併文字和圖片HTML字串
這一步將文字和圖片的HTML字串合併,建立完整的HTML內容(full_html_content),將被渲染為PDF輸出文件。
full_html_content = html_content + imgHtml
步驟6:將HTML內容渲染為PDF文件
在這裡,使用ChromePdfRenderer的方法RenderHtmlAsPdf將HTML轉換為PDF。
# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
步驟7:保存PDF文件
最終,生成的PDF將保存為"output_with_text_and_image_top_right.pdf"。 這個文件將包含格式化的文字和嵌入在右上角的圖片。
# Save the PDF to a file
pdf.SaveAs("output_with_text_and_image_top_right.pdf")
輸出PDF文件
現在在執行完程式後,輸出PDF文件如下:
如何在Python中建立帶有文字和圖像的PDF文件:圖4 - 輸出:output_with_text_and_image_top_right.pdf
同樣,可以輕鬆地將多個PDF頁面新增到一個PDF文件中。
進階使用:自定義文字和圖片位置
IronPDF提供了額外的功能,可以通過外部CSS/JavaScript文件來微調PDF中文字和圖片的放置和樣式。基準路徑可以作為RenderHtmlAsPdf方法的可選參數提交,如以下程式碼所示:
# 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")
在這個進階程式碼範例中,我們進一步利用外部資源嵌入圖像。 在RenderHtmlAsPdf方法中,HTML內容包含指向圖像文件(iron.png)的**標籤,該文件位於指定的資產目錄C:\site\assets**。 此外,此目錄設置為BasePath參數。
在RenderHtmlAsPdf中,您可以像上述步驟中那樣提交完整的HTML網頁。 CSS文件可以使用基準路徑作為第二個可選參數參考。 有關生成PDF格式或修改現有PDF文件的其他方法的詳細資訊,請存取程式碼範例和文件頁面。
結論
在這篇文章中,我們探討了如何在Python專案中使用IronPDF來建立帶有文字和圖像的PDF文件。 憑藉其直觀的API和強大的功能,IronPDF使開發者可以輕鬆地生成動態且視覺上吸引人的PDF文件。 無論是建立報告、文件還是任何其他型別的內容,IronPDF都提供了一個可靠且靈活的解決方案來生成Python中的PDF。 嘗試進行自定義選項實驗,以根據特定的設計需求調整您的PDF,使IronPDF成為滿足您文件生成需求的寶貴工具。
如何在Python中建立帶有文字和圖像的PDF文件:圖5 - IronPDF for Python 資訊授權
您可以從IronPDF的網站下載並安裝該程式庫。

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
相關文章

