使用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: The Python PDF Library

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 for .NET 功能,还需要 Microsoft .NET runtime。 Linux、Mac 和 Windows 用户可以使用下载链接下载 .NET 6.0 版本。

在 PyCharm 中创建 Python 项目

满足前提条件后,打开 PyCharm 并创建一个新的 Python 项目。 为您的项目建立虚拟环境,以便有效管理依赖关系。

  1. 点击文件 > 新建项目

  2. 在 "新建项目 "窗口中

    • 在 "位置 "字段中输入项目名称。

    • 选择保存项目文件的位置。
  3. 在 "项目解释器 "下,选择 Python 解释器。 如果您安装了 Python,它将自动检测 Python 解释器。

  4. 选择项目类型。 对于简单的 Python 项目,您可以使用默认设置。

    ![如何在 Python 中创建包含文本和图像的 PDF 文件:图 2 - 打开 PyCharm IDE。进入文件菜单 - 点击新建项目。 输入 Python 项目的名称和位置。 接下来,在 "Project Interpreter" 下选择 Python 解释器。 单击"创建"按钮创建项目。 一旦创建了 Python 项目,打开一个新的 python 文件,并使用它编写代码以使用 IronPDF 生成 PDF 文件。

  5. 单击创建以创建项目。

  6. 打开一个新的 Python 文件并保存,以编写代码使用 Python 库IronPDF生成 PDF 文件。

使用 PIP 安装 IronPDF for Python

要安装 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
py
PYTHON

第 2 步:实例化 ChromePdfRenderer

在这里,我们将创建一个ChromePdfRenderer的实例,用于将HTML内容渲染为PDF。

# Instantiate Renderer
renderer = ChromePdfRenderer()
py
PYTHON

步骤 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>
"""
py
PYTHON

步骤 4:添加图片

在这里,我们将以二进制模式打开并读取图像文件(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
PYTHON

步骤 5:连接文本和图像 HTML 字符串

此步骤将文本和图像的HTML字符串连接起来,以创建将在PDF输出文件中呈现的完整HTML内容(full_html_content)。

full_html_content = html_content + imgHtml
py
PYTHON

第 6 步:将 HTML 内容渲染为 PDF 文件

此处使用RenderHtmlAsPdf方法通过ChromePdfRendererHTML转换为PDF

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

第 5 步:保存 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")
py
PYTHON

输出 PDF 文档

现在执行程序后,输出的 PDF 文件如下:

如何在Python中创建包含文本和图像的PDF文件:图4 - OUTPUT: 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")
py
PYTHON

在这个高级代码示例中,我们将通过外部资源进一步阐述嵌入图片的概念。 RenderHtmlAsPdf 方法中的 HTML 内容包括一个指向图像文件(iron.png)的  related to 高级用法:自定义文本和图片位置标签,该文件位于指定的资产目录(C:\site\assets\)中。 此外,此目录被设置为BasePath参数。

RenderHtmlAsPdf中,您可以像上面的步骤中所示一样发送完整的HTML网页。 可以使用基本路径作为第二个可选参数来引用 CSS 文件。 关于生成PDF格式或修改现有PDF文件的其他方法的更多详细信息,请访问代码示例文档页面。

结论

在本文中,我们探讨了如何在 Python 项目中使用IronPDF创建包含文本和图像的 PDF 文件。 凭借其直观的 API 和强大的功能,IronPDF 使开发人员能够毫不费力地生成动态且具有视觉吸引力的 PDF 文档。 无论您是创建报告、文档还是其他任何类型的内容,IronPDF 都能为 Python PDF 生成提供可靠而灵活的解决方案。 尝试使用自定义选项,根据特定设计要求定制 PDF,使 IronPDF 成为满足您文档生成需求的重要工具。

IronPDF 许可 或者您可以 联系支持 以获取更多查询。

如何在 Python 中创建包含文本和图像的 PDF 文件:图 5 - IronPDF for Python 许可信息

您可以从IronPDF的网站下载和安装该库。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
如何在 Python 中生成 PDF 文件
下一步 >
如何在Python中为PDF添加页码

准备开始了吗? 版本: 2025.5 刚刚发布

查看许可证 >