我想从公共网站捕获填充的PDF表格数据并将其保存在服务器上的数据库中。有可能吗?请让我知道。捕获填充的PDF表格数据
回答
是的,这是可能的。您需要在表单上提交按钮。在提交按钮的属性中,选择FDF作为数据类型。 PDF文档中的每个字段都会有一个名称。 Textbox1,Textbox2等,您将收到名称 - 值对。有些库可以帮助处理返回的数据。
我在控制器(ASP.NET MVC应用程序)收到了完整的PDF文档如下:
string filename = Path.Combine(Server.MapPath(rootPath), name);
using (FileStream fs = new FileStream(filename, FileMode.CreateNew))
{
byte[] bytes = new byte[8192];
int bytesRead;
while ((bytesRead = Request.InputStream.Read(bytes, 0, bytes.Length)) > 0)
{
fs.Write(bytes, 0, bytesRead);
}
}
在这种情况下,文件名是位于一个临时区域(ROOTPATH),在那里我有写一个临时文件名访问。另一种解决方案是将文件写入MemoryStream,然后用它发送电子邮件。
我会推荐查看一个PDF库,如iTextSharp。 This entry会告诉你如何遍历PDF中的所有表单域。并this entry将告诉你如何获得一个给定的名称字段。
Chris,是否可以通过电子邮件将填好的表格发送到指定的电子邮件地址而无需提示Outlook?谢谢。 – nav100
我猜你只是在谈论Adobe Acrobat和/或Reader,所以答案是否定的电子邮件。每个人都害怕将SMTP引擎整合到他们的程序中,因此他们总是依赖于其他人,这就是Outlook,OE,Entourage等被调用的原因。您可以让该人员手动上传PDF或按照@Leons的说法进行操作。 –
您可以使用FDFToolkit.net到PDF表单提交保存到数据库:
下面是用ASP.net(VB.net),ADO.net和SQL的例子:
If Not IsPostBack Then
Dim fdfApp As New FDFApp.FDFApp_Class()
Dim fdfDoc As New FDFApp.FDFDoc_Class()
fdfDoc = fdfApp.FDFOpenFromStream(Request.InputStream, True, True)
Dim dr As DataRow
Dim ds As New DataSet
Dim da As New System.Data.SqlClient.SqlDataAdapter("SELECT * FROM TABLENAME", "CONNECTION STRING")
da.Fill(ds, "TABLENAME")
dr = ds.Tables(0).NewRow
'SET VALUES THAT MATCH NAMES IN TABLE & IN PDF
'fdfDoc.FDFSetDataRowFromValues(dr)
dr("FIELD_NAME1") = fdfDoc.FDFGetValue("PDF_FIELD_NAME1")
dr("FIELD_NAME2") = fdfDoc.FDFGetValue("PDF_FIELD_NAME2")
' DUMP XML FILE TO FIELD
dr("FIELD_DUMP_XML") = fdfDoc.FDFSavetoStr(FDFDoc_Class.FDFType.XML, True)
ds.Tables(0).Rows.Add(dr)
da.Update(ds, "TABLENAME")
fdfDoc.FDFClose()
fdfDoc.Dispose()
End If
请在帖子中提及您推荐自己的产品,否则您的帖子可能会被标记为垃圾邮件。 –
要通过电子邮件自动发送填充数据,你可以做到以下几点:
- 添加PDF按钮( “提交”)
- 右击 - > PDF选项 - >字段属性
- 选择 “操作” 选项卡
- 选择在网址栏中输入的mailto提交表单类型
- :[email protected] .COM
- 在提交格式选择FDF或格式你想
DONE!
当用户点击它时,它会自动将数据文件附加到电子邮件。它会询问用户是否使用默认电子邮件或网络邮件。
您将收到FDF文件或任何其他格式,必须解析才能提取数据。
我知道这是旧的,但有人可能正在寻找这个答案。
- 1. 用PHP填充PDF表格
- 2. 质量PDF表格填充
- 3. 如何用iTextSharp填充PDF表格?
- 4. 使用FPDF填充PDF表格
- 5. Android填充PDF格式
- 6. 只保存已填充单元格的填充电子表格为PDF
- 7. 自动填充pdf中的数据
- 8. 填充数据表
- 9. ng-repeat不填充表格数据
- 10. 使用javascript填充表格行数据
- 11. 使用数据填充表格视图
- 12. 从数据库自动填充表格
- 13. Swift - 用数据填充表格视图
- 14. 用AJAX调用填充数据表格
- 15. 从java填充数据到pdf
- 16. 使用xfdf数据填充pdf
- 17. 从表格中填充数据的MySQL表格
- 18. 从JFrame中获取数据填充表格后
- 19. 用xml数据合并/填充pdf格式文件
- 20. wpf数据网格填充数据
- 21. ASP.NET和C#使用数据库中的数据填充表格
- 22. CSS表格填充
- 23. 使用json数据填充表格/表格
- 24. jQuery动态填充表格字段与表格数据
- 25. H:数据表不填充
- 26. 填充从数据表
- 27. .Net System.OutOfMemoryException填充数据表
- 28. 填充数据表 - C#
- 29. 预填充表格从获得/发布
- 30. Javascript填充给定单元格数据的HTML表格
谢谢。我会看看。点击PDF上的“提交”按钮后,是否可以直接通过电子邮件发送填好的表单?现在,当我点击“电子邮件表格”提交按钮时,它正在尝试打开Outlook发送电子邮件。我想绕过并直接发送到指定的电子邮件地址。 – nav100
我不认为这是可能的。作为您可以执行的所有操作的属性的最后一个选项卡。我发现唯一可用的是“提交表单”。所以我选择将填好的表格提交到服务器,然后我可以通过电子邮件发送。提交表单操作有几个设置用于接收不同的内容。我使用PDF,但您也可以获得FDF,HTML或XFDF。使用最适合你的那个。 – Leons
Leons,你能解释更多关于提交填充表单到服务器然后发送电子邮件吗?我必须写一些脚本吗? – nav100