In dieser Anweisung wird erläutert, wie Sie ein PDF-Dokument in Java unter den folgenden beiden Gesichtspunkten komprimieren. • Komprimieren Sie den Inhalt des Dokuments • Komprimieren Sie das Bild im Dokument
Komprimieren Sie den Inhalt des Dokuments:
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();
}
}
Komprimieren Sie das Bild im Dokument
Zunächst wird die Größe des PDF-Dokuments reduziert, indem das Bild des ursprünglichen PDF-Dokuments extrahiert und die Bildqualität verringert wird, um das Bild zu verkleinern, und das reduzierte Bild durch das Bild des Originaldokuments ersetzt wird.
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