在生產環境中測試,無水印。
在任何需要的地方都能運行。
獲得 30 天的全功能產品。
在幾分鐘內上手運行。
試用產品期間完全訪問我們的支援工程團隊
在這個數位化時代,生成包含動態內容(如文字和圖片)的 PDF 文件是一項常見需求。 Python 是一種受歡迎的程式語言,可以輕鬆自動化常規流程,以節省時間和精力。 擁有一個多功能的庫來在 Python 中創建包含文字和圖像的 PDF 文件,對於自動生成報告、收據或發票來說非常方便。 IronPDF,一個多用途的 Python 庫,簡化了創建具有豐富內容的 PDF 的過程。
在本文中,我們將探討如何在 Python 專案中使用 IronPDF 生成包含文字和圖像的 PDF。
安裝 IronPDF for Python 庫
實例化 ChromePdfRenderer
新增文字內容
添加圖片作為二進位資料
創建包含文字和圖像的 HTML 字串
使用 RenderHtmlAsPdf 將 HTML 渲染為 PDF
IronPDF 是一個功能豐富的 Python 庫,為開發者提供了強大的工具,用於創建、操作和處理 PDF 文檔。 使用IronPDF,您可以輕鬆將文字、圖像、表格和其他元素合併到PDF中,使其成為從報告生成到文件創建等各種應用程序的寶貴資產。
IronPDF 的主要功能:
在使用 IronPDF 創建 PDF 文件的過程之前,請確保您已具備以下必要條件:
安裝 Python: 你的電腦上需要安裝 Python。 您可以從 Python 官方網站下載並安裝最新版本(https://www.python.org/)。
PyCharm IDE:使用 PyCharm 或其他您選擇的 Python IDE。PyCharm 是一個受歡迎的整合開發環境,為 Python 開發提供舒適的工作空間。
一旦滿足先決條件,打開 PyCharm 並創建一個新的 Python 項目。 為您的項目設置虛擬環境,以有效管理依賴項。
點擊檔案 > 新專案。
在「新專案」視窗中:
在「位置」欄位中輸入您的專案名稱。
在「專案直譯器」下,選擇 Python 直譯器。 如果您已安裝 Python,它將自動檢測 Python 解釋器。
選擇專案類型。 對於一個簡單的 Python 專案,您可以使用預設設定。
![如何在 Python 中創建包含文本和圖像的 PDF 文件:圖 2 - 打開 PyCharm IDE。前往檔案選單 - 點擊新建專案。 輸入您的 Python 專案的名稱和位置。 接下來,在「Project Interpreter」下選擇 Python 直譯器。 按「建立」按鈕來建立專案。 在創建 Python 項目後,打開一個新的 python 文件,並使用它來編寫代碼以使用 IronPDF 生成 PDF 文件。
按一下建立以建立專案。
若要安裝 IronPDF,請在您的專案終端機或命令提示字元中使用以下 PIP 命令:
pip install ironpdf
此命令將自動下載並安裝IronPDF庫及其相依項。
讓我們逐步了解如何使用 IronPDF 創建一個包含文字和圖片的單頁 PDF 文件:
在此步驟中,我們從 IronPDF 匯入所有所需的模組。 我們導入ChromePdfRenderer以用於渲染PDF和base64以用於編碼圖像數據。
from ironpdf import ChromePdfRenderer
import base64
py
在這裡,我們將創建一個ChromePdfRenderer實例,用於將 HTML 內容渲染成 PDF。
# Instantiate Renderer
renderer = ChromePdfRenderer()
py
在此步驟中,我們將定義一個包含 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>
"""
py
在這裡,我們將以二進位模式開啟並讀取圖像檔案(ironpdf-logo.png),將其轉換為 base64 編碼的資料 URI,並嵌入到 HTML 字串中。 然後,該圖像使用 CSS 樣式定位到右上角。
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>
"""
py
此步驟將文本和圖像的 HTML 字串連接起來,以創建完整的 HTML 內容(full_html_content),該內容將被渲染成 PDF 輸出文件。
full_html_content = html_content + imgHtml
py
在這裡,RenderHtmlAsPdf 方法被用來利用 ChromePdfRenderer 將 HTML 轉換為 PDF。
# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
py
最後,生成的 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")
py
現在在執行程式後,輸出的 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")
py
在這個高級代碼範例中,我們透過外部來源進一步探討嵌入圖像的概念。 RenderHtmlAsPdf 方法中的 HTML 內容包含一個標籤,指向位於指定資產目錄(C:\site\assets\)中的圖像文件(iron.png)。 此外,該目錄被設置為BasePath參數。
在RenderHtmlAsPdf中,您可以按照上述步驟發送完整的HTML網頁。 可以使用基本路徑作為第二個可選參數來引用 CSS 文件。 如需有關其他生成 PDF 格式或修改現有 PDF 文件之方法的詳細資訊,請造訪程式碼範例和文件頁面。
在本文中,我們探討了如何在 Python 項目中使用IronPDF來建立包含文字和圖像的 PDF 檔案。 憑藉其直觀的 API 和強大的功能,IronPDF 使開發人員可以輕鬆生成動態且視覺上吸引人的 PDF 文檔。 無論您是正在創建報告、文檔或其他任何類型的內容,IronPDF 為 Python 的 PDF 生成提供了一個可靠且靈活的解決方案。 試驗自訂選項以根據特定設計需求來調整 PDF,讓 IronPDF 成為您文件生成需求的寶貴工具。
您可以從 IronPDF 的網站下載並安裝該庫。