我正在为新员工(直接存款,紧急联系等)创建PDF的应用程序。我使用Adobe Livecycle Designer在PDF上添加和标记字段,然后使用ItextSharp / vb.net设置字段的值。例如:pdfFormFields.SetField("lastName", employee.lastName)
。
自2013年以来一直运行良好。现在我必须使用新版本更新PDfs,并且我正在使用AEM附带的较新版本的Designer。现在,当我的应用程序创建PDF时,我收到此消息:
您要加载的文档需要Adobe Reader 8或更高版本。您可能没有安装Adobe Reader,或者您的查看环境可能未正确配置为使用Adobe Reader。 有关如何安装Adobe Reader和配置查看环境的信息,请参阅http://www.adobe.com/go/pdf_forms_configure。
即使我使用工作PDF,在Designer中打开并保存而不更改任何内容,也会发生这种情况。应用程序中的所有现有PDF都可以正常显示/按预期显示。
我确实安装了最新版本的ItextSharp以查看是否会修复它。错误。我注意到在工作PDF上,XFA / AcroShort2LongName有一个计数,而在我的坏PDF上,计数为0.另外在坏PDF上,名为TemplateSom的东西会列出我的所有表单字段。
非常感谢任何帮助,我已经在互联网上搜索了12个小时,没有发现任何相似甚至接近有用的信息。
代码:
Dim outDirectory As String = Server.MapPath("Files\\")
Dim temploc As String= "Templates\\" + FormName.Trim
Dim pdfTemplate As String = HttpContext.Current.Server.MapPath(temploc)
Dim newFile As String = outDirectory + FormName.Trim
Dim pdfReader As New PdfReader(pdfTemplate)
Dim pdfStamper As New PdfStamper(pdfReader, New FileStream( _
newFile, FileMode.Create))
Dim pdfFormFields As AcroFields = pdfStamper.AcroFields
pdfFormFields.SetField("empFirst", firstname)
pdfFormFields.SetField("empLast", lastname)
pdfFormFields.SetField("empMiddle", middlename)
pdfStamper.FormFlattening = True
pdfStamper.Close()