我一直有这个问题的heckuva时间,并且在搜索引擎中似乎有很多噪音到达它的底部,所以请原谅我,如果我错过了那里的银弹
基本需求是我必须生成具有静态和动态元素的PDF文档。我开始通过使用包含所有静态内容的PDF模板来完成此操作,然后我想将各种动态元素注入其中。问题是PDF并不意味着以这种方式进行操作,并且根据我放在那里的动态文本的大小,可能会溢出其他页面上的文本。我正在使用iTextSharp,但无法解决这个问题。
可能的后备是生成DOCX,我之前已经完成,然后将其转换为后端的PDF。我发现这样做的唯一库是付费应用(例如Aspose)。有examples out there转换为PDF而没有这些库,但它们似乎需要客户端应用程序。我是通过IIS做的。
更长的故事......是否有免费的库可以将DOCX文件转换为PDF服务器端,而无需启动客户端应用程序来执行此操作?
答案 0 :(得分:2)
这里有几个选择:
构建一个COM互操作类,它将在.docx上执行读取和“另存为”功能。您提供的MSDN链接不需要在客户端运行,而是在GAC或ASP.NET的bin目录中具有Office程序集。
购买第三方组件为您完成工作。 Here's just one example with no guarantees
答案 1 :(得分:2)
我不熟悉任何好的免费版本,但我们使用Aspose.Words来实现类似于你描述的内容。我们使用静态文本和邮件合并字段保留Word模板。模板可以是常规Word文档,它们不必是.dot模板。邮件合并字段可以是单个字段,也可以是表中的可重复数据,因此您可以轻松生成非常复杂的文档而无需进行动态文档编辑。 (这总是一种选择)
使用Aspose是非常无摩擦的我建议使用Aspose,除非成本(这是重要的)是一个显示阻止。支持也很好,这总是一个额外的好处。
总有一些警告......
答案 2 :(得分:-1)
答案 3 :(得分:-3)
我刚刚发现使用LibreOffice从命令行转换任何文件的非常简单的解决方案:
soffice.exe --headless --convert-to pdf file.xls
(google for rest)