Optimieren Sie PDF in JavaScript

PDF Dateien sind ein allgegenwärtiges Format für die gemeinsame Nutzung von Dokumenten, können jedoch manchmal umfangreich sein, was zu langsameren Ladezeiten und höheren Speicheranforderungen führt. Die Optimierung von PDF Dateien ist unerlässlich, um ein nahtloses Benutzererlebnis zu gewährleisten, insbesondere in Webanwendungen. Daher untersuchen wir in diesem Blogbeitrag, wie Sie PDF Dateien mithilfe von JavaScript optimieren können.

JavaScript-Bibliothek zur Optimierung von PDF

Für die PDF-Optimierung in einer JavaScript-Anwendung verwenden wir Aspose.PDF for JavaScript. Es handelt sich um eine leistungsstarke Bibliothek, die es Entwicklern ermöglicht, PDF Dateien mithilfe von JavaScript zu verarbeiten, zu bearbeiten und zu optimieren. Beginnen wir also zunächst mit der Installation der Bibliothek.

Laden Sie die Bibliothek herunter und befolgen Sie die hier bereitgestellten Installationsanweisungen: So installieren Sie Aspose.PDF for JavaScript.

Optimieren Sie ein PDF in JavaScript

Bevor wir uns mit dem PDF-Optimierungsprozess befassen, wollen wir verstehen, warum die Optimierung von PDF Dateien so wichtig ist:

  • Schnellere Ladezeiten: Optimierte PDFs werden schneller geladen, was die Benutzererfahrung durch kürzere Wartezeiten verbessert.
  • Bandbreiteneffizienz: Kleinere Dateigrößen führen zu einem geringeren Bandbreitenverbrauch und erleichtern so das Teilen und Herunterladen von PDFs.
  • Speicherplatz: Optimierte PDFs beanspruchen weniger Speicherplatz, was besonders wichtig ist, wenn Sie eine große Anzahl von Dokumenten bearbeiten.

Schreiben wir nun das Skript zur Optimierung einer PDF-Datei, indem wir die folgenden Schritte ausführen.

  • Wählen Sie zunächst die PDF-Datei aus, die Sie optimieren möchten.
  • Erstellen Sie dann ein FileReader Objekt, um die Datei zu lesen.
  • Rufen Sie anschließend die Funktion AsposePdfOptimize auf, um das PDF zu optimieren. Zu den Parametern dieser Funktion gehört der Name der resultierenden PDF-Datei.
  • Die Funktion AsposePdfOptimize gibt ein JSON Objekt zurück und mit json.errorCode können Sie überprüfen, ob die PDF-Datei erfolgreich optimiert wurde oder nicht. Wenn der Fehlercode 0 ist, wird das PDF ohne Probleme optimiert. Andernfalls ist ein Fehler aufgetreten, den Sie aus json.errorText ablesen können.
  • Rufen Sie abschließend die DownloadFile funktion auf, um einen Link zur optimierten PDF-Datei zu generieren.

Der folgende Codeausschnitt zeigt, wie man eine PDF-Datei in JavaScript optimiert.

var ffileOptimize = function (e) {
  const file_reader = new FileReader();
  file_reader.onload = (event) => {
    
    /*optimize a PDF-file and save the "ResultOptimize.pdf"*/
    const json = AsposePdfOptimize(event.target.result, e.target.files[0].name, "ResultOptimize.pdf");
    if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
    else document.getElementById('output').textContent = json.errorText;
    
    /*make a link to download the result file*/
    DownloadFile(json.fileNameResult, "application/pdf");
  };
  file_reader.readAsArrayBuffer(e.target.files[0]);
};

Verwendung von Web Worker bei der PDF-Optimierung

Im vorherigen Abschnitt haben wir einfach ein PDF geladen, es optimiert und das resultierende PDF heruntergeladen. Lassen Sie uns nun einen Web-Worker verwenden, um den Optimierungsprozess reibungsloser zu gestalten und zu verhindern, dass der UI-Thread blockiert wird. Das folgende Skript zeigt, wie man einen Web-Worker schreibt, der die PDF-Optimierungsfunktion verwendet, die wir im vorherigen Abschnitt geschrieben haben.

/*Create Web Worker*/
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
AsposePDFWebWorker.onerror = evt => console.log(`Error from Web Worker: ${evt.message}`);
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent = 
  (evt.data == 'ready') ? 'loaded!' :
    (evt.data.json.errorCode == 0) ?
      `Result:\n${DownloadFile(evt.data.json.fileNameResult, "application/pdf", evt.data.params[0])}` :
      `Error: ${evt.data.json.errorText}`;

/*Event handler*/
const ffileOptimize = e => {
  const file_reader = new FileReader();
  file_reader.onload = event => {
    
    /*Optimize a PDF-file and save the "ResultOptimize.pdf" - Ask Web Worker*/
    AsposePDFWebWorker.postMessage(
      { "operation": 'AsposePdfOptimize', "params": [event.target.result, e.target.files[0].name, "ResultOptimize.pdf"] },
      [event.target.result]
    );
  };
  file_reader.readAsArrayBuffer(e.target.files[0]);
};

/*Make a link to download the result file*/
const DownloadFile = (filename, mime, content) => {
    mime = mime || "application/octet-stream";
    var link = document.createElement("a"); 
    link.href = URL.createObjectURL(new Blob([content], {type: mime}));
    link.download = filename;
    link.innerHTML = "Click here to download the file " + filename;
    document.body.appendChild(link); 
    document.body.appendChild(document.createElement("br"));
    return filename;
  }

Optimieren Sie PDF-Ressourcen in JavaScript

Eine weitere Methode zur Optimierung von PDF Dateien besteht darin, ungenutzte Ressourcen zu entfernen und die gemeinsamen Ressourcen in einem einzigen Objekt zusammenzuführen. Um die PDF-Ressourcen zu optimieren, bietet Aspose.PDF die Funktion AsposePdfOptimizeResource. Der folgende Codeausschnitt zeigt, wie PDF-Ressourcen in JavaScript optimiert werden.

var ffilePdfOptimizeResource = function (e) {
  const file_reader = new FileReader();
  file_reader.onload = (event) => {
    
    /*Optimize resources a PDF-file and save the "ResultPdfOptimizeResource.pdf"*/
    const json = AsposePdfOptimizeResource(event.target.result, e.target.files[0].name, "ResultPdfOptimizeResource.pdf");
    if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
    else document.getElementById('output').textContent = json.errorText;
    
    /*Make a link to download the result file*/
    DownloadFile(json.fileNameResult, "application/pdf");
  };
  file_reader.readAsArrayBuffer(e.target.files[0]);
};

Holen Sie sich die kostenlose JavaScript-PDF-Bibliothek

Erhalten Sie eine kostenlose temporäre Lizenz und nutzen Sie unsere JavaScript-PDF-Optimierungsbibliothek ohne Einschränkungen.

Abschluss

Die Optimierung von PDF Dateien ist entscheidend, um eine optimale Leistung und Benutzererfahrung in Webanwendungen sicherzustellen. Aspose.PDF for JavaScript bietet leistungsstarke Tools zur effizienten Optimierung von PDF Dokumenten. In diesem Blogbeitrag stellen wir Ihnen eine einfach zu implementierende Methode zur Optimierung von PDF Dateien mithilfe von JavaScript vor. Durch den Einsatz dieser PDF-Optimierungsmethode können Sie die gesamte Dokumentenverwaltung in Ihren Webanwendungen deutlich verbessern.

Erfahren Sie mehr über unsere JavaScript-PDF-Bibliothek in Dokumentation. Falls Sie Fragen haben, teilen Sie uns diese bitte über unser Forum mit.

Siehe auch