常见问题
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 获取。