您会如何建议我将 FlowDocument 转换为 PDF 以附加到电子邮件?
FlowDocument 是动态的,而不是静态的。
我希望能够将 PDF 作为字节 [] 存储在内存中,而不是存储在磁盘上,但这是可以协商的。
感谢您的帮助!
最佳答案
我假设您希望以编程方式而不是手动过程进行此操作。
方法 1: 安装 PDF 驱动程序,例如 Amyuni或 PrimoPDF .将具有所需 PrintTicket/页面大小的 FlowDocument 打印到打印驱动程序。您从中获得的 PDF 应该是一个相当不错的转换。其中一些驱动程序(例如 Amyuni)具有 SDK,您可以通过编程方式控制此过程。
方法 2:使用没有“另存为”对话框的 XPS 驱动程序以编程方式打印到 XPS;在 Windows DDK 中有一个示例,您可以很容易地自己构建。然后使用 XPS 到 PDF 转换器,例如 NiXPS或 Adobe SDK(太贵了,我不会发布链接)或 GhostXPS将 XPS 直接转换为 PDF。
方法三:使用This one等方法将流文档直接转换成XPS然后使用 XPS 到 PDF 转换器,例如上面提到的转换器。
免责声明:我不为任何这些公司或其竞争对手工作。我使用过 Adobe SDK、Amyuni 打印机和各种 XPS 技巧,并取得了相当大的成功。没有任何方法可以 100% 准确地转换。
关于c# - 将 FlowDocument 转换为 PDF 的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182137/