将XPS转换为PDF(反之亦然)的最佳方法是什么?

15
我有从XAML用户控件生成的XPS文档,它们作为模板。我想通过基于.NET的API以编程方式将XPS文档转换为其他格式,主要是PDF。

最佳方法是什么?

您可以使用Microsoft的XPS转换器 API或第三方PDF库,例如iTextSharp或PDFSharp来将XPS文档转换为PDF格式。这些库都提供了可以编程访问的API,这使得转换过程可以嵌入到您的应用程序中并进行自动化处理。

对于一个开源解决方案,请参见此问题。希望这能帮助到某些人。 - killaJewl
5个回答

6

您也可以使用ABCpdf PDF组件进行.NET开发。版本7可以满足您的需求。 请查看http://www.websupergoo.com/abcpdf-12.htm

与NiXPS相比,它提供了完全功能的试用版本,并且几乎同样快速。


唉,我们已经购买了NiXPS,但是除了所有文档上的红色“TRIAL”之外,NiXPS试用版似乎完全正常运行 :-)我们唯一遇到的技术问题是,当从XPS byte[]构建PDF时,您需要创建比您正在生成的预期PDF byte[]数组更大的缓冲区...有点糟糕...但您可以解决它。 - markti
我们的试用版确实是完全功能的 - 除了输出上的试用水印。markti:你能联系我们的支持人员解决那个缓冲问题吗? - nixps
已经有了,他们说会考虑增强那个操作。 - markti
AbcPdf非常棒。它正确处理CMYK颜色空间和复杂脚本(从右到左),这是我在其他任何转换器中都没有发现的。非常好的产品! - Alireza

3
过去,我处理这个问题的方法是将我的XPS文件打印到PDF打印机上。我使用cutePDF来实现。因此,当您选择打印时,您需要打印到cutePDF,它会打印出PDF版本。
我不确定这是否符合您的需求,但在过去,它对我很有效。

1
我正在寻找一种使用基于.NET的API以编程方式完成此操作的方法。 - markti
这个方法可行且免费,也可以进行自动化编程。但要注意的是,如果你在XPS文件中使用了CMYK颜色值,这种方法会对其产生影响。如果这很重要,建议尝试使用转换API(如abcpdf或nixps)。 - Alireza

2

如果您有OneNote,可以将内容打印到OneNote中,然后在OneNote 2013中导出为PDF文件。这似乎比安装另一个第三方工具更好。


1

经过长时间的搜索,我找到了这个SDK:

NiXPS

它有点贵,但是非常好用。再见fop!


NiXPS似乎有点过时了。他们网站上的最新消息是从2010年的。主页只是一个望向蓝天的视图。 - DrMarbuse

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接