使用asp.net c#替换docx和pdf文件中的内容

时间:2010-12-09 13:31:04

标签: c# asp.net

在我的应用程序中,我使用docx和pdf格式的一些模板。我将此文档存储为DB作为字节。

Befor向用户或应用程序显示/发送此文档我需要替换doc中的一些内容。例如:如果doc包含@@ username @@我需要用客户的确切用户名替换它。我没有得到适当的解决方案。有什么好主意吗?

2 个答案:

答案 0 :(得分:2)

对于docx文件,最好的办法是使用OpenXML,而不是像@@ username @@这样的特殊文本,将其替换为您可以填写的内容控件。

由于您指定了docx,因此您可以使用OpenXML,这很棒,它是一个API。如果它必须使用较旧的doc文件,那么你必须自动化Word(如果可能的话应该避免使用Word。)

对于PDF,最好的办法是创建一个PDF表单,并在运行时填充它(使用像itextsharp这样的工具)。

HTH, 布赖恩

答案 1 :(得分:0)

对于DOC / DOCX: 您应该通过MSWord程序集引用使用MSWord对象模型(仅适用于安装了msoffice的计算机..或者您可以使用类似ASPOSE word库的内容,这些库不需要在服务器上安装msoffice)。您可以通过库的API以编程方式触发单词的Find-Replace上下文。

对于PDF:您需要第三方库来编辑pdf文件..第三方库如ABCpdf可用..(不确定Adobe本身是否有此功能) 像文字库一样的机制..但我不确定你是否能够在这里触发查找替换上下文或做其他事情......我没有使用过pdf生成库。