跳過到頁腳內容
使用 IRONPDF FOR PYTHON

如何在 Python 中用文本和圖片創建 PDF 文件

在當今的數位時代,產生包含動態內容(包括文字和圖像)的 PDF 文件已成為一種常見需求。 Python 是一種流行的程式語言,它可以輕鬆實現日常流程的自動化,從而節省時間和精力。 擁有一個功能強大的 Python 庫來建立包含文字和圖像的 PDF 文件,對於自動生成報告、收據或發票非常方便。 IronPDF是一個功能強大的 Python 庫,它簡化了創建包含豐富內容的 PDF 的過程。

在本文中,我們將探討如何在 Python 專案中使用IronPDF產生包含文字和圖像的 PDF 檔案。

如何在 Python 中建立包含文字和圖像的 PDF 文件

  1. 安裝IronPDF for Python 庫
  2. 實例化 ChromePdfRenderer
  3. 新增文字內容
  4. 新增影像為二進位數據
  5. 建立包含文字和圖像的 HTML 字串
  6. 使用 RenderHtmlAsPdf 將 HTML 渲染為 PDF
  7. 使用 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 文件之前,請確保您已滿足以下先決條件:

  1. Python 已安裝:您的電腦上需要安裝 Python。 您可以從 Python 官方網站( https://www.python.org/ )下載並安裝最新版本。
  2. PyCharm IDE:使用PyCharm或任何其他您選擇的 Python IDE。 PyCharm 是一款受歡迎的整合開發環境,可為 Python 開發提供舒適的工作空間。
  3. IronPDF: IronPDF庫可從此處下載或使用 PIP(Python 套件管理器)安裝。 要成功使用IronPDF 的功能,還需要 Microsoft .NET執行階段環境。 Linux、Mac 和 Windows 使用者可以使用下載連結下載.NET 6.0 版本。

在 PyCharm 中建立 Python 項目

滿足所有先決條件後,開啟 PyCharm 並建立一個新的 Python 專案。 為你的專案建立一個虛擬環境,以便有效地管理依賴項。

  1. 點選檔案 > 新建項目
  2. 在"新項目"視窗中:
    • 在"位置"欄位中輸​​入項目名稱。
    • 選擇要儲存項目檔案的位置。
  3. 在"專案解釋器"下,選擇 Python 解釋器。 如果您安裝了 Python,它會自動偵測 Python 解釋器。
  4. 選擇項目類型。 對於簡單的 Python 項目,您可以堅持使用預設設定。

    如何在Python中建立包含文字和圖像的PDF檔案:圖2 - 開啟PyCharm IDE。前往檔案選單 - 點擊新建項目。 請輸入您的Python專案名稱和位置。 接下來,在專案解釋器下選擇 Python 解釋器。 點擊創建按鈕創建項目。 建立 Python 專案後,打開一個新的 Python 文件,並使用它來編寫程式碼,以使用IronPDF生成 PDF 文件。

  5. 點選"建立"按鈕建立項目。
  6. 開啟一個新的 python 檔案並儲存,以便使用 Python 函式庫IronPDF編寫產生 PDF 檔案的程式碼。

使用 PIP 安裝適用於 Python 的IronPDF

若要安裝IronPDF,請在專案的終端機或命令提示字元中使用下列 PIP 命令:

 pip install ironpdf

此命令將自動下載並安裝IronPDF庫及其相依性。

如何在Python中建立包含文字和圖像的PDF檔案:圖3 - 若要安裝IronPDF,請在專案的終端機或命令提示字元中使用以下命令:pip install IronPDF

建立包含文字和圖像的簡單 PDF

讓我們一起來看看如何使用IronPDF建立一個包含文字和圖像的單頁 PDF 文件:

步驟 1:導入IronPDF

在此步驟中,我們從IronPDF匯入所有必要的模組。 我們導入ChromePdfRenderer用於渲染 PDF,並導入 base64用於對影像資料進行編碼。

from ironpdf import ChromePdfRenderer
import base64
from ironpdf import ChromePdfRenderer
import base64
PYTHON

步驟 2:實例化 ChromePdfRenderer

在這裡,我們將建立一個ChromePdfRenderer實例,用於將 HTML 內容渲染成 PDF。

# Instantiate Renderer
renderer = ChromePdfRenderer()
# Instantiate Renderer
renderer = ChromePdfRenderer()
PYTHON

步驟 3:新增文字內容

在此步驟中,我們將定義一個 HTML 字串( html_content ),其中包含 HTML 文件的結構,包括頭部、主體以及一個包含文字內容的段落,該段落稍後將轉換為單一 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>
"""
# 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>
"""
PYTHON

步驟四:新增圖片

在這裡,我們將以二進位模式開啟並讀取圖像檔案( 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"""
        <img src='{imgDataUri}' width=100px height=100px
            alt="IronPDF Logo">
    </section>
</body>
</html>
"""
# 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"""
        <img src='{imgDataUri}' width=100px height=100px
            alt="IronPDF Logo">
    </section>
</body>
</html>
"""
PYTHON

步驟 5:合併文字和圖像 HTML 字串

此步驟將文字和圖像 HTML 字串連接起來,以建立完整的 HTML 內容( full_html_content ),該內容將渲染到 PDF 輸出檔案中。

full_html_content = html_content + imgHtml
full_html_content = html_content + imgHtml
PYTHON

步驟 6:將 HTML 內容渲染為 PDF 文件

這裡使用RenderHtmlAsPdf方法,透過ChromePdfRenderer將 HTML 轉換為 PDF。

# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
PYTHON

步驟 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")
# Save the PDF to a file
pdf.SaveAs("output_with_text_and_image_top_right.pdf")
PYTHON

輸出 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")
# 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

在這個高階程式碼範例中,我們將透過外部資源進一步探討嵌入圖像的概念。 RenderHtmlAsPdf方法中的 HTML 內容包含一個 related to 進階用法:自訂文字和圖像位置標籤指向位於指定資源目錄( C:\site\assets\ )中的映像檔( iron.png )。 此外,該目錄被設定為BasePath參數。

RenderHtmlAsPdf中,您可以依照上述步驟傳送完整的 HTML 網頁。 可以使用基本路徑作為第二個可選參數來引用 CSS 檔案。 有關生成 PDF 格式或修改現有 PDF 文件的其他方法的更多詳細信息,請訪問程式碼範例文件頁面。

結論

在本文中,我們探討如何在 Python 專案中使用IronPDF建立包含文字和圖像的 PDF 檔案。 IronPDF憑藉其直覺的 API 和強大的功能,使開發人員能夠輕鬆產生動態且視覺效果吸引人的 PDF 文件。 無論您是建立報告、文件或任何其他類型的內容, IronPDF都為 Python 中的 PDF 生成提供了一個可靠且靈活的解決方案。 嘗試各種自訂選項,根據特定的設計要求自訂您的 PDF 文件,使IronPDF成為滿足您文件生成需求的寶貴工具。

如需獲得IronPDF許可,或有其他疑問,請聯絡技術支援

如何在Python中建立包含文字和影像的PDF檔案:圖5 - IronPDF for Python授權資訊

您可以從 IronPDF 的網站下載並安裝該庫。

常見問題解答

如何使用Python創建含有文字和圖片的PDF?

您可以使用IronPDF的ChromePdfRenderer在Python中創建具有文字和圖片的PDF。首先,安裝IronPDF程式庫,然後創建一個包含所需內容的HTML字符串。使用RenderHtmlAsPdf方法將HTML渲染為PDF,最後使用SaveAs方法保存PDF。

安裝用於Python的PDF程式庫的步驟是什麼?

要安裝Python的IronPDF程式庫,您可以使用PIP套件管理器。在命令行或終端中運行命令pip install ironpdf以下載和安裝程式庫及其依賴項。

使用Python中的PDF創建程式庫需要什麼先決條件?

您需要在機器上安裝Python,一個用於開發的IDE如PyCharm,和IronPDF程式庫。此外,IronPDF需要Microsoft .NET運行時才能運行。

使用Python程式庫是否可以利用外部CSS或JavaScript自定義PDF?

是的,IronPDF允許您使用外部CSS和JavaScript文件自定義PDF的佈局和設計。此功能提供文本和圖像佈局的高級自定義選項。

Python程式庫的PDF是否具有跨平台兼容性?

IronPDF旨在具有跨平台的兼容性,確保您生成的PDF在不同操作系統上可以一致地查看和交互。

在使用Python生成PDF時,為什麼要使用base64編碼圖片?

Base64編碼被用來將圖片的二進制數據轉換為可以直接嵌入HTML的字符串格式。這允許在PDF中包含圖片而無需引用外部文件。

IronPDF for Python的主要特點有哪些?

IronPDF提供功能如輕鬆集成入Python環境,支持豐富的文本和圖片,以及跨平台兼容性。這些功能使其成為生成具有動態內容PDF的多功能工具。

IronPDF如何協助生成動態PDF文檔?

IronPDF提供強大的API,允許開發人員生成包含動態內容如文字和圖片的PDF。它支持HTML和CSS進行格式化,使得能夠在Python中輕鬆創建視覺上吸引人的文檔。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me