Zoptymalizuj plik PDF w JavaScript

Pliki PDF są wszechobecnym formatem udostępniania dokumentów, ale czasami mogą być nieporęczne, co powoduje wolniejsze ładowanie i zwiększone wymagania dotyczące pamięci. Optymalizacja plików PDF jest niezbędna, aby zapewnić bezproblemową obsługę użytkownika, szczególnie w aplikacjach internetowych. Dlatego w tym poście na blogu przyjrzymy się, jak zoptymalizować pliki PDF za pomocą JavaScript.

Biblioteka JavaScript do optymalizacji plików PDF

Do optymalizacji plików PDF w aplikacji JavaScript użyjemy Aspose.PDF for JavaScript. Jest to potężna biblioteka, która pozwala programistom przetwarzać, manipulować i optymalizować pliki PDF za pomocą JavaScript. Zacznijmy więc najpierw od zainstalowania biblioteki.

Pobierz bibliotekę i postępuj zgodnie z instrukcjami instalacji podanymi tutaj: Jak zainstalować Aspose.PDF for JavaScript.

Zoptymalizuj plik PDF w JavaScript

Zanim zagłębimy się w proces optymalizacji plików PDF, zobaczmy, dlaczego optymalizacja plików PDF jest tak ważna:

  • Krótszy czas ładowania: zoptymalizowane pliki PDF ładują się szybciej, co poprawia komfort użytkownika poprzez skrócenie czasu oczekiwania.
  • Wydajność przepustowości: Mniejsze rozmiary plików powodują mniejsze zużycie przepustowości, co ułatwia udostępnianie i pobieranie plików PDF.
  • Miejsce na dysku: Zoptymalizowane pliki PDF zajmują mniej miejsca na dysku, co jest szczególnie ważne w przypadku dużej liczby dokumentów.

Napiszmy teraz skrypt optymalizujący plik PDF, wykonując poniższe kroki.

  • Najpierw wybierz plik PDF, który chcesz zoptymalizować.
  • Następnie utwórz obiekt FileReader, aby odczytać plik.
  • Następnie wywołaj funkcję AsposePdfOptimize, aby zoptymalizować plik PDF. Parametry tej funkcji obejmują nazwę wynikowego pliku PDF.
  • Funkcja AsposePdfOptimize zwraca obiekt JSON i używając json.errorCode, możesz sprawdzić, czy plik PDF został pomyślnie zoptymalizowany, czy nie. Jeśli kod błędu wynosi 0, plik PDF zostanie zoptymalizowany bez żadnych problemów. W przeciwnym razie wystąpił błąd, który można odczytać z pliku json.errorText.
  • Na koniec wywołaj funkcję DownloadFile, aby wygenerować łącze do zoptymalizowanego pliku PDF.

Poniższy fragment kodu pokazuje, jak zoptymalizować plik PDF w 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]);
};

Korzystanie z narzędzia Web Worker w optymalizacji plików PDF

W poprzedniej sekcji po prostu załadowaliśmy plik PDF, zoptymalizowaliśmy go i pobraliśmy wynikowy plik PDF. Teraz użyjmy workera sieciowego, aby usprawnić proces optymalizacji i zapobiec blokowaniu wątku interfejsu użytkownika. Poniższy skrypt pokazuje, jak napisać robota sieciowego korzystającego z funkcji optymalizacji plików PDF, o której pisaliśmy w poprzedniej sekcji.

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

Optymalizuj zasoby PDF w JavaScript

Inną metodą optymalizacji plików PDF jest usunięcie nieużywanych zasobów i połączenie wspólnych zasobów w jeden obiekt. Aby zoptymalizować zasoby PDF, Aspose.PDF udostępnia funkcję AsposePdfOptimizeResource. Poniższy fragment kodu demonstruje, jak zoptymalizować zasoby PDF w 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]);
};

Uzyskaj bezpłatną bibliotekę JavaScript PDF

Uzyskaj bezpłatną tymczasową licencję i korzystaj z naszej biblioteki optymalizacyjnej JavaScript PDF bez żadnych ograniczeń.

Wniosek

Optymalizacja plików PDF ma kluczowe znaczenie dla zapewnienia optymalnej wydajności i komfortu użytkowania aplikacji internetowych. Aspose.PDF for JavaScript zapewnia potężny zestaw narzędzi do efektywnej optymalizacji dokumentów PDF. W tym poście na blogu przedstawiliśmy łatwą do wdrożenia metodę optymalizacji plików PDF przy użyciu JavaScript. Korzystając z tej metody optymalizacji plików PDF, możesz znacząco poprawić ogólne zarządzanie dokumentami w aplikacjach internetowych.

Dowiedz się więcej o naszej bibliotece JavaScript PDF w dokumentacja. Jeśli masz jakieś pytania, podziel się nimi z nami za pośrednictwem naszego forum.

Zobacz też