我已经在标准的WPF控件中实现了一个报表,并且还实现了一个DocumentPaginator
来获取这些控件并将它们转换成文档进行打印。
我还实现了一些代码,使用文档分页器来渲染页面到图像,并使用PDFSharp将它们写出到PDF,但是这不允许复制和粘贴,图像质量也是有问题的。
我已经尝试了GhostXPS实用程序,并考虑使用它保存到一个XPS文件,然后使用GhostXPS来转换它到一个PDF,这是有希望的,但当前的版本包含一个bug,使数据复制从生成的PDF无用...
所以我想我会要求在这里尝试并找到一个有效的方法来做到这一点,谁能建议一个好的方法,采取一个DocumentPaginator
和直接保存出来的PDF,复制/粘贴功能,或转换它从一个XPS文件到一个具有此功能的PDF?
谢谢,亚历克斯。
编辑- XPS修复:这里是我为编译PDFSharp 1.31XPS转换器的修复所做的工作:
1)我从这里下载了源码:
PDFSharp - SourceForge
2)我遵循了这篇文章中的说明:
PSFSharp Fix
XpsParser.ImageBrush.cs (ln 22, added): brush.Opacity = 1;
PdfContentWriter.cs (ln 526, changed): if (opacity <= 1)
3)然后编译源代码,首先打开'PdfSharp-WPF.csproj‘并构建它,然后打开'PdfSharp.Xps.csproj’并构建它,相关的库是'PdfSharp-WPF.dll‘和'PdfSharp.Xps.dll’
注在尝试构建源代码时,您可能会收到一些错误,这取决于您的目标.NET版本,如果您只阅读错误消息,这些错误很容易修复。
编辑(2):NJones创建了一篇关于PdfSharp修复的更多细节的博客文章:Output to PDF in WPF
发布于 2012-12-21 16:06:00
在PDFsharp 1.31中包含了XPS转换器。这是一个测试版,但AFAIK它支持几乎所有的东西,可能会满足你的需求。
可以从SourceForge或CodePlex下载PDFsharp 1.31。
发布于 2012-12-22 17:18:31
如果可以选择商业SDK,我遇到的一家公司有专业的XPS到PDF转换选项(甚至更多)。
http://www.nixps.com
警告:我不是这家公司的成员,也没有尝试过他们的产品。从另一方面来说,我听到了他们的好消息。
发布于 2012-12-24 04:08:59
我使用的是Telerik Reporting,它处理文档分页,并允许您在设计器中创建报告,类似于创建图形用户界面。我决定买一个第三方产品,因为我不想把开发时间花在编写自己的分页器等等上。此外,这个工具可能比自定义解决方案更能防止bug,并允许您灵活地设计打印输出/报告。将来,如果您需要更复杂的打印或报表,此工具可以做更多的工作。我不在Telerik工作,但那里的产品很好。
它允许导出为PDF,Word,Excel,HTML,PowerPoint,PNG等。
https://stackoverflow.com/questions/13848223
复制相似问题