我需要在我的asp.net网站上编写vb.net代码,以使用来自sql server db的数据填写表单。表单可以是预先存在的Word文档或PDF。合并后,用户可以根据需要调整输入等...
关于我应该怎么做的任何建议?有人提到了一些关于利用Open XML的内容,但我不知道是否:
答案 0 :(得分:1)
为了清楚说明这是一个很大的话题,我还在努力全面实现自己。我将从你自己的想法开始使用“Open XML”。
对于Word,这不是一个坏主意,虽然你不会使用open xml而是使用Microsoft格式的xml文档。我特意将它与Response.ContentType命令结合使用来创建动态多页excel表。我没有尝试过,但是如何做到这一点就是创建一个类似于你想要的文档,并将其保存为XML文档而不是doc或docx。然后,您打开该文档并使用它对其进行反向工程,从而以该格式创建页面。
虽然理解这仅适用于Intranet类型设置,因为Response.ContentType仅在IE中表现最佳,默认情况下xml文件不会作为word文档打开。有可能但不推荐。
您也可以将XML与VBA脚本结合使用以创建word文档,尽管这不是一种常见或推荐的方式。
最常见的方法是使用.net的Office库生成word文档。你必须自己谷歌如何使用它,因为这是一个广泛的主题。
在PDF端,选项稍微稀疏一些。您的编辑要求限制了您使用一些工具。
创建文档并将其保存在服务器上意味着您基本上可以执行与文档文档中描述的相同的过程。这里的问题是您需要Adobe Acrobat Pro或类似产品来生成文档,而Pro许可证通常并不便宜。
为此,更多人通常只使用PDFSharp或ITextSharp。 ITextSharp是一个更强大的程序,允许数字签名和所有有趣的东西。 ITextSharp需要所有代码不是开源代码的项目的许可证。另一方面,PDFSharp是免费的,但没有那么多功能。如果你想用它做数字签名,你需要做类似Adding a digital signature to a pdf file所述的事情。