在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
在这个数字化的时代,需要生成具有动态内容(包括文本和图像)的 PDF 文档是一种普遍要求。Python 是一种流行的编程语言,可以轻松实现常规流程的自动化,从而节省时间和精力。拥有一个多功能库,可以 创建包含文本和图像的 PDF 文件 可以非常方便地自动生成报告、收据或发票。 IronPDF是一个通用的 Python 库,它简化了创建内容丰富的 PDF 的过程。
在本文中,我们将探讨如何使用 IronPDF 在 Python 项目中生成包含文本和图像的 PDF。
1.安装 IronPDF for Python 库
2.实例化 ChromePdfRenderer
3.添加文本内容
4.将图像添加为二进制数据
5.创建包含文本和图像的 HTML 字符串
6.使用 RenderHtmlAsPdf 将 HTML 渲染成 PDF
7.使用 SaveAs 方法保存 PDF 文件
IronPDF 是一个功能丰富的 Python 库,为开发人员提供了强大的工具,用于 创造IronPDF 可帮助您编辑、操作和处理 PDF 文档。使用 IronPDF,您可以轻松地将文本、图像、表格和其他元素整合到 PDF 中,使其成为从生成报告到创建文档等各种应用的宝贵资产。
IronPDF 的主要功能
在使用 IronPDF 创建 PDF 文档之前,请确保具备以下前提条件:
Python 安装: Python 需要安装在你的电脑上。您可以从 Python 官方网站下载并安装最新版本 (https://www.python.org/).
PyCharm IDE: 使用 PyCharm 或其他 Python IDE。 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 文件的代码。
要安装 IronPDF,请在项目终端或命令提示符下使用以下 PIP 命令:
pip install ironpdf
该命令将自动下载并安装 IronPDF 库及其依赖项。
让我们来看看使用 IronPDF 创建包含文本和图像的单页 PDF 文档的步骤:
在这一步中,我们从 IronPDF 中导入所有需要的模块。我们导入ChromePdfRenderer用于渲染 PDF,导入base64用于图像数据编码。
from ironpdf import ChromePdfRenderer
import base64
在此,我们将创建一个 ChromePdfRenderer 实例,用于将 HTML 内容渲染为 PDF。
# Instantiate Renderer
renderer = ChromePdfRenderer()
在这一步中,我们将定义一个 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>
"""
在此,我们将打开并读取一个图像文件 (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>
"""
这一步连接文本和图像 HTML 字符串,创建完整的 HTML 内容 (full_html_content) 将被渲染为 PDF 输出文件。
full_html_content = html_content + imgHtml
这里,RenderHtmlAsPdf 方法用于将 HTML 转 PDF 使用ChromePdfRenderer。
# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
最后,生成的 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 页面也可轻松添加到 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 文件的其他方法的详细信息,请访问 代码示例 和 文件 page.
在本文中,我们探讨了如何使用 IronPDF 在 Python 项目中创建包含文本和图像的 PDF 文件。凭借其直观的应用程序接口(API)和强大的功能,IronPDF 可帮助开发人员毫不费力地生成动态且具有视觉吸引力的 PDF 文档。无论是创建报告、文档还是其他任何类型的内容,IronPDF 都能为在 Python 中生成 PDF 提供可靠而灵活的解决方案。您可以尝试使用自定义选项来定制 PDF,以满足特定的设计要求,从而使 IronPDF 成为满足您文档生成需求的重要工具。
IronPDF 许可证 或者你可以 联系支持 如需进一步查询,请联系
您可以从 IronPDF 的 网站.