Optimalizujte PDF v JavaScriptu

Soubory PDF jsou všudypřítomným formátem pro sdílení dokumentů, ale někdy mohou být objemné, což vede k pomalejšímu načítání a zvýšeným nárokům na úložiště. Optimalizace souborů PDF je nezbytná pro zajištění bezproblémového uživatelského zážitku, zejména ve webových aplikacích. Proto v tomto příspěvku na blogu prozkoumáme, jak optimalizovat soubory PDF pomocí JavaScriptu.

Knihovna JavaScript pro optimalizaci PDF

Pro optimalizaci PDF v JavaScriptové aplikaci použijeme Aspose.PDF for JavaScript. Je to výkonná knihovna, která umožňuje vývojářům zpracovávat, manipulovat a optimalizovat soubory PDF pomocí JavaScriptu. Začněme tedy instalací knihovny.

Stáhněte si knihovnu a postupujte podle pokynů k instalaci zde: Jak nainstalovat Aspose.PDF for JavaScript.

Optimalizujte PDF v JavaScriptu

Než se ponoříme do procesu optimalizace PDF, pojďme pochopit, proč je důležité optimalizovat soubory PDF:

  • Kratší doby načítání: Optimalizované soubory PDF se načítají rychleji, což zlepšuje uživatelský dojem zkrácením čekacích dob.
  • Efektivita šířky pásma: Menší velikosti souborů vedou ke snížení spotřeby šířky pásma, což usnadňuje sdílení a stahování souborů PDF.
  • Úložný prostor: Optimalizované soubory PDF zabírají méně místa v úložišti, což je zvláště důležité při práci s velkým množstvím dokumentů.

Pojďme nyní napsat skript pro optimalizaci souboru PDF podle níže uvedených kroků.

  • Nejprve vyberte soubor PDF, který potřebujete optimalizovat.
  • Poté vytvořte objekt FileReader pro čtení souboru.
  • Poté zavolejte funkci AsposePdfOptimize pro optimalizaci PDF. Parametry této funkce zahrnují název výsledného souboru PDF.
  • Funkce AsposePdfOptimize vrací objekt JSON a pomocí json.errorCode můžete zkontrolovat, zda je soubor PDF optimalizován úspěšně nebo ne. Pokud je kód chyby 0, bude PDF optimalizováno bez problémů. V opačném případě došlo k chybě, kterou si můžete přečíst z json.errorText.
  • Nakonec zavolejte funkci DownloadFile a vygenerujte odkaz na optimalizovaný soubor PDF.

Následující fragment kódu ukazuje, jak optimalizovat soubor PDF v JavaScriptu.

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

Použití Web Worker v optimalizaci PDF

V předchozí části jsme jednoduše načetli PDF, optimalizovali jej a stáhli výsledné PDF. Nyní použijeme webového pracovníka, aby byl proces optimalizace plynulejší a zabránilo se zablokování vlákna uživatelského rozhraní. Následující skript ukazuje, jak napsat webový pracovník, který používá funkci optimalizace PDF, kterou jsme napsali v předchozí části.

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

Optimalizujte zdroje PDF v JavaScriptu

Další metodou optimalizace souborů PDF je odstranění nepoužívaných zdrojů a spojení společných zdrojů do jednoho objektu. Pro optimalizaci zdrojů PDF poskytuje Aspose.PDF funkci AsposePdfOptimizeResource. Následující fragment kódu ukazuje, jak optimalizovat zdroje PDF v JavaScriptu.

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

Získejte zdarma JavaScript PDF knihovnu

Získejte bezplatnou dočasnou licenci a používejte naši knihovnu pro optimalizaci JavaScriptu PDF bez jakýchkoli omezení.

Závěr

Optimalizace souborů PDF je zásadní pro zajištění optimálního výkonu a uživatelské zkušenosti ve webových aplikacích. Aspose.PDF for JavaScript poskytuje výkonnou sadu nástrojů pro efektivní optimalizaci dokumentů PDF. V tomto příspěvku na blogu jsme vám poskytli snadno implementovatelnou metodu optimalizace souborů PDF pomocí JavaScriptu. Pomocí této metody optimalizace PDF můžete výrazně zlepšit celkovou správu dokumentů ve vašich webových aplikacích.

Prozkoumejte více o naší JavaScriptové knihovně PDF v dokumentace. Pokud máte nějaké dotazy, sdílejte je s námi prostřednictvím našeho fóra.

Viz také