JavaScript で PDF を最適化する

PDF ファイルはドキュメント共有用に広く普及している形式ですが、場合によってはサイズが大きくなり、読み込み時間が遅くなり、ストレージ要件が増加することがあります。 PDF ファイルの最適化は、特に Web アプリケーションでシームレスなユーザー エクスペリエンスを確保するために不可欠です。したがって、このブログ投稿では、JavaScript を使用して PDF ファイルを最適化する方法を検討します。

PDFを最適化するためのJavaScriptライブラリ

JavaScript アプリケーションでの PDF の最適化には、Aspose.PDF for JavaScript を使用します。これは、開発者が JavaScript を使用して PDF ファイルを処理、操作、最適化できる強力なライブラリです。それでは、まずライブラリをインストールすることから始めましょう。

ライブラリをダウンロードし、Aspose.PDF for JavaScriptをインストールする方法に記載されているインストール手順に従います。

JavaScript で PDF を最適化する

PDF の最適化プロセスに入る前に、PDF ファイルの最適化がなぜ重要なのかを理解しましょう。

  • 読み込み時間の短縮: 最適化された PDF は読み込み時間が短縮され、待ち時間が短縮されてユーザー エクスペリエンスが向上します。
  • 帯域幅の効率: ファイル サイズが小さいほど帯域幅の消費量が削減され、PDF の共有とダウンロードが容易になります。
  • 記憶域スペース: 最適化された PDF は、占有記憶域スペースが少なくなります。これは、大量のドキュメントを扱う場合に特に重要です。

以下の手順に従って、PDF ファイルを最適化するスクリプトを作成しましょう。

  • まず、最適化する必要がある PDF ファイルを選択します。
  • 次に、ファイルを読み取るための FileReader オブジェクトを作成します。
  • その後、AsposePdfOptimize 関数を呼び出して PDF を最適化します。この関数のパラメータには、結果の PDF ファイルの名前が含まれます。
  • AsposePdfOptimize 関数は JSON オブジェクトを返し、json.errorCode を使用して PDF ファイルが正常に最適化されているかどうかを確認できます。エラー コードが 0 の場合、PDF は問題なく最適化されています。それ以外の場合は、json.errorText から読み取ることができるエラーが発生しています。
  • 最後に、DownloadFile 関数を呼び出して、最適化された PDF ファイルへのリンクを生成します。

次のコード スニペットは、JavaScript で PDF ファイルを最適化する方法を示しています。

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]);
};

PDF の最適化で Web Worker を使用する

前のセクションでは、PDF をロードして最適化し、結果の PDF をダウンロードするだけでした。次に、Web ワーカーを使用して、最適化プロセスをよりスムーズにし、UI スレッドがブロックされるのを防ぎましょう。次のスクリプトは、前のセクションで作成した PDF 最適化機能を使用する Web ワーカーの作成方法を示しています。

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

JavaScript で PDF リソースを最適化する

PDF ファイルを最適化するもう 1 つの方法は、未使用のリソースを削除し、共通のリソースを 1 つのオブジェクトに結合することです。 PDF リソースを最適化するために、Aspose.PDF は AsposePdfOptimizeResource 関数を提供します。次のコード スニペットは、JavaScript で PDF リソースを最適化する方法を示しています。

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]);
};

無料の JavaScript PDF ライブラリを入手

無料の一時ライセンスを取得 すると、JavaScript PDF 最適化ライブラリを制限なく使用できます。

結論

PDF ファイルの最適化は、Web アプリケーションで最適なパフォーマンスとユーザー エクスペリエンスを確保するために重要です。 Aspose.PDF for JavaScript は、PDF ドキュメントを効率的に最適化するための強力なツール セットを提供します。このブログ投稿では、JavaScript を使用して PDF ファイルを最適化する簡単に実装できる方法を紹介しました。この PDF 最適化方法を使用すると、Web アプリケーションにおける全体的なドキュメント管理を大幅に改善できます。

JavaScript PDF ライブラリの詳細については、ドキュメント をご覧ください。ご質問がある場合は、フォーラム 経由で共有してください。

関連項目