首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从WPF FixedDocument生成iTextSharp

从WPF FixedDocument生成iTextSharp
EN

Stack Overflow用户
提问于 2010-08-02 16:29:28
回答 4查看 11.4K关注 0票数 7

我有一个简单的WPF应用程序,显示和打印一些报告与FixedDocument。

如何使用免费和开放的解决方案(如iTextSharp )来生成PDF文件?

EN

回答 4

Stack Overflow用户

发布于 2010-08-19 02:58:20

WPF FixedDocument,也称为XPS文档,是对PDF的明显改进。它有很多PDF所缺少的功能。在大多数情况下,最好将文档分发为XPS而不是PDF,但有时有必要从XPS转换为PDF,例如,如果您需要在只支持PDF的设备上打开文档。不幸的是,大多数从XPS到PDF的免费工具,如CutePDF和BullzipPDF,都需要安装打印机驱动程序,或者不是开源的。

一个好的开源解决方案是使用"gxps“工具,它是GhostPDL的一部分。GhostPDL是Ghostscript项目的一部分,并且是在GPL2下获得开源许可的。

  1. http://ghostscript.com/releases/ghostpdl-8.71.tar.bz2下载GhostPDL并对其进行编译。
  2. 使用Process.Start.

将gxps.exe可执行文件作为内容复制到项目中,并从代码中调用它

您的代码可能如下所示:

代码语言:javascript
复制
string pdfPath = ... // Path to place PDF file

string xpsPath = Path.GetTempPath();
using(XpsDocument doc = new XpsDocument(xpsPath, FileAccess.Write))
  XpsDocument.CreateXpsDocumentWriter(doc).Write(... content ...);

Process.Start("gxps.exe",
              "-sDEVICE=pdfwrite -sOutputFile=" +
                  pdfPath +
                  "-dNOPAUSE " +
                  xpsPath).WaitForExit();

// Now the PDF file is found at pdfPath
票数 7
EN

Stack Overflow用户

发布于 2010-08-11 11:54:04

一种简单的方法,它很容易,但可能不是最有效的方法是将固定的文档渲染为图像,然后使用iTextSharp将图像嵌入到PDF中。

我以前成功地用过这种方法。最初,我试图将控制基元(形状)转换为PDF等效项,但事实证明这太难了。

票数 1
EN

Stack Overflow用户

发布于 2010-08-18 08:50:55

如果您可以将其从WPF导入到图像中,则可以将其导入到iTextSharp中,就像本文中所做的那样。如果您将文件系统写入MemoryStream,然后使用该文件系统而不是FileStream,您甚至可以避免所有这些文件系统。

http://www.mikesdotnetting.com/Article/87/iTextSharp-Working-with-images

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3386147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档