Pdf版本1.7在itext2的PDFDictionary中将PdfName.DA返回为null

时间:2014-01-21 09:43:22

标签: java pdf itext

我正在尝试获取pdf版本1.7的acroField的字体大小。 我正在使用此代码获取AcroField的PDF字体大小。 但是pdf Dictionary不包含密钥(PdfName.DA)。 当我从PdfDictionary访问PdfName.DA的pdfObject时,我得到null。 我的代码是

     final AcroFields.Item item = acroFields.getFieldItem(fieldName);

     ArrayList list =null;
     list = item.merged;
     if (list != null) 
            {
               for (final Iterator it1 = list.iterator(); it1.hasNext();) 
                 {
                    final PdfDictionary itemDict = (PdfDictionary) it1.next();
                    final PdfObject da = itemDict.get(PdfName.DA);
                    System.out.println(da); //da coming null.
                 }
             }

我正在使用jar“itext-2.1.7.jar”

上面的代码适用于PDF版本1.6。但它不适用于PDF版本1.7。

PDF的链接是“http://www.mediafire.com/view/riuajytszavbq77/JanWebinar013014.pdf

1 个答案:

答案 0 :(得分:3)

为什么你认为“DA”键应该存在? PDF规范明确指出DA密钥位于“包含变量文本的所有字段共有的附加条目”中。 PDF文件中的字段似乎没有可变文本(例如用户输入的文本)。

因此,“DA”键是可选的,你应该准备接受它不存在。