Aspose.Page for Python – 常见问题



问:什么是 Aspose.Page for Python 以及它支持哪些文件格式?

答: Aspose.Page for Python 是一个库,可以创建、修改、转换和渲染 PostScript (PS)、Encapsulated PostScript (EPS) 和 XPS 文档。它可以输出 PDF、XPS、PNG、JPEG、BMP、GIF、TIFF、SVG 并导出 PDF-XObject 或 XPS-Canvas 对象。


问:我需要任何外部工具(例如 Ghostscript 或 .NET 运行时)才能使用该库吗?

答: 否。所有必需的渲染和转换逻辑都捆绑在一个独立的本机二进制文件中,“aspose.page”包在运行时加载。 Windows、macOS 或 Linux 上不需要外部依赖项。


问:如何安装 Aspose.Page for Python?

答: 使用点:

1pip install aspose-page

轮子会自动将本机二进制文件提取到您的站点包文件夹中。


问:如何申请许可证以避免评估水印?

答: 将您的 .lic 文件放置在可访问的位置,并在进行任何处理之前添加以下代码:

1import aspose.page as ap
2license = ap.License()
3license.set_license('Aspose.Page.Python.lic')

该路径可以是绝对路径或相对于脚本的路径。


问:将 PS 文件转换为 PDF 的最少代码是什么?

答:

1import aspose.page as ap
2
3doc = ap.Document('sample.ps')
4pdf_opt = ap.save.PdfSaveOptions()
5doc.save('sample.pdf', pdf_opt)

默认情况下,该调用处理所有页面。


问:如何将 XPS 文档的特定页面渲染为 PNG?

答:

1import aspose.page as ap
2
3doc = ap.Document('sample.xps')
4img_opt = ap.save.ImageSaveOptions(ap.SaveFormat.PNG)
5img_opt.page_number = 2          # 1based index
6doc.save('page2.png', img_opt)

根据需要在“img_opt”上设置“分辨率”、“jpeg_quality”等。


问:我可以从头开始创建新的 PostScript 文档吗?

答: 是的。定义页面大小、获取画布并绘制图形对象:

1import aspose.page as ap
2
3size = ap.base.SizeF(595, 842)           # A4 in points
4doc = ap.Document(size)
5canvas = doc.pages[0].canvas
6canvas.draw_line(ap.base.PointF(0, 0), ap.base.PointF(595, 842))
7canvas.draw_string('Hello Aspose!', ap.base.Font('Arial', 24),
8                   ap.base.Brushes.black, ap.base.PointF(100, 100))
9doc.save('new_doc.ps', ap.save.PSOptions())



问:如何在转换过程中添加 PDF 元数据,例如标题和作者?

答: 使用 PdfSaveOptions 对象:

1pdf_opt = ap.save.PdfSaveOptions()
2pdf_opt.title = 'My Document'
3pdf_opt.author = 'John Doe'
4doc.save('output.pdf', pdf_opt)



问:是否可以将多个 PS/EPS/XPS 文件合并为一个 PDF?

答: 是的。按顺序加载每个源并启用附加模式:

1options = ap.save.PdfSaveOptions()
2options.append_mode = True
3for src in ['a.ps', 'b.eps', 'c.xps']:
4    doc = ap.Document(src)
5    doc.save('merged.pdf', options)



问:如何删除或旋转已加载文档中的页面?

答:

1doc = ap.Document('multi_page.ps')
2doc.pages.remove_at(2)          # removes the third page (0based)
3page = doc.pages[0]
4page.transform.rotate(90)       # clockwise 90°
5doc.save('updated.pdf', ap.save.PdfSaveOptions())



问:我可以替换 PS/EPS 模板中的占位符文本吗?

答: 使用 replace_text API:

1doc = ap.Document('template.eps')
2doc.replace_text('{{name}}', 'John Doe')
3doc.save('filled.pdf', ap.save.PdfSaveOptions())

仅可搜索的文本流受到影响。


问:处理大型 (>500MB) 文档时需要考虑哪些内存因素?

答: 引擎会尽可能流式传输数据,但会将每个页面加载到内存中。为了保持较低的 RAM 使用率,可以通过在循环中设置 options.page_numbers = [n] 来单独处理页面,或者使用 ThreadPoolExecutor 并行处理页面而不保存整个文档。


问:同时转换多个文件时多线程安全吗?

答: 是的。每个“Document”实例都是独立的,因此您可以在单独的线程或进程上运行转换。不共享静态全局状态,使并行执行变得简单。


问:支持哪些 Python 版本和操作系统?

答: 64 位解释器上的 Python3.7–3.12。支持的操作系统:Windows10/11 (x64)、带有 glibc2.17+ (x64) 的 Linux 发行版、macOS10.15+(x64 和 Apple Silicon via Rosetta2)。基于官方 Python 镜像的 Docker 容器开箱即用。


问:我收到“ImportError:没有名为“aspose”的模块”。我该如何修复它?

答: 当前环境中未安装该软件包。使用您打算运行脚本的同一解释器运行“pip install aspose-page”(要验证的“which python”)。如果需要,激活正确的虚拟环境。


问:如何解决 Linux 上的“系统错误:无法加载本机库”?

答: 确保标准 C++ 运行时存在(apt-get install libstdc++6)并且您的 glibc 版本满足最低要求 (2.17)。如果使用较旧的发行版,请升级 libc 软件包或使用较新的基础 Docker 映像。


问:在哪里可以找到官方文档、代码示例和支持?

答:

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.