我在我的应用程序中使用可编辑的pdf文件(由Nitro PDF Software创建).这些pdf文件有很多可编辑的字段(如文本框)和一个按钮(如提交).
每当用户打开该pdf文件时,输入文本并单击提交按钮,他们将重定向到aspx页面.
如何获取发布到此页面的所有静态和动态值,并使用输入的数据创建另一个pdf文件?如何保存创建的pdf文件?
来自维基百科,PDF互动元素有两种集成数据和PDF的可能性(还有指向的链接):
对于兼容性问题,我会选择AcroForms.在那种情况下,我会使用XFDF,因为它是XML,因此更容易解析.我从未使用Nitro,但是当您构建PDF表单时,通常会提供一个"保存"按钮,并选择此按钮"发送/发布表单到服务器"的操作,其数据格式为XML,只是XFDF.
这仅在浏览器中查看PDF时有效.因此典型的用例是:在服务器上有一个空的PDF模板,在将PDF返回给用户之前将数据混合到PDF中,用户在表单中输入数据(PDF通过插件在浏览器中打开或本机输入Chrome),然后用户按下在服务器上发布xml的保存按钮.用户下次要求提供PDF时,您会获取最近的数据并将其与模板重新混合.
所以只有两个问题是开放的:
请参阅此处的完整流程:http://itextpdf.com/book/chapter.php?id = 9.此示例在运行时动态更新带有表单的PDF.由于使用了iText,Java和C#之间没有区别.
请注意,以前版本的iText(Java最高2.1.7和C#最高4.1.6)是在Mozilla公共许可证或LGPL下分发的,而当前版本是根据Affero通用公共许可证分发的.这解释了为什么仍然使用旧版本.
如何获取发布到此页面的所有静态和动态值?
您可以像从 html 控件检索任何其他值一样检索它们,例如:
string MyVal = Request.Form["FieldName"];
Run Code Online (Sandbox Code Playgroud)
并使用输入的数据创建另一个 pdf 文件?
在这里,您可以使用您选择的 PDF 库( iText.Net、Nitro PDF、Amyuni PDF Creator.Net),加载 PDF 表单,为每个字段设置值,根据需要拼合文件,然后保存。这部分的代码取决于所使用的库,但它们通常都有详细的文档记录,因此您应该能够轻松找到示例代码。
| 归档时间: |
|
| 查看次数: |
28305 次 |
| 最近记录: |