是否有使用Excel数据源填写PDF表单字段? (想想1000 pdf)
对于Excel中的每一行,根据模板“myForm.pdf”创建一个新的空白pdf,并将Excel中列中的匹配值填入“myForm.pdf”中的字段,然后将其保存为“myForm(i) .PDF“
最后将所有pdf合并为一个PDF文档。
只要概念成立,Adobe的VBA或Javascript就可以了。如果不是太多,一些手动部件是可以的。
显然没有太多的教程,所以我非常感谢这里的任何专业知识。
谢谢!
答案 0 :(得分:6)
如所承诺的那样:)
已经过测试
// Add reference to iTextSharp.dll. Freely available on the web. Free to use for non commercial applications.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using iTextSharp;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.xml;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// Original Pdf
string PDFFile = "C:\\MyOriginalPDF.pdf";
// New Pdf
string newPDFFile = "C:\\NewPDFFILE.pdf";
PdfReader pdfReader = new PdfReader(PDFFile);
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newPDFFile, FileMode.Create));
AcroFields pdfFFields = pdfStamper.AcroFields;
// Fill PDF Form Fields
pdfFFields.SetField("FieldName1", "Value1");
pdfFFields.SetField("FieldName2", "Value2");
//
// And So on
// Use this to remove editting options by setting it to false
// To keep editing option leave it as TRUE
pdfStamper.FormFlattening = true;
// close the pdf
pdfStamper.Close();
}
}
}
修改:要与Excel交互,我建议您访问下面提到的链接。
主题:VB.NET和Excel
要将VB.Net代码转换为C#,请使用以下链接:)
主题:将C#代码转换为VB.Net,反之亦然
链接:http://www.developerfusion.com/tools
如果你仍然被困住,请告诉我,我们会从那里拿走它...... :)
更多编辑!!!
受到你的帖子的启发,我终于在我的博客上写了一篇文章。现在您要做的就是复制整个代码并将其转换为C#并进行相关更改以满足您的需求:)
主题:使用VB.Net从Excel文件填写/检索PDF表单字段中的数据
答案 1 :(得分:0)
您的问题是针对 Adobe Acrobat Pro,但我们最终使用了具有相同问题的替代工具。 在我的公司,我们经常使用 PDF Mail Merger 来处理我们必须批量填写和发送的所有类型的 PDF 表单。我们发现它非常易于使用。
您将被引导完成 4 个步骤: