在生产环境中测试,无水印。
随时随地满足您的需求。
获得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字符串连接起来,以创建将在PDF输出文件中呈现的完整HTML内容(full_html_content)。
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 内容包括一个指向图像文件(iron.png)的 标签,该文件位于指定的资产目录(C:\site\assets\)中。 此外,此目录被设置为BasePath参数。
在RenderHtmlAsPdf中,您可以像上面的步骤中所示一样发送完整的HTML网页。 可以使用基本路径作为第二个可选参数来引用 CSS 文件。 关于生成PDF格式或修改现有PDF文件的其他方法的更多详细信息,请访问代码示例和文档页面。
在本文中,我们探讨了如何在 Python 项目中使用IronPDF创建包含文本和图像的 PDF 文件。 凭借其直观的 API 和强大的功能,IronPDF 使开发人员能够毫不费力地生成动态且具有视觉吸引力的 PDF 文档。 无论您是创建报告、文档还是其他任何类型的内容,IronPDF 都能为 Python PDF 生成提供可靠而灵活的解决方案。 尝试使用自定义选项,根据特定设计要求定制 PDF,使 IronPDF 成为满足您文档生成需求的重要工具。
IronPDF 许可 或者您可以 联系支持 以获取更多查询。
您可以从IronPDF的网站下载和安装该库。