Ottimizza PDF in JavaScript

I file PDF sono un formato onnipresente per la condivisione di documenti, ma a volte possono essere ingombranti, comportando tempi di caricamento più lenti e maggiori requisiti di archiviazione. L’ottimizzazione dei file PDF è essenziale per garantire un’esperienza utente fluida, in particolare nelle applicazioni web. Pertanto, in questo post del blog, esploreremo come ottimizzare i file PDF utilizzando JavaScript.

Libreria JavaScript per ottimizzare i PDF

Per l’ottimizzazione dei PDF in un’applicazione JavaScript, utilizzeremo Aspose.PDF for JavaScript. È una potente libreria che consente agli sviluppatori di elaborare, manipolare e ottimizzare i file PDF utilizzando JavaScript. Iniziamo quindi installando prima la libreria.

Scarica la libreria e segui le istruzioni di installazione fornite qui: Come installare Aspose.PDF for JavaScript.

Ottimizza un PDF in JavaScript

Prima di immergerci nel processo di ottimizzazione dei PDF, capiamo perché è fondamentale ottimizzare i file PDF:

  • Tempi di caricamento più rapidi: i PDF ottimizzati vengono caricati più rapidamente, migliorando l’esperienza dell’utente riducendo i tempi di attesa.
  • Efficienza della larghezza di banda: file di dimensioni più piccole comportano un consumo ridotto di larghezza di banda, facilitando la condivisione e il download dei PDF.
  • Spazio di archiviazione: i PDF ottimizzati occupano meno spazio di archiviazione, il che è particolarmente importante quando si ha a che fare con un numero elevato di documenti.

Scriviamo ora lo script per ottimizzare un file PDF seguendo i passaggi seguenti.

  • Innanzitutto, seleziona il file PDF che desideri ottimizzare.
  • Quindi, crea un oggetto FileReader per leggere il file.
  • Successivamente, chiama la funzione AsposePdfOptimize per ottimizzare il PDF. I parametri di questa funzione includono il nome del file PDF risultante.
  • La funzione AsposePdfOptimize restituisce un oggetto JSON e utilizzando json.errorCode, puoi verificare se il file PDF è ottimizzato correttamente o meno. Se il codice di errore è 0, il PDF è ottimizzato senza problemi. Altrimenti si è verificato un errore che puoi leggere da json.errorText.
  • Infine, chiama la funzione DownloadFile per generare un collegamento al file PDF ottimizzato.

Il seguente frammento di codice mostra come ottimizzare un file PDF in JavaScript.

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]);
};

Utilizzo di Web Worker nell’ottimizzazione PDF

Nella sezione precedente, abbiamo semplicemente caricato un PDF, ottimizzato e scaricato il PDF risultante. Utilizziamo ora un Web Worker per rendere il processo di ottimizzazione più fluido e impedire il blocco del thread dell’interfaccia utente. Il seguente script mostra come scrivere un webworker che utilizzi la funzione di ottimizzazione PDF, che abbiamo scritto nella sezione precedente.

/*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;
  }

Ottimizza le risorse PDF in JavaScript

Un altro metodo per ottimizzare i file PDF consiste nel rimuovere le risorse inutilizzate e unire le risorse comuni in un unico oggetto. Per ottimizzare le risorse PDF, Aspose.PDF fornisce la funzione AsposePdfOptimizeResource. Il seguente frammento di codice dimostra come ottimizzare le risorse PDF in JavaScript.

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]);
};

Ottieni la libreria PDF JavaScript gratuita

Ottieni una licenza temporanea gratuita e utilizza la nostra libreria di ottimizzazione PDF JavaScript senza alcuna limitazione.

Conclusione

L’ottimizzazione dei file PDF è fondamentale per garantire prestazioni ed esperienza utente ottimali nelle applicazioni web. Aspose.PDF for JavaScript fornisce un potente set di strumenti per ottimizzare in modo efficiente i documenti PDF. In questo post del blog ti abbiamo fornito un metodo facile da implementare per ottimizzare i file PDF utilizzando JavaScript. Utilizzando questo metodo di ottimizzazione dei PDF, puoi migliorare in modo significativo la gestione complessiva dei documenti nelle tue applicazioni web.

Scopri di più sulla nostra libreria PDF JavaScript in documentazione. In caso di domande, condividile con noi tramite il nostro forum.

Guarda anche