Optimalkan Sumber Daya PDF menggunakan JavaScript via C++

Optimalkan Sumber Daya PDF

Optimalkan sumber daya dalam dokumen:

  1. Sumber daya yang tidak digunakan pada halaman dokumen dihapus

  2. Sumber daya yang sama digabungkan menjadi satu objek

  3. Objek yang tidak digunakan dihapus

  4. Pilih berkas PDF untuk dioptimalkan.

  5. Buat ‘FileReader’.

  6. Fungsi AsposePdfOptimizeResource dijalankan.

  7. Nama berkas hasil diatur, dalam contoh ini “ResultPdfOptimizeResource.pdf”.

  8. Selanjutnya, jika ‘json.errorCode’ adalah 0, maka DownloadFile Anda diberi nama yang Anda tentukan sebelumnya. Jika parameter ‘json.errorCode’ tidak sama dengan 0 dan, sesuai, akan ada kesalahan dalam file Anda, maka informasi tentang kesalahan tersebut akan terkandung dalam file ‘json.errorText’.

  9. Sebagai hasilnya, fungsi DownloadFile menghasilkan tautan dan memungkinkan Anda mengunduh file hasil ke sistem operasi pengguna.

Cuplikan kode berikut menunjukkan cara mengoptimalkan dokumen PDF.


    var ffilePdfOptimizeResource = function (e) {
      const file_reader = new FileReader();
      file_reader.onload = (event) => {
        /*Optimalkan sumber daya file PDF dan simpan sebagai "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;
        /*Buat tautan untuk mengunduh file hasil*/
        DownloadFile(json.fileNameResult, "application/pdf");
      };
      file_reader.readAsArrayBuffer(e.target.files[0]);
    };

Menggunakan Web Workers


    /*Buat Web Worker*/
    const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
    AsposePDFWebWorker.onerror = evt => console.log(`Kesalahan dari Web Worker: ${evt.message}`);
    AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent = 
      (evt.data == 'ready') ? 'dimuat!' :
        (evt.data.json.errorCode == 0) ? `Hasil:\n${DownloadFile(evt.data.json.fileNameResult, "application/pdf", evt.data.params[0])}` : `Kesalahan: ${evt.data.json.errorText}`;

    /*Penangan acara*/
    const ffilePdfOptimizeResource = e => {
      const file_reader = new FileReader();
      file_reader.onload = event => {
        /*Optimalkan sumber daya file PDF dan simpan sebagai "ResultPdfOptimizeResource.pdf" - Minta Web Worker*/
        AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfOptimizeResource', "params": [event.target.result, e.target.files[0].name, "ResultPdfOptimizeResource.pdf"] }, [event.target.result]);
      };
      file_reader.readAsArrayBuffer(e.target.files[0]);
    };
  /// [Potongan kode]

    /*Buat tautan untuk mengunduh file hasil*/
    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 = "Klik di sini untuk mengunduh file " + filename;
        document.body.appendChild(link); 
        document.body.appendChild(document.createElement("br"));
        return filename;
      }