首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用iText单击PDF表单中的按钮?

如何使用iText单击PDF表单中的按钮?
EN

Stack Overflow用户
提问于 2017-04-06 11:06:23
回答 1查看 1.1K关注 0票数 0

我必须用一些数据填写PDF表格。此表单包含几个带有"Add“按钮的表,该按钮将新行添加到此表中,例如”外国专利文档“。我需要在我的代码中使用iText“单击”这个按钮几次,添加必要的行,在那里获取输入名称并填充它们。我怎样才能用iText做到这一点呢?有人能给我举个代码例子吗?

我的PDF文件和表格https://drive.google.com/open?id=0BwtWU1543EbTQ3A3b2dZcW9qYk0

这个文件是预定义的,我无法重新生成它。

EN

回答 1

Stack Overflow用户

发布于 2017-04-06 11:27:29

您不会以编程方式“单击”按钮。您只需提供必要的数据,表单就会适应。

请参阅FillXFA示例。我们有一个看起来像这样的order.pdf

这个文档有一个"Add item“按钮来添加更多的行项(如果需要的话,这会导致创建更多的页面)。只有在有GUI的情况下,这个按钮才有意义,但是当您以编程方式填写表单时,没有任何按钮可按。您只需向XML提供数据(例如data.xml),如下所示:

代码语言:javascript
运行
复制
public void manipulatePdf(String src, String dest)
    throws IOException, DocumentException {
    PdfReader reader = new PdfReader(src);
    PdfStamper stamper = new PdfStamper(reader,
            new FileOutputStream(dest));
    AcroFields form = stamper.getAcroFields();
    XfaForm xfa = form.getXfa();
    xfa.fillXfaForm(new FileInputStream(XML));
    stamper.close();
    reader.close();
}

结果如下:filled.pdf

如您所见,添加了多行代码,而不按任何按钮。

重要:我看到您有一个混合文档。我认为你应该把它变成一个纯粹的XFA表单。如果保留AcroForm字段,则此代码将无法工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43253350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档