PYTHON PDF 工具

如何在Python中创建PDF文件

发布 2023年七月3日
分享:

PDF (便携式文档格式) 是在线收发数据最常用的数字文件格式。它主要用于保存数据格式,并通过加密密码确保数据安全。.pdf 扩展名与软件应用程序、硬件或操作系统无关。

在本文中,我们将用 Python 编程语言创建 PDF 文件。有很多在线选项,但在这里我们将使用 Python 库来创建 PDF 文件。以下是用 Python 生成单页或多页 PDF 文档的两个著名库:

1.报告实验室

2.PDFKit

从上述 PDF python 库中,我们可以使用任何人来生成 PDF。

如何用 Python 创建 PDF 文件?

让我们逐一了解这两个库。

使用 Reportlab 库创建 PDF 文件

报告实验室 库是一个免费的开源 PDF 工具包,可用于轻松创建 PDF 文件。它提供了大量绘图工具,用于在多个页面的特定位置添加图像和文本。您还可以使用 "encryptCanvas "方法创建加密的 PDF 文件。

安装

要安装 Reportlab,需要使用 pip 软件包管理器。它会使用 pip 命令自动下载并安装请求包。只需在 windows cmd 或 PowerShell 中键入以下命令即可:

pip3 install reportlab

注意: 在安装 Python 时,必须将其添加到路径环境变量中,以便在 cmd 或 PowerShell 的任意位置执行上述命令。Python 3+ 建议使用 Pip3,因为它是更新版本。

打开一个新的 Python 文件

要使用 Reportlab 库,我们需要在 python 文件中编写代码并执行它来创建 PDF 文件。

1.在 Windows 搜索栏中搜索并打开 Python 默认的 IDLE shell,然后按 Ctrl + N 或从 "文件 "选项卡中选择 "新建文件"。这将打开用于编写代码的文本编辑器。

2.接下来,用适当的名称保存文件。我将其命名为"createpdf.py "。文件看起来是这样的

如何用 Python 创建 PDF 文件:图 1

用于读取和提取文本的 Python 代码

以下代码可在数秒内绘制文档元素并生成 PDF:

# importing modules
from reportlab.pdfgen import canvas
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase import pdfmetrics
from reportlab.lib import colors

# initializing variables with values
fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'

# creating a pdf object
pdf = canvas.Canvas(fileName)

# setting the title of the document
pdf.setTitle(documentTitle)

# creating the title by setting it's font
# and putting it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)

# creating the subtitle by setting it's font,
# colour and putting it on the canvas
pdf.setFillColorRGB(0, 0, 255)
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)

# saving the pdf
pdf.save()
PYTHON

生成的 PDF 输出如下:

如何用 Python 创建 PDF 文件:图 2

代码说明

导入所有模块和软件包后,我们首先初始化了所有将写入 PDF 文件的内容。

fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'
PYTHON

现在,我们设置画布名称、文档标题、居中的标题和副标题,并使用适当的字体和大小。

# creating a pdf object
pdf = canvas.Canvas(fileName)

# setting the title of the document
pdf.setTitle(documentTitle)

# creating the title by setting it's font
# and putting it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)

# creating the subtitle by setting it's font,
# colour and putting it on the canvas
pdf.setFillColorRGB(0, 0, 255)
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)
PYTHON

最后,当画布上的所有内容都绘制完成后,我们就可以保存 PDF 文件了。

# saving the pdf
pdf.save()
PYTHON

我们还可以使用 drawStringdrawText 方法,在 python 中使用 Reportlab 创建简单的 PDF 文件。

使用 PDFKit 库创建 PDF 文件

PDFKit 库是用 python 创建 PDF 文件的最佳方法之一。它可以使用 HTML 代码创建 PDF 文件。你可以将简单和复杂的 HTML 文件或来自 URL 的 HTML 渲染成像素完美的可打印 PDF 页面。不过,PDFKit 集成了 wkhtmltopdf 功能,可将 HTML 转换为 PDF。要为 Windows、Linux 和 Mac 安装 wkhtmltopdf,请访问此链接 链接.

注: 在 Windows 操作系统中,wkhtmltopdf 将安装在程序文件中。

安装

使用以下命令安装 PDFKit:

pip3 install pdfkit

从 URL 创建 PDF 文件

使用 PDFKit 创建 PDF 文件非常简单,只需一行即可完成。

import pdfkit

pdfkit.from_url('http://google.com', 'out.pdf')
PYTHON

从 HTML 文件创建 PDF 文件

import pdfkit

pdfkit.from_file('index.html', 'out.pdf')
PYTHON

从 HTML 模板创建 PDF 文件

您可以通过 HTML 模板字符串将其转换为 PDF 作为输出文件。

html_string = """
    <html>
        <head>
        <meta name="pdfkit-page-size" content="Legal"/>
        <meta name="pdfkit-orientation" content="Landscape"/>
        </head>
        Hello World!
        </html>
    """

pdfkit.from_string(html_string, 'out.pdf')
PYTHON

PDFKit 可让您使用 HTML 模板在 python 中轻松创建 PDF。

The IronPDF Library

IronPDF 是一个有用的工具 创建 PDF 文件 在 .NET 项目中使用。该库的一个常见用途是 "HTML 到 PDF "渲染,即使用 HTML 作为渲染 PDF 文档的设计语言。

IronPDF 使用 .NET Chromium 引擎将 HTML 页面渲染为 PDF 文件。通过 HTML 到 PDF 的转换,无需使用复杂的 API 来定位或设计 PDF。IronPDF 还支持所有标准的网页技术:HTML、ASPX、JS、CSS 和图像。

它还能让你使用 HTML 5、CSS、JavaScript 和图像创建 .NET PDF 库。您可以毫不费力地对 PDF 进行编辑、盖章、添加页眉和页脚。此外,它还能轻松读取 PDF 文本和提取图像。

要开始使用 IronPDF,您需要安装 NuGet 软件包:

 pip install ironpdf

下面的示例可以帮助你直接从 URL 创建 PDF:

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/")

# Export to a file or Stream
pdf.SaveAs("url.pdf")
PYTHON

以下代码将帮助您通过 HTML 代码以及任何 CSS 或 JavaScript 创建 PDF 文件:

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")

# Export to a file or Stream
pdf.SaveAs("output.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

从上面的代码可以看出,它非常简单、干净。只需几行代码就能从 HTML 代码中创建 PDF 文件。这是一个快速、可靠、省时且结果准确的解决方案。

下载 IronPDF 并试用 免费的.试用期结束后,许可费用从 $749 开始。

< 前一页
如何使用PyCharm(开发人员指南)
下一步 >
如何在Python中读取PDF文件

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

免费 pip 安装 查看许可证 >