【发布时间】:2017-11-05 05:15:55
【问题描述】:
我正在创建一个 Web 应用程序,它可以自动处理 PDF 的工作。
我目前正在 .NET 上测试 iText7 以测试它是否符合我们的需求。
现在的主要问题是保存从网页对文件所做的修改。
编辑
场景如下:我们每天处理数百个 PDF 表单。我们填写、修改、保存、打印等。我们目前使用的工具太复杂了。因此,我们要简化。
我测试了我可以从数据库中填写表格并从字段中提取信息。但是,填写完后,我们可能需要手动更改表单中的一些值,保存更改并写回数据库。
最简单的解决方案当然是填写,下载文件,在本地编辑和保存,重新上传文件到服务器,然后从更新的表格中提取值并填写数据库。它可以工作,但它包含太多手动工作,例如下载和重新上传。我的客户希望它自动化。
我尝试的另一种方法是在我的网络应用程序中显示 pdf 文档,使用按钮(在网页上)编辑并保存所有修改。但无法让我的按钮保存更新的 pdf 文档。我在 MVC 视图中显示了文件,如下所示:
object data="@Url.Action("ShowPDFwithButton", "PdfTemplates", new { id = Model.FilledForm.id })"type="application/pdf">/object>
我想出的第三种方法是在我填写的表单中添加一个带有“保存”按钮的新页面。我希望 pdf 本身中的那个按钮来保存我的修改。之后,我只需提取已保存表单的值并更新数据库。我尝试使用此代码向我的“保存”按钮添加一些功能,但不明白如何让它保存更改和/或将更新的文件发送到我的操作控制器:button.SetAction(PdfAction.CreateSubmitForm("/PdfTemplates/SavePdf/" + pdfMetadata.id, null,PdfAction.SUBMIT_EXCL_F_KEY));
如果有人可以帮助使第二种和第三种方法发挥作用,我将不胜感激。或者可能提供其他方法。
【问题讨论】:
-
“从网页对文件进行的修改”是什么意思? iText 不是网络客户端技术。它可以在网络服务器上使用,但它应该是显而易见的,毕竟你有一些输出流或文件......
-
@mkl,场景如下:我从 db 自动填充 pdf 文件并在网页上显示结果。现在我希望我的用户能够编辑它并保存将更新数据库的更改。如果它不是 itext 的功能,您能否建议我如何实现它?
-
我不知道您可以按原样使用的任何具体解决方案。
-
@mkl,我想在我的 pdf 中添加一个带有“保存”按钮的新页面。是否可以使该按钮执行我想要的操作?保存文档的当前状态。
-
很遗憾,您仍然不清楚用户应该能够进行哪些更改。如果您只是指填写表单,那么您可以通过创建一个将表单内容发送到目标 URL 的保存按钮来实现您的用例。但请注意,该解决方案需要功能齐全的 PDF 查看器。很多查看器只支持只读查看,只有部分支持填表,甚至不是所有的都支持发送表单值到目标URL .
标签: .net pdf model-view-controller itext itext7