PDF-файли є повсюдним форматом для обміну документами, але іноді вони можуть бути об’ємними, що призводить до повільного завантаження та збільшення вимог до пам’яті. Оптимізація PDF-файлів має важливе значення для забезпечення бездоганної взаємодії з користувачем, особливо у веб-додатках. Тому в цій публікації блогу ми розглянемо, як оптимізувати файли PDF за допомогою JavaScript.
- Бібліотека JavaScript для оптимізації PDF
- Оптимізуйте PDF у JavaScript
- Використовуйте Web Worker для оптимізації PDF
- Оптимізуйте PDF-ресурси в JavaScript
Бібліотека JavaScript для оптимізації PDF
Для оптимізації PDF у програмі JavaScript ми будемо використовувати Aspose.PDF for JavaScript. Це потужна бібліотека, яка дозволяє розробникам обробляти, маніпулювати та оптимізувати PDF-файли за допомогою JavaScript. Отже, почнемо з інсталяції бібліотеки.
Завантажте бібліотеку та дотримуйтесь інструкцій зі встановлення, наведених тут: Як інсталювати Aspose.PDF for JavaScript.
Оптимізуйте PDF-файл у JavaScript
Перш ніж заглибитися в процес оптимізації PDF-файлів, давайте зрозуміємо, чому так важливо оптимізувати PDF-файли:
- Швидший час завантаження: оптимізовані PDF-файли завантажуються швидше, покращуючи взаємодію з користувачем за рахунок скорочення часу очікування.
- Ефективність пропускної здатності: менші розміри файлів зменшують споживання пропускної здатності, що спрощує обмін і завантаження PDF-файлів.
- Місце для зберігання: оптимізовані PDF-файли займають менше місця для зберігання, що особливо важливо при роботі з великою кількістю документів.
Давайте тепер напишемо сценарій для оптимізації PDF-файлу, дотримуючись наведених нижче кроків.
- Спочатку виберіть PDF-файл, який потрібно оптимізувати.
- Потім створіть об’єкт FileReader для читання файлу.
- Після цього викличте функцію AsposePdfOptimize, щоб оптимізувати PDF. Параметри цієї функції включають назву отриманого файлу PDF.
- Оскільки функція PosePdfOptimize повертає об’єкт JSON, і за допомогою json.errorCode можна перевірити, чи успішно оптимізовано файл PDF. Якщо код помилки дорівнює 0, PDF оптимізовано без проблем. В іншому випадку сталася помилка, яку можна прочитати з json.errorText.
- Нарешті, викличте функцію DownloadFile, щоб створити посилання на оптимізований файл PDF.
У наведеному нижче фрагменті коду показано, як оптимізувати PDF-файл у 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]);
};
Використання Web Worker в оптимізації PDF
У попередньому розділі ми просто завантажили PDF-файл, оптимізували його та завантажили отриманий PDF-файл. Тепер давайте використаємо веб-воркер, щоб зробити процес оптимізації плавнішим і запобігти блокуванню потоку інтерфейсу користувача. Наступний сценарій показує, як написати веб-воркер, який використовує функцію оптимізації PDF, яку ми написали в попередньому розділі.
/*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;
}
Оптимізуйте PDF-ресурси в JavaScript
Інший спосіб оптимізації PDF-файлів полягає в видаленні невикористаних ресурсів і об’єднанні загальних ресурсів в один об’єкт. Для оптимізації ресурсів PDF Aspose.PDF надає функцію AsposePdfOptimizeResource. Наведений нижче фрагмент коду демонструє, як оптимізувати ресурси PDF у 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]);
};
Отримайте безкоштовну PDF-бібліотеку JavaScript
Отримайте безкоштовну тимчасову ліцензію і використовуйте нашу бібліотеку оптимізації PDF для JavaScript без будь-яких обмежень.
Висновок
Оптимізація PDF-файлів має вирішальне значення для забезпечення оптимальної продуктивності та взаємодії з веб-додатками. Aspose.PDF for JavaScript надає потужний набір інструментів для ефективної оптимізації документів PDF. У цій публікації блогу ми надали вам простий у реалізації метод оптимізації файлів PDF за допомогою JavaScript. Використовуючи цей метод оптимізації PDF, ви можете значно покращити загальне керування документами у своїх веб-додатках.
Дізнайтеся більше про нашу бібліотеку PDF JavaScript у документації. Якщо у вас є запитання, поділіться ними з нами на нашому форумі.