Optimalkan PDF dalam JavaScript

File PDF adalah format yang umum digunakan untuk berbagi dokumen, namun terkadang berukuran besar, sehingga memperlambat waktu muat dan meningkatkan kebutuhan penyimpanan. Mengoptimalkan file PDF sangat penting untuk memastikan pengalaman pengguna yang lancar, khususnya dalam aplikasi web. Oleh karena itu, dalam postingan blog ini, kita akan mempelajari cara mengoptimalkan file PDF menggunakan JavaScript.

Perpustakaan JavaScript untuk Mengoptimalkan PDF

Untuk optimasi PDF dalam aplikasi JavaScript, kami akan menggunakan Aspose.PDF for JavaScript. Ini adalah perpustakaan canggih yang memungkinkan pengembang memproses, memanipulasi, dan mengoptimalkan file PDF menggunakan JavaScript. Jadi mari kita mulai dengan menginstal perpustakaan terlebih dahulu.

Unduh perpustakaan dan ikuti petunjuk instalasi yang disediakan di sini: Cara menginstal Aspose.PDF for JavaScript.

Optimalkan PDF dalam JavaScript

Sebelum mendalami proses pengoptimalan PDF, mari kita pahami mengapa penting untuk mengoptimalkan file PDF:

  • Waktu Muat Lebih Cepat: PDF yang dioptimalkan dimuat lebih cepat, meningkatkan pengalaman pengguna dengan mengurangi waktu tunggu.
  • Efisiensi Bandwidth: Ukuran file yang lebih kecil menghasilkan pengurangan konsumsi bandwidth, sehingga lebih mudah untuk berbagi dan mengunduh PDF.
  • Ruang Penyimpanan: PDF yang dioptimalkan menggunakan lebih sedikit ruang penyimpanan, yang sangat penting ketika menangani dokumen dalam jumlah besar.

Sekarang mari kita menulis skrip untuk mengoptimalkan file PDF dengan mengikuti langkah-langkah di bawah ini.

  • Pertama, pilih file PDF yang perlu Anda optimalkan.
  • Kemudian, buat objek FileReader untuk membaca file.
  • Setelah itu, panggil fungsi AsposePdfOptimize untuk mengoptimalkan PDF. Parameter fungsi ini mencakup nama file PDF yang dihasilkan.
  • Fungsi AsposePdfOptimize mengembalikan objek JSON dan menggunakan json.errorCode, Anda dapat memeriksa apakah file PDF berhasil dioptimalkan atau tidak. Jika kode kesalahannya 0, PDF dioptimalkan tanpa masalah apa pun. Jika tidak, telah terjadi kesalahan yang dapat Anda baca dari json.errorText.
  • Terakhir, panggil fungsi DownloadFile untuk menghasilkan tautan ke file PDF yang dioptimalkan.

Cuplikan kode berikut menunjukkan cara mengoptimalkan file PDF di 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]);
};

Menggunakan Web Worker dalam Optimasi PDF

Di bagian sebelumnya, kita cukup memuat PDF, mengoptimalkannya, dan mengunduh PDF yang dihasilkan. Sekarang, mari gunakan pekerja web untuk membuat proses pengoptimalan lebih lancar dan mencegah pemblokiran thread UI. Skrip berikut menunjukkan cara menulis pekerja web yang menggunakan fungsi optimasi PDF, yang telah kami tulis di bagian sebelumnya.

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

Optimalkan Sumber Daya PDF dalam JavaScript

Metode lain untuk mengoptimalkan file PDF adalah dengan menghapus sumber daya yang tidak terpakai dan menggabungkan sumber daya umum ke dalam satu objek. Untuk mengoptimalkan sumber daya PDF, Aspose.PDF menyediakan fungsi AsposePdfOptimizeResource. Cuplikan kode berikut menunjukkan cara mengoptimalkan sumber daya PDF di 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]);
};

Dapatkan Perpustakaan PDF JavaScript Gratis

Dapatkan lisensi sementara gratis dan gunakan pustaka pengoptimalan PDF JavaScript kami tanpa batasan apa pun.

Kesimpulan

Mengoptimalkan file PDF sangat penting untuk memastikan kinerja optimal dan pengalaman pengguna dalam aplikasi web. Aspose.PDF for JavaScript menyediakan seperangkat alat canggih untuk mengoptimalkan dokumen PDF secara efisien. Dalam postingan blog ini, kami telah memberi Anda metode yang mudah diterapkan untuk mengoptimalkan file PDF menggunakan JavaScript. Dengan menggunakan metode pengoptimalan PDF ini, Anda dapat meningkatkan keseluruhan manajemen dokumen di aplikasi web Anda secara signifikan.

Jelajahi lebih lanjut tentang perpustakaan JavaScript PDF kami di dokumentasi. Jika Anda memiliki pertanyaan, silakan sampaikan kepada kami melalui forum kami.

Lihat juga