Verschiedene Organisationen verwenden PDF Dateien für einen sicheren und organisierten Informationsaustausch. Manchmal werden PDF Dateien jedoch aufgrund von eingebetteten Inhalten wie Bildern, Videos, Zeichnungen usw. sehr groß. Sie können eine solche PDF Dateigröße einfach optimieren oder komprimieren, ohne Kompromisse bei der Qualität einzugehen. Lassen Sie uns die folgenden Szenarien der PDF-Größenkomprimierung und -optimierung untersuchen, die Sie in Ihre Java Anwendungen integrieren können:

PDF-Größenoptimierungs und Komprimierungs-API – Installation

Sie können die effizienten und zuverlässigen Routinen der Aspose.PDF for Java-API zum Optimieren oder Komprimieren riesiger PDF Dateien bei gleichbleibender Qualität nutzen. Sie können die JAR Dateien von Downloads oder mit Maven configurations in Ihrem Projekt herunterladen.

Optimieren Sie PDF Dokumente für das Web mit Java

PDF Dokumente können optimiert werden, wenn Sie sie auf Ihren Webseiten verwenden müssen. Diese Optimierung ist hilfreich, um die erste Seite des PDF Dokuments so schnell wie möglich anzuzeigen. Sie können die optimierte PDF Datei erhalten, indem Sie die folgenden Schritte ausführen:

  1. Open-Source-PDF Datei
  2. Rufen Sie optimize method für die PDF-Optimierung auf
  3. Speichern Sie die ausgegebene PDF Datei

Das folgende code snippet ist ein Beispiel dafür, wie Sie PDF Dokumente für das Web in Ihrer Java-Umgebung optimieren können:

// Dokument öffnen
Document pdfDocument = new Document("Original.pdf");

// Für das Web optimieren
pdfDocument.optimize();

// Ausgabedokument speichern
pdfDocument.save("Optimized_output.pdf");

Komprimieren oder optimieren Sie die Größe von PDFs mit Bildern mit Java

Hier werden wir hauptsächlich die Szenarien diskutieren, in denen PDF Dateien viele Bilder enthalten und daher sehr groß sind. Zum Beispiel eine PDF Datei, die Zeichnungen für verschiedene Flugzeugmodelle und Informationen zu jedem Teil, kleiner oder größer, enthält, die als Bilder oder Bilder aller Komponenten enthalten sind. Darüber hinaus können viele professionelle Dokumente Bilder als wichtige Artefakte der Datei enthalten. In solchen Szenarien können wir die PDF Dateien mit folgenden Ansätzen komprimieren:

Verkleinern, Komprimieren und Ändern der Größe aller Bilder mit Java

Sie können die Größe von PDF Dateien mit vielen Bildern minimieren, indem Sie die Bilder verkleinern, komprimieren und ihre Größe ändern. Die Größenverbesserungen könnten sich bemerkbar machen, da der größte Teil der Dateigröße von den Bildern abgedeckt wird, die wir jetzt verkleinern möchten. Sie müssen die folgenden Schritte ausführen, um die Bilder oder Bilder in einer PDF Datei zu verkleinern, zu komprimieren und ihre Größe zu ändern:

  1. Eingabe PDF Datei laden
  2. Initialisieren Sie das Objekt OptimizationOptions.
  3. Bildqualität und Auflösung einstellen
  4. Rufen Sie die Methode optimizeResources auf
  5. Speichern Sie das ausgegebene PDF Dokument

Das folgende code snippet zeigt, wie Sie Bilder verkleinern oder komprimieren, um die PDF Dateigröße mit Java zu reduzieren und zu minimieren:

// Eingabedokument laden
Document doc = new Document(dataDir + "Test.pdf");

// OptimizationOptions objekt initialisieren
OptimizationOptions opt = new OptimizationOptions();

// Bildkomprimierung aktivieren
// Stellen Sie die Qualität und Auflösung von Bildern in PDF Dateien ein
opt.getImageCompressionOptions().setCompressImages(true);
opt.getImageCompressionOptions().setImageQuality(10);
opt.getImageCompressionOptions().setMaxResolution(150);
opt.getImageCompressionOptions().setResizeImages(true);
doc.optimizeResources(opt);

// Speichern Sie die aktualisierte Datei
doc.save(dataDir + "compressingPDFWithImages_out.pdf");

Entfernen eingebetteter Schriftarten, ungenutzter Streams und Verknüpfen doppelter Streams mit Java

Wenn Sie die Größe von PDF Dateien reduzieren müssen, zählt jedes Byte. Eingebettete Schriftarten können dabei helfen, die Dateigröße mit verschiedenen Ansätzen zu reduzieren. Beispielsweise können Sie entweder alle Schriftarten ausbetten oder nur die Teilmenge der Schriftartzeichen beibehalten, die in der PDF Datei verwendet werden. Es wäre ein teilweises Ausbetten von Schriftarten, das immer noch dazu beitragen würde, die Dateigröße zu minimieren. Darüber hinaus können Sie ungenutzte Streams entfernen oder doppelte Streams verknüpfen, um weiteren Speicherplatz zu sparen. Diese PDF-Optimierungen reduzieren die Dateigröße erheblich. Sie müssen die folgenden Schritte ausführen, um die PDF Dateigröße zu optimieren und zu reduzieren:

  1. Eingabe PDF Dokument laden
  2. Initialisieren Sie das Klassenobjekt OptimizationOptions.
  3. Entfernen Sie entweder alle Schriftarten oder die Teilmenge der Schriftarten
  4. Doppelte Streams verknüpfen
  5. Entfernen Sie ungenutzte Streams

Der folgende Code erläutert, wie PDF Dateien komprimiert werden, um die Größe von PDF Dokumenten zu optimieren, zu reduzieren und zu minimieren:

Document doc = new Document(dataDir + "Test.pdf");
OptimizationOptions opt = new OptimizationOptions();

// Entweder
// Heben Sie die Einbettung aller Schriftarten in PDF auf
opt.setUnembedFonts(true);

//ODER
// Behalten Sie nur eingebettete Schriftarten für verwendete Zeichen bei
opt.setSubsetFonts(true);

// doppelte Streams verknüpfen
opt.setLinkDuplcateStreams(false);

// Entfernen Sie ungenutzte Streams
opt.setRemoveUnusedStreams(false);

// Entfernen Sie unbenutzte Objekte
opt.setRemoveUnusedObjects(false);

doc.optimizeResources(opt);

// Speichern Sie die aktualisierte Datei
doc.save(dataDir + "compressingPDF.pdf");

Bisher haben wir die Optimierungsansätze hauptsächlich für die PDF Dateien mit Bildern diskutiert. Lassen Sie uns nun mit einigen weiteren Möglichkeiten zur PDF-Optimierung fortfahren.

Komprimieren oder reduzieren Sie die PDF Dokumentgröße mit Java

PDF Dateien enthalten oft Anmerkungen, bearbeitbare Formularfelder und Farbartefakte, die zusammen Platz einnehmen. Lassen Sie uns die folgenden Verfahren zum Komprimieren der PDF Dateigröße untersuchen.

Anmerkungen entfernen oder reduzieren, um die Größe mit Java zu reduzieren

PDF Dateien können viele Anmerkungen enthalten. Zum Beispiel Wasserzeichen, Kommentare, Formen usw. Sie können Anmerkungen entfernen, wenn sie nicht mehr benötigt werden, oder die Anmerkungen dicker machen, wenn keine weiteren Änderungen erforderlich sind. Bitte befolgen Sie die nachstehenden Schritte zum Entfernen oder Reduzieren von Anmerkungen, um die PDF Dateigröße zu optimieren:

  1. Open-Source-PDF Dokument
  2. Durchlaufen Sie jede Seite
  3. Reduzieren oder löschen Sie Anmerkungen
  4. Speichern Sie das ausgegebene PDF Dokument

Das folgende code snippet ist ein Beispiel für das Entfernen oder Reduzieren von Anmerkungen in PDF Dokumenten mit Java:

// Dokument öffnen
Document pdfDocument = new Document(dataDir + "OptimizeDocument.pdf");

// Durchlaufen Sie jede Seite und jede Anmerkung
for (Page page : pdfDocument.getPages())
{
    for (Annotation annotation : page.getAnnotations())
    {
        // Reduzieren Sie entweder die Anmerkung
        annotation.flatten();
        
        // ODER löschen Sie die Anmerkung
        // page.getAnnotations().delete(Anmerkung);        
    }
}
// Optimiertes PDF Dokument speichern
pdfDocument.save(dataDir + "OptimizeDocument_out.pdf");

Entfernen von Formularfeldern zum Minimieren der PDF Dateigröße mit Java

Ausfüllbare PDF-Formulare sind üblich, wenn Sie Daten in großem Umfang übermitteln müssen. Nach dem Absenden der Daten können ausfüllbare Formularfelder entfernt werden, um die PDF Dateigröße zu optimieren und zu minimieren. Sie müssen die folgenden Schritte ausführen, um Formularfelder zu entfernen:

  1. Eingabe PDF Dokument laden
  2. Suchen Sie nach Formularfeldern im PDF Dokument
  3. Iteriere durch jedes Feld und glätte es
  4. Speichern Sie die aktualisierte komprimierte PDF Datei
// Quell-PDF-Formular laden
Document doc = new Document(dataDir + "input.pdf");

// Reduzieren Sie Formularfelder
if (doc.getForm().getFields().length > 0)
{
    for (Field item : doc.getForm().getFields())
    {
        item.flatten();
    }
}

dataDir = dataDir + "FlattenForms_out.pdf";
// Speichern Sie das aktualisierte Dokument
doc.save(dataDir);

Konvertieren Sie den RGB-Farbraum in Graustufen für die PDF-Komprimierung und -Optimierung mit Java

Die meisten PDF Dateien enthalten Textinhalte, die sich auch im Graustufen-Farbraum gut darstellen lassen. Wenn der Zweck und die Priorität darin besteht, jedes Byte zu speichern, können außerdem sogar die Bilder in Graustufen konvertiert werden, da der Fokus auf der Archivierung der Daten liegt. Sie können die folgenden Schritte zum Komprimieren und Optimieren der PDF Dateigröße ausführen, indem Sie den RGB-Farbraum in Graustufen konvertieren:

  1. Greifen Sie auf das PDF-Quelldokument zu
  2. Initialisieren Sie die Instanz RgbToDeviceGrayConversionStrategy.
  3. Konvertieren Sie den Farbraum jeder Farbe in Graustufen
  4. Ausgabeoptimierte PDF Datei speichern

Das folgende code snippet zeigt, wie Sie die PDF-Größe komprimieren und optimieren, indem Sie den Farbraum in der Java-Umgebung ändern:

// Eingabe PDF Dokument laden
Document document = new Document("input.pdf");

// RgbToDeviceGrayConversionStrategy-Instanz initialisieren
RgbToDeviceGrayConversionStrategy strategy = new RgbToDeviceGrayConversionStrategy();
for (int idxPage = 1; idxPage <= document.getPages().size(); idxPage++) {
	Page page = document.getPages().get_Item(idxPage);
        
        // Konvertieren Sie den Farbraum jeder Seite in Graustufen
	strategy.convert(page);
}
// Speichern Sie das ausgegebene PDF Dokument
document.save("output.pdf");

Fazit

In diesem Artikel haben wir verschiedene Möglichkeiten und Ansätze zum Optimieren und Komprimieren von PDF Dateien für eine reduzierte Größe behandelt. Zunächst einmal haben wir die PDF Dateigröße für das Web mit Java optimiert. Dann haben wir das Verkleinern, Komprimieren und Ändern der Größe von Bildern in einer PDF Datei mit mehreren Bildern gelernt. Darüber hinaus haben wir auch die Arbeit mit Schriftarten, Streams, Anmerkungen, Formularfeldern sowie die Konvertierung des Farbraums von PDF Dokumenten in Graustufen untersucht, sodass eine PDF Datei mit geringerer Größe, aber gleicher Qualität mit Java erstellt werden kann. Darüber hinaus können Sie uns bei Fragen zu diesem Thema über das kostenlose Support-Forum kontaktieren.

Siehe auch

Info: Mit einer neuen Online-Web-App von Aspose können Sie eine Reihe von Bildern in ein Video umwandeln. Vielleicht möchten Sie auch einen anderen Dienst ausprobieren, einen, der den Ton aus Videos extrahiert.