Cette déclaration explique comment compresser un document PDF en Java à partir des deux aspects suivants. • Compresser le contenu du document • Compresser l’image dans le document
Compressez le contenu du document:
import com.spire.pdf.*;
public class CompressPDF {
public static void main(String[] args) {
String inputFile = "Sample.pdf";
String outputFile = "output/CompressPDFcontent.pdf";
PdfDocument document = new PdfDocument();
document.loadFromFile(inputFile);
document.getFileInfo().setIncrementalUpdate(false);
document.setCompressionLevel(PdfCompressionLevel.Best);
document.saveToFile(outputFile, FileFormat.PDF);
document.close();
}
}
Compresser l'image dans le document
Tout d'abord, la taille du document PDF est réduite en extrayant l'image du document PDF original et en réduisant la qualité de l'image pour rendre l'image plus petite et en remplaçant l'image réduite par l'image du document original.
import com.spire.pdf.*;
import com.spire.pdf.exporting.PdfImageInfo;
import com.spire.pdf.graphics.PdfBitmap;
public class CompressPDF {
public static void main(String[] args) {
String inputFile = "Sample.pdf";
String outputFile = "output/CompressPDFImage.pdf";
PdfDocument document = new PdfDocument();
document.loadFromFile(inputFile);
document.getFileInfo().setIncrementalUpdate(false);
for (int i = 0; i < document.getPages().getCount(); i++) {
PdfPageBase page = document.getPages().get(i);
PdfImageInfo[] images = page.getImagesInfo();
if (images != null && images.length > 0)
for (int j = 0; j < images.length; j++) {
PdfImageInfo image = images[j];
PdfBitmap bp = new PdfBitmap(image.getImage());
bp.setQuality(20);
page.replaceImage(j, bp);
}
}
document.saveToFile(outputFile, FileFormat.PDF);
document.close();
}
}
Recommended Posts