本文介绍如何使用Spire.PDF for Java压缩PDF文档中的高质量图片,文档中像素较低的图片将不会被压缩。
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.exporting.PdfImageInfo;
public class CompressImage {
public static void main(String[] args) {
//加载包含图片的PDF文档
PdfDocument doc = new PdfDocument("C:\\Users\\Administrator\\Desktop\\Images.pdf");
//设置IncrementalUpdate为false
doc.getFileInfo().setIncrementalUpdate(false);
//申明PdfPageBase变量
PdfPageBase page;
//遍历文档中的页
for (int i = 0; i < doc.getPages().getCount(); i++) {
//获取指定页
page = doc.getPages().get(i);
if (page != null) {
if(page.getImagesInfo() != null){
//遍历页中的图片
for (PdfImageInfo info: page.getImagesInfo()) {
//使用tryCompressImage方法压缩高质量图片
page.tryCompressImage(info.getIndex());
}
}
}
}
//保存文档
doc.saveToFile("output/Compressed.pdf");
}
}