Apache PDFBox - 已选中的复选框随后设置为未选中

问题描述 投票:0回答:1

我是 pdfbox 的新手,但我有一个奇怪的问题。我加载这个pdf,其中给定的复选框已经被选中(我看到它打开pdf并处于调试模式),但是当我通过邮件发送这个pdf时,给定的复选框未被选中。你有什么建议吗?

private fun populateTemplateFields(
    pdfTemplate: PDDocument,
    newMail: String,
)
{
    val acroForm = pdfTemplate.documentCatalog.acroForm

    val checkbox = acroForm.getField("chkbox1") as PDCheckBox
    checkbox.check()
    acroForm.getField("new_mail").setValue(newMail)
   
}

当我检索复选框时,我已经看到 checkbox.isChecked 为 true,我尝试使用 check() 方法“强制”它,但随后查看 pdf 时结果复选框未选中。您有什么建议吗?谢谢

java pdf pdfbox
1个回答
0
投票

这就是我检索 PDDocument 的方式

val pdf = this::class.java.classLoader.getResourceAsStream("pdf/role.pdf")
        ?: throw FileNotFoundException("PDF template not found at pdf/role.pdf")
    val pdfTemplate = Loader.loadPDF(pdf.readAllBytes()).

请注意,其他属性(如 newMail)已正确设置

© www.soinside.com 2019 - 2024. All rights reserved.