Optimera PDF i JavaScript

PDF-filer är ett allmänt förekommande format för dokumentdelning, men de kan ibland vara skrymmande, vilket leder till långsammare laddningstider och ökade lagringskrav. Att optimera PDF-filer är viktigt för att säkerställa en sömlös användarupplevelse, särskilt i webbapplikationer. Därför kommer vi i det här blogginlägget att utforska hur man optimerar PDF-filer med JavaScript.

JavaScript-bibliotek för att optimera PDF

För PDF-optimering i en JavaScript-applikation kommer vi att använda Aspose.PDF för JavaScript. Det är ett kraftfullt bibliotek som låter utvecklare bearbeta, manipulera och optimera PDF-filer med JavaScript. Så låt oss börja med att installera biblioteket först.

Ladda ner biblioteket och följ installationsinstruktionerna här: Hur man installerar Aspose.PDF för JavaScript.

Optimera en PDF i JavaScript

Innan vi går in i PDF-optimeringsprocessen, låt oss förstå varför det är avgörande att optimera PDF-filer:

  • Snabbare laddningstider: Optimerade PDF-filer laddas snabbare, vilket förbättrar användarupplevelsen genom att minska väntetiderna.
  • Bandbreddseffektivitet: Mindre filstorlekar resulterar i minskad bandbreddsförbrukning, vilket gör det lättare att dela och ladda ner PDF-filer.
  • Lagringsutrymme: Optimerade PDF-filer tar mindre lagringsutrymme, vilket är särskilt viktigt när man hanterar ett stort antal dokument.

Låt oss nu skriva skriptet för att optimera en PDF-fil genom att följa stegen nedan.

  • Välj först den PDF-fil som du behöver optimera.
  • Skapa sedan ett FileReader-objekt för att läsa filen.
  • Efter det, anropa AsposePdfOptimize-funktionen för att optimera PDF:en. Parametrarna för denna funktion inkluderar den resulterande PDF-filens namn.
  • AsposePdfOptimize-funktionen returnerar ett JSON-objekt och med hjälp av json.errorCode kan du kontrollera om PDF-filen har optimerats framgångsrikt eller inte. Om felkoden är 0 optimeras PDF:en utan problem. Annars har ett fel uppstått som du kan läsa från json.errorText.
  • Till sist, anropa DownloadFile-funktionen för att skapa en länk till den optimerade PDF-filen.

Följande kodavsnitt visar hur man optimerar en PDF-fil i 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]);
};

Använda Web Worker i PDF-optimering

I föregående avsnitt laddade vi helt enkelt en PDF, optimerade den och laddade ner den resulterande PDF-filen. Låt oss nu använda en webbarbetare för att göra optimeringsprocessen smidigare och förhindra att gränssnittstråden blockeras. Följande skript visar hur man skriver en webbarbetare som använder PDF-optimeringsfunktionen, som vi har skrivit i föregående avsnitt.

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

Optimera PDF-resurser i JavaScript

En annan metod för att optimera PDF-filer är att ta bort oanvända resurser och sammanfoga de gemensamma resurserna till ett enda objekt. För att optimera PDF-resurserna tillhandahåller Aspose.PDF AsposePdfOptimizeResource-funktionen. Följande kodavsnitt visar hur man optimerar PDF-resurser i 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]);
};

Skaffa gratis JavaScript PDF-bibliotek

Få en gratis tillfällig licens och använd vårt JavaScript PDF-optimeringsbibliotek utan några begränsningar.

Slutsats

Att optimera PDF-filer är avgörande för att säkerställa optimal prestanda och användarupplevelse i webbapplikationer. Aspose.PDF för JavaScript tillhandahåller en kraftfull uppsättning verktyg för att optimera PDF-dokument effektivt. I det här blogginlägget har vi försett dig med en enkel att implementera metod för att optimera PDF-filer med JavaScript. Genom att använda denna PDF-optimeringsmetod kan du avsevärt förbättra den övergripande dokumenthanteringen i dina webbapplikationer.

Utforska mer om vårt JavaScript PDF-bibliotek i dokumentation. Om du har några frågor, vänligen dela dem med oss via vårt forum.

Se även