从iText 2.1.3升级到iText 2.1.7时,我注意到行为发生了变化 . 输入的PDF文件来自Adobe Indesign,目标是将Application和PDFProducer属性更改为我想要的内容 .
下面是相关的代码:PdfStamper pdfStamper = null; PdfReader pdfReader = null;
pdfReader = new PdfReader(new RandomAccessFileOrArray(source), null);
HashMap info = pdfReader.getInfo();
info.put( "Producer", "Myself");
info.put( "Creator", "Myself");
OutputStream outputStream = new FileOutputStream(source+"stamped.pdf");
pdfStamper = new PdfStamper(pdfReader, outputStream, '\0', true); // append mode
pdfStamper.close();
pdfReader.close();
所以,之前,使用itext 2.1.3,在通过上面的代码运行pdf之后,我会看到 Application and PDFProducer 在Adobe Reader(文件,属性)中打开文件时更改为"Myself" . 这就是我的期望
使用itext 2.1.7, Application 属性不会更改, PDFProducer 属性附加了文本"modified using iText 2.1.7 by ..." .
使用iText 5.4.5, Application 属性已更改,但 PDFProducer 更新的行为与2.1.7中的相同
知道发生了什么,如果有什么我可以做的来解决这个问题?
谢谢Cristian