【问题标题】:creating textbox in iText 7在 iText 7 中创建文本框
【发布时间】:2017-09-12 08:07:56
【问题描述】:

我正在尝试使用 iText 7 创建一个文本框,但在调用 createText 方法时我不断收到 nullpointerexception。我还没有看到任何人讨论这种问题 - 任何帮助将不胜感激。 这是导致异常的代码行:

PdfTextFormField textfield = PdfFormField.createText(
    doc,
    new Rectangle(
        params.xfrom, 
        params.yfrom,
        params.xtill,
        params.ytill),
    params.name);

【问题讨论】:

  • 正如@Bruno 在对他的回答的评论中已经指出的那样,让您的问题可重现。正如@Bruno 所示,使用带有适当参数的PdfFormField.createText 可以正常工作。因此,您的参数在某种程度上是不合适的。其中一些null?一个封闭的文件?因此,请提供SSCCE

标签: itext7


【解决方案1】:

您的代码 sn-p 没有告诉我们 docparams 是关于什么的,但我刚刚测试了 official tutorial 中的示例:c04e02_JobApplication.java,它执行时没有任何错误,导致以下 PDF 文件:

PdfTextFormField 类的createText() 方法是这样使用的:

PdfTextFormField nameField = PdfTextFormField.createText(doc.getPdfDocument(),
    new Rectangle(99, 753, 425, 15), "name", "");

我也测试了这个变体:

PdfTextFormField nameField = PdfTextFormField.createText(doc.getPdfDocument(),
    new Rectangle(99, 753, 425, 15), "name");

也没有抛出异常。

总结:

  • docparams 有问题,但我们无法告诉您更多信息,因为您没有告诉我们您从哪里获得这些参数,
  • 或者您使用的 iText 7 版本与我使用的不同。

【讨论】:

  • params 是一个对象 - 字段名称是一个字符串。 doc 是一个 PdfDocument 对象。
  • NullPointerException 说的是什么:params 有没有可能是null?我的意思是:我一直很有帮助。我已经测试了该方法,但我无法重现该问题。如果您需要进一步的帮助,该轮到您提供帮助了。给我写一个我可以执行的SSCCE,它会重现问题。把自己放在我的位置上:如果我什至无法重现问题,我应该如何解决问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-30
  • 1970-01-01
相关资源
最近更新 更多