iText库中是否有API可用于检测PDF文件是否已压缩xref表?
这个库的PDFReader类有一些关于外部参照的有用的API,但没有一个用于我的目的。
要求是:
这方面的任何指示都将不胜感激。
P.S。:实施不仅限于iText。可以使用任何其他可以实现它的Java库。许可(如果需要)也不是问题。
答案 0 :(得分:1)
事实证明,iText已经支持此功能。
您需要创建PdfReader
实例,然后使用isNewXrefType()
。
要解压缩PDF文档的XRef表,可以使用以下方法:
public void uncompressXRef(String src, String dest)
throws IOException, DocumentException {
PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
stamper.close();
reader.close();
}
要重新压缩XRef表,请使用以下方法:
public void recompressXRef(String src, String dest)
throws IOException, DocumentException {
PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
stamper.getWriter().setFullCompression();
stamper.close();
reader.close();
}
答案 1 :(得分:0)
您最好的选择可能是查看您想要对PDF做什么,然后使用该库。