在WPF C#应用程序中将XPS转换为PDF

时间:2011-06-18 12:04:38

标签: c# pdf pdf-generation xps

我需要将我用我的应用程序创建的XPS文件转换为PDF文件,这样做的最佳方法是什么?我更喜欢使用托管程序集从C#内部完成。

第三方解决方案首选开源

4 个答案:

答案 0 :(得分:3)

开源托管程序集可能很难找到,但您可以查看tallcomponents.com以获取可能有用的商业产品。您可以查看GhostScript.com,它的开源并支持XPS和PDF,虽然您可能在没有许可证的情况下重新分发它。

答案 1 :(得分:3)

您可以使用XpsDocument类读取XPS文件,然后使用PDF库(例如Report.Net或#PDF)将其导出。我在.NET 1.1中使用了#PDF,但不确定它是否可以轻松转换为.NET 2.0。

#PDF: http://sharppdf.sourceforge.net/

Report.NET: http://report.sourceforge.net/

答案 2 :(得分:1)

使用 Ghostscript 将 XPS 转换为 PDF 文档。请参考以下代码片段将 XPS 转换为 PDF

Process process = new Process();
process.StartInfo.FileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ghostxps-9.54.0-win32", "gxpswin32.exe");
process.StartInfo.Arguments = $"-sDEVICE=pdfwrite -sOutputFile=\"{pdfFilePath}\" -dNOPAUSE \"{xpsFilePath}\"";
process.Start();
process.WaitForExit();

请参阅以下链接了解更多详情。点击here

答案 3 :(得分:0)

虽然它不是免费的,但Amyuni PDF Creator .Net支持加载XPS文件并将其另存为PDF格式。

通常的免责声明适用。