常见问题

Aspose.PDF FOSS for Python 的授权模式是什么?

Aspose.PDF FOSS for Python 采用 MIT 许可证。它可免费用于商业和非商业产品,无需激活密钥、API 调用限制或商业协议。

我可以在商业产品中使用它吗?

是的。MIT 许可证允许在商业产品中使用、修改和再分发,无需版税,也不需要除许可证声明之外的署名。

我该如何安装 Aspose.PDF FOSS for Python?

使用下面的命令进行安装:

git clone https://github.com/aspose-pdf-foss/Aspose-PDF-FOSS-for-Python.git
cd Aspose-PDF-FOSS-for-Python
pip install -e .

验证安装:

import aspose_pdf
print("aspose_pdf OK")

支持哪些 Python 版本?是否有任何本机依赖?

该库要求 Python 3.11 或更高版本。它是一个 pure-Python 包——在安装或运行时都不需要编译的扩展模块或本机 (C/C++) 依赖。

哪些格式可以 Aspose.PDF FOSS 为 Python 读取和写入?

本机 PDF 文档是核心格式:Document 直接打开和保存 PDF 文件。除了 PDF,库可以通过向 Document.save() 传递 DocFormat 值,将文档导出为 HTML、Markdown 或 SVG,并且可以通过相应的 *LoadOptions 类(HtmlLoadOptions、CdrLoadOptions、CgmLoadOptions、OfdLoadOptions)导入 Html、Cdr、Svg、Cgm 和 Ofd 源内容。渲染后的 PDF 页面也可以通过 RasterizedPage 导出为光栅图像。

我可以将 PDF 导出为 HTML、Markdown 或 SVG 吗?

是的,针对 HTML 和 Markdown 的导出;将相应的 DocFormat 枚举成员传递给 Document.save(),可选地与 HtmlSaveOptions 或 MarkdownSaveOptions 配合使用,以控制布局细节,例如 split_into_pages 或 extract_images。

import aspose_pdf

doc = aspose_pdf.Document()
doc.load_from("input.pdf")
doc.save("output.html", save_format=aspose_pdf.DocFormat.HTML)

我该如何从头创建一个新的 PDF?

实例化 Document,使用 doc.pages.add() 追加页面,使用 Page.add_text() 或 Page.add_image() 放置内容,然后调用 Document.save():

import aspose_pdf

doc = aspose_pdf.Document()
page = doc.pages.add()
page.add_text("Monthly Report", x=72, y=720, font_size=18)
doc.save("report.pdf")

如何将 PDF 页面渲染为图像?

使用零基页索引和目标路径调用 Document.save_page_as_image();DPI 控制输出分辨率:

import aspose_pdf

doc = aspose_pdf.Document()
doc.load_from("input.pdf")
doc.save_page_as_image(0, "page1.png", dpi=150)

如何从 PDF 中提取文本?

使用 TextAbsorber(或 TextFragmentAbsorber),访问文档,然后读取收集的文本:

import aspose_pdf

doc = aspose_pdf.Document()
doc.load_from("input.pdf")
absorber = aspose_pdf.TextAbsorber()
absorber.visit(doc)
print(absorber.text)

如何加密 PDF 文档?

使用用户密码、所有者密码和权限值调用 Document.encrypt():

import aspose_pdf

doc = aspose_pdf.Document()
doc.load_from("input.pdf")
doc.encrypt(user_password="user-pw", owner_password="owner-pw", permissions=0)
doc.save("encrypted.pdf")

Document.decrypt(password) 从已打开的文档中移除加密,而 Document.change_passwords() 则就地旋转两个密码。

我该如何读取或填写 AcroForm 字段值?

访问文档的 form 属性并遍历 Form.fields,或使用 Form.add_text_field()、Form.add_checkbox() 以及相关方法添加新字段:

import aspose_pdf

doc = aspose_pdf.Document()
doc.load_from("submitted_form.pdf")
for field in doc.form.fields:
    print(field.name, "=", field.value)

当前版本是否存在已知的限制?

是的。在当前版本中,四个类中的五个方法是未实现的存根: Shading._color_at, FontSource.get_font_definitions (及其子类 FileFontSource, FolderFontSource, MemoryFontSource, SystemFontSource, 继承相同的存根), DataSource.read_bytes and DataSource.write_bytes (以及它们的子类 FileDataSource, StreamDataSource, ByteArrayDataSource), PdfPlugin.process。调用这些会抛出 NotImplementedError 而不是执行文档中描述的操作。请参阅 Troubleshooting 页面了解详情和解决办法。

源码和问题追踪器在哪里?

源码和问题追踪器可在 https://github.com/aspose-pdf-foss/Aspose-PDF-FOSS-for-Python 获取。

另请参阅

 中文