我正在研究使用C#和iTextSharp创建一些东西的可行性,它可以采用PDF模板并用从数据库中检索的实际值替换各种占位符值.基本上是PDF邮件合并.我有iText的动作书,但它涵盖了很多我不需要的东西,我很难找到任何与我想做的事情有关的东西.我很乐意使用PDF字段作为占位符,只要合并/展平的表单看起来不像它有字段,输出文档应该看起来像邮件合并字母而不是已填写的表单.一个理想的世界我只想搜索PDF的文本内容,然后用正确的字段值替换文本占位符和邮件合并.
任何人都可以告诉我最好的方法,并指出我要使用的最有用的iTextSharp类的方向,或者如果你知道iText in Action预订了一个指向最有用的部分供我阅读.
在任何一种情况下,您都希望将表单字段设置为没有边框,并且没有背景......这样只会显示其内容,没有框可以使您的字段看起来像字段.
将字段数据合并到一个表单中是非常简单的与iText(原谅我的Java,我不太了解C#):
void fillPDF( String filePath, Map<String, String> fieldVals ) {
PdfReader reader = new PdfReader(myFilePath);
PdfStamper stamper = new PdfStamper( reader, outputFileStream );
stamper.setFormFlattening(true);
AcroFields fields = stamper.getAcroFields();
for (String fldName : fieldVals.keySet()) {
fields.setField( fldName, fieldVals.get(fldName) );
}
stamper.close();
}
Run Code Online (Sandbox Code Playgroud)
这忽略了具有多个选择(和例外)的列表框,但除此之外应该准备就绪.鉴于你正在做一个邮件合并类型的事情,我不认为多个选择将是一个问题.
| 归档时间: |
|
| 查看次数: |
10669 次 |
| 最近记录: |