基于Microsoft Word模板生成PDF文档

时间:2008-09-17 17:03:59

标签: c# .net asp.net pdf pdf-generation

我需要一个Word文档,这是一个类别的模板...收集用户输入以填充该模板中的特定字段..然后生成一个PDF文件,其中包括已完成的模板以及一些其他文档类型。有没有人对组件有一个很好的建议来实现这一目标?最好不要在Web服务器上安装Microsoft Office。

7 个答案:

答案 0 :(得分:6)

为.net尝试Aspose Words。从他们的网站:“Aspose.Words使.NET和Java应用程序能够在不使用Microsoft Word的情况下读取,修改和编写Word®文档。”使用带有Aspose PDF的Aspose Words可以输出为PDF。

您不想做的一件事是在生产服务器上安装MS Word。加载这些对象是SLOW和EATS内存。除非您还在服务器上安装MS Word,否则您将无法使用CutePDF Writer。 Yeck。

答案 1 :(得分:0)

是否有理由使用Word?如果您从带有表单字段的PDF开始,您可以允许用户填写字段,或者使用iTextSharp的PDF压模以编程方式进行编程。

如果需要以编程方式使用MSOffice 2000/2003组件,则可以尝试使用Office Web Components。它们确实需要安装在服务器上,但.NET和Com应用程序可以使用它们与office文件类型进行交互。这里有更多信息...... http://en.wikipedia.org/wiki/Office_Web_Components

如果你在办公室CD上挖掘,你应该找到你的版本的OWC安装程序。我没有和2007年合作,但我认为有类似的东西可用。

iTextSharp和OWC是免费的,请查看许可以获取更多详细信息。

答案 2 :(得分:0)

嗯......您可以以创造性的方式使用CutePDF打印机来解决这个问题。从本质上讲,它可以通过标准打印驱动程序提供任何,并从中生成PDF。它是免费的。

答案 3 :(得分:0)

尝试使用Apache POI API填充字段。它可以进入Word文档并访问它们的元素。

至于Word - > PDF步骤,我还建议评估Aspose解决方案。它甚至可以执行这两个步骤。然而,它不是免费的。

答案 4 :(得分:0)

我对“doc模板”+合并到pdf解决方案的第一个想法是从开放式办公室格式开始。 - odt文件(打开文档模板)是基于xml的 - 所以你甚至可以使用perl进行合并,然后调用writer的doc 2 pdf(我不知道他们是否有API,但是可以找到更少的比一天 - 即使必须检查来源。)

并将“word”点转换为writer odt文件只是OoWriter中的“文件另存为”操作。

答案 5 :(得分:0)

如果您使用Aspose.Words,那么您的输入文档/模板可以采用多种支持格式之一,包括DOC,DOCX。

然后,您可以通过多种方式将数据插入到文档中。您可以在文档中使用书签,只需设置文本即可。或者更好地使用我们提供的报告引擎。它允许使用标准MS Word MERGEFIELD字段,并添加重复区域甚至嵌套的功能。例如。您可以在MS Word中设计发票(带有父/子数据)模板,然后在一行代码中从.NET DataSet填充。

此外,您只需要Aspose.Words来生成PDF(一年前您需要Aspose.Words和Aspose.Pdf)。您还可以轻松地将完全相同的文档保存为DOC,DOC,DOCX和其他一些格式。

我在Aspose.Words开发团队。

答案 6 :(得分:0)

查看Muhimbi PDF Converter Web Services。它作为服务在Windows上运行,但可以从任何非Windows Web服务环境(包括Java和.NET)访问。

虽然此解决方案要求MS-Office安装在服务器上(不一定与您的应用程序相同),但它非常强大并且提供了完美的转换保真度。

要生成或修改MS-Word文件,我建议使用免费的Open XML SDK for Microsoft Office。 Eric White对此保持really good Blog

免责声明,我参与了这个产品。话虽如此,但效果很好。