PDFBox-PDF在iOS中不可见
我在PDFBox中引入了一个“可填充”表单,并填充输入字段,然后将这些字段设置为只读。我们这样做是为了便于我们填写PDF,而不是最终用户填写 我遇到的问题是,当用户在iOS(在某些情况下是Android)中打开PDF时,可填充字段不可见。其他一切都还在,只是没有填写的字段。如果我在任何笔记本电脑/台式机上打开同样的pdf文件,它们就不存在了 我是否出于错误的原因使用了可填充字段,是否有更好的方法来实现这一点,或者是否有一种方法可以让用户在iOS上看到这些字段 下面是我正在做的一个快速示例:PDFBox-PDF在iOS中不可见,pdf,groovy,pdfbox,Pdf,Groovy,Pdfbox,我在PDFBox中引入了一个“可填充”表单,并填充输入字段,然后将这些字段设置为只读。我们这样做是为了便于我们填写PDF,而不是最终用户填写 我遇到的问题是,当用户在iOS(在某些情况下是Android)中打开PDF时,可填充字段不可见。其他一切都还在,只是没有填写的字段。如果我在任何笔记本电脑/台式机上打开同样的pdf文件,它们就不存在了 我是否出于错误的原因使用了可填充字段,是否有更好的方法来实现这一点,或者是否有一种方法可以让用户在iOS上看到这些字段 下面是我正在做的一个快速示例: pu
public PDDocument fillDynamicPDF(form, field, entry){
try{
PDDocument pdDoc = PDDocument.load(new File("form"))
PDDocumentCatalog pdCatalog = pdDoc.getDocumentCatalog()
PDAcroForm acroForm = pdCatalog.getAcroForm()
acroForm.getField(field).setValue(entry)
acroForm.getField(field).setReadonly(true)
return pdDoc
}catch(e){
log.error e
return null
}
}
在iOS上,它取决于用于查看PDF文件的应用程序。如果应用程序使用CGPDF API或QuickLook框架,则不会显示字段,因为这些框架无法显示PDF注释(字段使用小部件注释)
如果使用Adobe Reader查看文件,则字段可见,因为它使用自己的渲染引擎。
解决方案是将表单字段展平,而不是使其只读。此操作将字段内容与页面内容合并,无论使用何种应用程序查看文件,它们都将在iOS上可见。如何使用PDFbox展平它们?或者有其他方法可以将它们展平吗?我不熟悉PDFBox API,我想您可以在文档中找到它。