WPF到XPS到PDF

Ale*_*nor 14 pdf wpf .net-4.0 xps pdfsharp

我已经在标准WPF控件中实现了一个报表,并且还实现了一个DocumentPaginator来获取这些控件并将它们转换为一个文档进行打印.

我还实现了一些代码,它们使用文档分页器将页面呈现为图像,并使用PDFSharp将它们写入PDF ,但是这不允许复制和粘贴,图像质量也有问题.

我已经尝试过使用GhostXPS实用程序并考虑通过保存到XPS文档然后使用GhostXPS将其转换为PDF来使用它,这很有希望,但是当前版本包含一个错误,该错误会从生成的PDF中复制数据无用...

所以我想我会在这里尝试找到一种有效的方法来做到这一点,有人可以建议一个好的方法来获取DocumentPaginator并直接将其保存为PDF,具有复制/粘贴功能或从XPS文档转换它到具有此功能的PDF?

谢谢,亚历克斯.

编辑 - PDFSharp修复:这里要求的是我为编译PDFSharp 1.31 XPS转换器的修复程序所做的工作:

1)我从这里下载了源代码:

PDFSharp - SourceForge

2)我按照这篇文章中的说明:

PSFSharp修复

XpsParser.ImageBrush.cs (ln 22, added): brush.Opacity = 1;
PdfContentWriter.cs (ln 526, changed): if (opacity <= 1)
Run Code Online (Sandbox Code Playgroud)

3)然后只需编译源代码,首先打开'PdfSharp-WPF.csproj'并构建它,然后打开'PdfSharp.Xps.csproj'并构建它,相关的库是'PdfSharp-WPF.dll'和'PdfSharp.Xps.dll'

注意,在尝试构建源代码时,您可能会收到一些错误,具体取决于您所针对的.NET版本,如果您只是阅读错误消息,这些错误很容易修复.

编辑(2):NJones创建了一篇博文,其中详细介绍了PdfSharp修复:在WPF中输出为PDF

Je *_*not 11

PDFsharp 1.31附带了一个XPS转换器.它是测试版,但AFAIK几乎支持所有功能,可以满足您的需求.

PDFsharp 1.31可以从SourceForge或CodePlex下载.

  • 我很期待他再次接回来的时候.与此同时,我深入研究并发现了一些可以解决一些问题的额外错误.我在这里写了博客:http://www.nathanpjones.com/wp/2013/03/output-to-pdf-in-wpf-for-free/ (8认同)