我想从另一个模板创建一个pdf模板,结果pdf仍然是模板,然后我可以用数据填充它。 我尝试使用PdfStamper,但结果pdf不是模板,任何人都可以帮助我,谢谢。
答案 0 :(得分:0)
让我们区分两种情况,具体取决于PDF模板的性质:
您在谈论XFA模板:
在这种情况下,PDF仅仅是定义表单的XML流的容器。改变它的唯一方法是编辑XML。最好使用Adobe LiveCycle Designer 手动完成,但是如果您真的想以编程方式进行,则可以使用iText从PDF中提取XML,使用任何方法操作XML XML编辑软件的类型,最后使用iText将XML放回PDF。程序化解决方案非常困难,因为它要求您熟悉XFA语法,并且XFA的规范包含数百个页面。
您正在谈论的是AcroForm模板
在这种情况下,根字典有一个/AcroForm
字典,其中一个条目是一个非空的/Fields
数组。您可以为此模板创建PdfReader
实例,并将阅读器对象传递给PdfStamper
。然后,您可以创建所需的额外字段(文本字段,按钮字段,...),并使用addAnnotation()
方法将它们添加到压模中。
这显示在SubscribeForm示例中。我们有一个现有模板subscribe.pdf,我们会向其添加几个按钮,从而生成新模板subscribe_me.pdf。
如果这不能解答您的问题,请澄清,因为通常不接受将您的问题限制为“我尝试使用PdfStamper但结果pdf不是模板”,您应该至少显示你尝试过的内容,否则你可能会关闭你的问题。