这是我的问题。
我在VSTO的帮助下制作了一个Excel模板。 Excel中的所有数据显示都来自DataBase。在Excel模板中,我放置了一个打开现有pdf表单模板的Button,用DB中的数据填充它并保存副本。要做到这一点,我使用了ITextSharp库,这对我帮助很大。直到这里没问题。
现在我想要做的是PDF中的每个字段都与Excel中的单元格有链接。 PDF是只读的,它只是显示存储在数据库中的数据的一种方式。当用户想要修改字段的值时,他必须进入Excel才能这样做。因此,目标是当他想要修改pdf中的值时,他只需单击字段,然后他将重定向Excel中的正确单元格以修改该值。
我不认为在Acrobat中有一种方法可以在JavaScript中执行此操作,因为如果我没有弄错,Acrobat将不允许您从JS调用宏。
我想也许在VSTO中有一种方法来控制Acrobat,但我没有找到它。
如果您对如何做到这一点有任何想法,我会很高兴 这是我的代码的一部分,也许它会更清晰。
string pdfTemplatePath = @"C:\Files.pdf";
string pdfFinalFile = @"C:\fileCopy.pdf";
PdfReader reader = new PdfReader(pdfTemplatePath);
PdfStamper stamper = new PdfStamper(reader, new FileStream(pdfFinalFile, FileMode.Create));
AcroFields form = stamper.AcroFields;
foreach (DataRow row in data.Rows)
{
form.SetField(row["Name"].ToString(), row["Value"].ToString());
}
stamper.FormFlattening= false;
stamper.Close();