Aspose.Page for .NET–PS/EPS/XPS 转换常见问题解答
问:Aspose.Page for .NET 可以相互转换哪些文件格式?
答: 来自: PostScript (.ps)、封装 PostScript (.eps) 和 XML 纸张规范 (.xps)。
至: PDF、SVG、PNG、JPEG、BMP、GIF、TIFF(光栅和多页)、EMF/WMF 以及 Aspose.Imaging 支持的任何图像格式(例如 WEBP)。
问:支持哪些.NET 版本?
答: .NET Framework4.6+、.NET Core2.0+ 和 .NET5、6、7、8。该库作为 NuGet 包 (Aspose.Page) 提供,并在 Windows、Linux 和 macOS 上运行。
问:我是否需要任何外部依赖项,例如 Ghostscript 或 ImageMagick?
答: 不。Aspose.Page 是一个纯托管库;所有渲染和转换逻辑都是内置的,不需要本机二进制文件或第三方工具。
问:如何在 C# 中将 PS/EPS/XPS 文件转换为 PDF?
答:
1using Aspose.Page;
2using Aspose.Page.Drawing;
3
4// Load the source document
5using (var document = new Document("input.ps"))
6{
7 // Save as PDF
8 document.Save("output.pdf", SaveFormat.Pdf);
9}将文件扩展名替换为“.eps”或“.xps”以处理这些格式。
问:我可以将多页 PS/EPS/XPS 文件转换为多页 PDF 或图像堆栈吗?
答: 是的。 “Document”对象代表整个源文档。保存为 PDF 会生成多页 PDF。保存为图像格式时,您可以:
- 每页生成一张图像(默认)
- 通过设置“TiffSaveOptions.MultiPage = true”将页面合并为多页 TIFF。
问:是否可以设置输出图像的分辨率/DPI?
答: 当然。使用特定于格式的保存选项并设置“ResolutionX”/“ResolutionY”(或“DpiX”/“DpiY”)。 PNG 示例:
1var options = new PngSaveOptions { ResolutionX = 300, ResolutionY = 300 };
2document.Save("page1.png", options);问:如何在转换过程中控制页面大小、方向或裁剪?
答: 每个页面都会公开一个“PageInfo”对象,您可以在其中读取/写入“Width”、“Height”、“Orientation”、“Margin”和“ClipRect”。还可以通过 GDI+ 风格的图形 API(“图形”、“矩阵”)应用转换。
问:Aspose.Page 是否保留色彩空间和透明度?
答: 是的。转换为 PDF、PNG、TIFF 或 SVG 时,会保留原始颜色配置文件(DeviceRGB、CMYK)和透明度。对于不支持 CMYK 的格式(例如 JPEG),引擎会执行自动颜色转换,同时保持视觉保真度。
问:我可以在不接触文件系统的情况下转换内存中的文档吗?
答: 是的。从“Stream”(例如“MemoryStream”)加载并直接保存到另一个“Stream”:
1using (var input = new MemoryStream(File.ReadAllBytes("sample.xps")))
2using (var doc = new Document(input))
3using (var output = new MemoryStream())
4{
5 doc.Save(output, SaveFormat.Pdf);
6 // output.ToArray() now holds the PDF bytes
7}问:生产使用是否需要许可?
答: 免费试用版在免许可模式下运行,并在 PDF 上添加小水印。对于商业部署,您必须购买 Aspose.Page 许可证文件 (Aspose.Page.lic)。应用它:
1var license = new License();
2license.SetLicense("Aspose.Page.lic");此后所有限制均被取消。
问:典型的性能特征是什么?
答: 转换速度: 现代 CPU(Intel i7-12 核心)上每页约 150-250 毫秒,适用于 PS/EPS → PDF。
*内存使用量:*对于最多 150 页的文档,内存使用量保持在 100MB 以下。
*可扩展性:*支持异步处理和需要时并行转换单独的页面。
问:如何处理“无效的 PS 文件”或“不支持的 XPS 功能”等错误?
答: 运行时错误会抛出 Aspose.Page.Exceptions 子类(FileFormatException、ConversionException 等)。将转换包装在 try/catch 块中,检查“Message”和“ErrorCode”。如果需要,请调用“Document.Validate()”进行飞行前检查。
问:有可用的示例项目或代码片段吗?
答: 是的。官方 Aspose.Page GitHub 存储库包含可立即运行的示例:
- PS/EPS → PDF
- XPS → SVG
- 多页 TIFF 导出
- 内存中流转换
所有示例都位于“/Examples/CSharp/Conversion”下。
问:在哪里可以找到文档和 API 参考?
答:
•
官方文档
•
API 参考(类型文档)
• 知识库,其中包含涵盖常见转换场景的“操作方法”文章。
问:是否提供技术支持?
答: 是的。获得许可的客户将收到来自 Aspose 工程师的电子邮件和基于票证的支持(响应时间≤24 小时)。社区论坛向所有用户开放,可解答一般性问题。