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
- Zoptymalizuj plik PDF w JavaScript
- Użyj narzędzia sieciowego do optymalizacji plików PDF
- Optymalizuj zasoby PDF w 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.