新的iText Producer字段导致验证失败

时间:2015-01-30 15:34:13

标签: validation unicode itextpdf

我从旧的iText库切换到iTextPdf库,发现了一个问题。新库将生产者设置为包含非Unicode字符(Windows TM符号和版权符号)的值。问题是阅读此文本的验证程序会阻塞这些字符。

我是否可以通过iText解决此问题(无需支付许可费)?我很乐意用iText获得信用。我只是希望这些学分是Unicode清洁。

<</Producer(iText® 5.5.0 ©2000-2013 iText Group NV \(AGPL-version\))/ModDate(D:20150126155550-07'00')/CreationDate(D:20150126155550-07'00')>>

1 个答案:

答案 0 :(得分:2)

您正在查看PDF的文档信息词典,更准确地说是 Producer 条目的值。它被指定为:

  

制作人文字字符串(可选)如果文档已从其他格式转换为PDF,则将其转换为PDF的合格产品的名称。

     

(表317 - 文档信息词典中的条目)

因此值必须为文本字符串类型。这又被指定为:

  

文本字符串类型应用于应以 PDFDocEncoding 或UTF-16BE Unicode字符编码方案编码的字符串。 PDFDocEncoding 可以对所有ISO Latin 1字符集进行编码,并在附录D中进行了说明。

     

(第7.9.2.2节文本字符串类型)

在附录D中,您会发现:

               CHAR CODE (OCTAL)
CHAR NAME       STD MAC WIN PDF
...
©    copyright   —  251 251 251
...
®    registered  —  250 256 256
...
  

(D.2拉丁字符集和编码)

因此,这些字符在这里完全有效,阻塞这些字符的验证器被破坏。

因此,您最好将此错误报告给相关验证程序的开发人员。