使用IRONPDF FOR PYTHON

如何在Python中创建包含文本和图像的PDF文件

发布 2024年三月6日
分享:

在这个数字化的时代,需要生成具有动态内容(包括文本和图像)的 PDF 文档是一种普遍要求。Python 是一种流行的编程语言,可以轻松实现常规流程的自动化,从而节省时间和精力。拥有一个多功能库,可以 创建包含文本和图像的 PDF 文件 可以非常方便地自动生成报告、收据或发票。 IronPDF是一个通用的 Python 库,它简化了创建内容丰富的 PDF 的过程。

在本文中,我们将探讨如何使用 IronPDF 在 Python 项目中生成包含文本和图像的 PDF。

如何用 Python 创建包含文本和图像的 PDF 文件

1.安装 IronPDF for Python 库

2.实例化 ChromePdfRenderer

3.添加文本内容

4.将图像添加为二进制数据

5.创建包含文本和图像的 HTML 字符串

6.使用 RenderHtmlAsPdf 将 HTML 渲染成 PDF

7.使用 SaveAs 方法保存 PDF 文件

IronPDF 简介

IronPDF 是一个功能丰富的 Python 库,为开发人员提供了强大的工具,用于 创造IronPDF 可帮助您编辑、操作和处理 PDF 文档。使用 IronPDF,您可以轻松地将文本、图像、表格和其他元素整合到 PDF 中,使其成为从生成报告到创建文档等各种应用的宝贵资产。

如何用 Python 创建包含文本和图像的 PDF 文件:图 1 - Python 版 IronPDF: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 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 解释器。单击 "Create" 按钮创建项目。Python 项目创建后,打开一个新的 Python 文件,使用它编写代码,使用 IronPDF 生成 PDF 文件。](/static-assets/pdf/blog/python-create-pdf-with-text-and-images/python-create-pdf-with-text-and-images-2.webp)

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
PYTHON

第 2 步:实例化 ChromePdfRenderer

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

# 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>
"""
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>
"""
PYTHON

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

这一步连接文本和图像 HTML 字符串,创建完整的 HTML 内容 (full_html_content) 将被渲染为 PDF 输出文件。

full_html_content = html_content + imgHtml
PYTHON

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

这里,RenderHtmlAsPdf 方法用于将 HTML 转 PDF 使用ChromePdfRenderer

# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
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")
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")
PYTHON

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

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

结论

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

IronPDF 许可证 或者你可以 联系支持 如需进一步查询,请联系

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

您可以从 IronPDF 的 网站.

< 前一页
如何在 Python 中生成 PDF 文件
下一步 >
如何在Python中为PDF添加页码

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

免费 pip 安装 查看许可证 >