【发布时间】:2019-04-29 14:41:57
【问题描述】:
我有一个 PDF 文件要保存,但首先我必须以尽可能高的质量对其进行压缩,并且我必须使用开源库(如 Apache PDFBox®)。
所以,到目前为止,我所做的只是获取所有图像类型的资源,将它们压缩并放回 PDF 中,但压缩率很低。这只是我分配压缩参数的代码片段:
PDImageXObject imageXObject = (PDImageXObject) pdxObject;
ImageWriter imageWriter = ImageIO
.getImageWritersByFormatName(FileType.JPEG.name().toLowerCase()).next();
ImageWriteParam imageWriteParam = imageWriter.getDefaultWriteParam();
imageWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
imageWriteParam.setCompressionQuality(COMPRESSION_FACTOR);
还有一些其他机制可以优化 PDF,目前仅压缩图像显示效果稍差。
【问题讨论】: