JavaScript で PDF を生成

Muhammad Muzammil Hussain 2023年10月12日
  1. JavaScript で PDF を生成
  2. jsPDF ライブラリを使用して JavaScript で PDF を生成する
  3. html2pdf ライブラリを使用して JavaScript で PDF を生成する
JavaScript で PDF を生成

この記事では、JavaScript ソース コードで PDF を作成するための最適なライブラリと、JavaScript コードでそのライブラリを使用する方法について説明します。

JavaScript で PDF を生成

PDF などの Web ページでファイルのダウンロード オプションをよく見かけます。 開発者は、プログラム コードを使用して PDF ファイルを生成し、この機能をユーザーに提供する必要があります。

JavaScript で複数のライブラリを使用して PDF ファイルを作成できます。 たとえば、多くの Web サイトでは、請求書、チケット、履歴書などのファイルを生成およびダウンロードする機能が提供されています。

これらの Web サイトは、異なるライブラリを使用してこの機能を実行します。 例を使用して、最も一般的に使用される 2つのライブラリについて説明し、学習します。

jsPDF ライブラリを使用して JavaScript で PDF を生成する

JavaScript の場合のみ、PDF を作成するための npm ライブラリ パッケージ jsPDF があります。 このライブラリを使用している間、サーバー側のスクリプトは必要ありません。

動的コンテンツを処理して PDF ファイルを生成できます。 以下に示すように、3 行のコードで PDF ファイルをすばやく簡単に生成できます。

基本的な構文:

var myDoc = new jsPDF();                    // object
myDoc.text(10, 10, 'DelftStack Website!');  // content
myDoc.save('dummyFile.pdf');                // saving

オブジェクトを作成し、new キーワードと jsPDF() を使用して変数に格納する必要があります。 次に、コンテンツをオブジェクトの text プロパティを持つ文字列として設定する必要があります。

最後に、save プロパティを使用して PDF ファイルを保存します。

html2pdf ライブラリを使用して JavaScript で PDF を生成する

html2pdf ライブラリを使用すると、JavaScript ソースを使用して Web サイトに埋め込み、Web ページのコンテンツを PDF ドキュメントに変換できます。 PDF ドキュメントは PDF としてダウンロード可能になります。

ライブラリをダウンロードして、使用する前にソースにインポートするだけです。

基本的な構文:

const docElement = document.getElementById('ticket');
html2pdf().from(docElement).save();

上記のように、document.getElementById() によって要素のコンテンツを取得し、html2pdf().from(docElement).save() を使用してコンテンツを PDF に変換し、ファイルをダウンロードできます。

例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <title>HTML to PDF conversion</title>
        <script src="html2pdf.bundle.min.js"></script>

        <script>
            function createPDF() {
                // get the element of ticket content.
                const docElement = document.getElementById('ticket');
                // select the element and save as the PDF.
                html2pdf().from(docElement).save();
            }
        </script>
    </head>
    <body>
    <h1 style="color:blueviolet">DelftStack Learning</h1>
    <h3>JavaScript create and download pdf</h3>

        <div id="ticket">
            <h1>Our Ticket</h1>
            <p>Ticket content here</p>
        </div>
        <button onclick="createPDF()">Download as PDF</button>
    </body>
</html>

出力:

html2pdf ライブラリを使用して JavaScript で PDF を生成

上記の HTML ソースの例では、html2pdf ライブラリを既にダウンロードしており、<head> タグでインポートしています。 チケットの div 要素を作成し、id ticket を定義して、HTML の div 要素にダミー コンテンツを提供しました。

次に、そのボタンのクリック イベントにボタン要素 Download as PDF があります。 関数 createPDF() を呼び出しました。 その関数内では、まず、document.getElementById('ticket') を使用して要素を取得し、それを変数に格納します。

最後に、html2pdf ライブラリ メソッド from()save() を使用しました。 from() メソッドの要素を引数として渡し、save() メソッドを呼び出すだけです。

このライブラリをダウンロードし、上記のソースを HTML の拡張子で保存し、ブラウザで開いて結果を確認します。

関連記事 - JavaScript PDF