Оптимізуйте PDF у JavaScript

PDF-файли є повсюдним форматом для обміну документами, але іноді вони можуть бути об’ємними, що призводить до повільного завантаження та збільшення вимог до пам’яті. Оптимізація 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 у документації. Якщо у вас є запитання, поділіться ними з нами на нашому форумі.

Дивись також