Golang での PDF 生成 (PDF)

Golang Deno Pdf Sheng Cheng Pdf



Portable Document Format (略して PDF) は、ドキュメントで使用される非常に人気のある多用途のファイル形式です。 PDF はほぼすべてのプラットフォームとシステムでサポートされているため、ドキュメントを共有するのに最適です。

開発者に関して言えば、入力データに基づいて PDF ドキュメントをプログラムで生成する必要がある場合に遭遇するかもしれません。たとえば、データベースからの購入情報に基づいて PDF 請求書を生成する Web アプリを作成できます。

幸いなことに、Go エコシステムは大規模であり、最初から構築しなくても PDF 生成を簡単に実行できるツールや機能があります。







このチュートリアルでは、入力データに基づいて PDF ドキュメントを生成する強力な機能を提供する「fpdf」パッケージの使用方法を学びます。



環境設定

続行する前に、次のツールがインストールされていることを確認してください。



  1. 最新の Go コンパイラーがシステムにインストールされていることを確認してください
  2. コードエディタ

Gofpdf をインストールする

プロジェクトをセットアップしたら、「go get」コマンドを使用して「fpdf」パッケージをインストールします。





$ 行く githubを入手 / 行く - pdf / fpdf

インストールしたら、次に進み、PDF 生成用のパッケージによって提供される機能をカバーします。

基本的な PDF ドキュメントを作成する

このパッケージを使用して、基本的な入力テキストを指定して基本的な PDF を作成する方法を示す次のコード例を考えてみましょう。



パッケージ 主要

輸入 (
「github.com/go-pdf/fpdf」


機能 主要 () {
pdf := fpdf 新しい ( 「ぷ」 'んん' 「A4」 「」
pdf ページの追加 ()
pdf フォントの設定 ( 「エリアル」 「B」 16
pdf 細胞 ( 40 10 「お尻が痛いです…」
pdf 出力ファイルと閉じる ( 「ローレム.pdf」
}

指定された例では、必要なパッケージをインポートすることから始めます。この場合、必要なのは「fpdf」パッケージのみです。

次に、fpdf.New() 関数を使用して新しい PDF ドキュメントを作成し、ページの向き、測定単位、サイズなどの PDF プロパティを指定します。

次に、AddPage() 関数を使用して新しいページを追加します。

次に、SetFont() 関数を使用してドキュメントのフォントとサイズを設定します。また、テキストを表示するための Cell() 関数を使用して、セルとも呼ばれる長方形の領域を追加します。

最後に、PDF を生成し、OutputFileAndClose() メソッドで保存します。

画像を追加する

次のコード例に示すように、画像のサポートを追加することもできます。

パッケージ 主要

輸入 (
「github.com/go-pdf/fpdf」


機能 主要 () {
pdf := fpdf 新しい ( 「ぷ」 'んん' 「A4」 「」
pdf ページの追加 ()
pdf 画像オプション ( 「linux-tux.png」 10 10 40 0 間違い fpdf 画像オプション { 画像タイプ : 「PNG」 読み取りDpi : 真実 }、 0 「」
エラー := pdf 出力ファイルと閉じる ( 「例.pdf」
もし エラー != なし {
パニック ( エラー
}
}

これには、指定された画像がドキュメントに含まれる必要があります。

ヘッダーとフッターを含む複数ページのドキュメント

このパッケージは、次の例に示すように、ヘッダーやフッターなどの機能を含む複数のページもサポートしています。

パッケージ 主要

輸入 (
「strconv」 // strconv パッケージをインポートします

「github.com/go-pdf/fpdf」


機能 ヘッダ ( pdf * fpdf Fpdf {
pdf フォントの設定 ( 「エリアル」 「B」 12
pdf 細胞 ( 0 10 「ページヘッダー」
pdf Ln ( 二十
}

機能 フッター ( pdf * fpdf Fpdf {
pdf セットY ( - 15
pdf フォントの設定 ( 「エリアル」 '私' 8
pdf 細胞 ( 0 10 「ページ」 + strconv 溺れた ( pdf ページ番号 ()))
}

機能 主要 () {
pdf := fpdf 新しい ( 「ぷ」 'んん' 「A4」 「」
pdf SetHeaderFunc ( 機能 () { ヘッダ ( pdf })
pdf SetFooterFunc ( 機能 () { フッター ( pdf })

pdf ページの追加 ()
pdf フォントの設定 ( 「エリアル」 「」 12
のために := 0 ; < 40 ; ++ {
pdf 細胞 ( 0 10 「印刷行番号」 + strconv 溺れた ( ))
pdf Ln ( 12
}

pdf 出力ファイルと閉じる ( 「マルチページ.pdf」
}

この場合、ヘッダー関数とフッター関数を定義して、PDF のこれらのセクションの内容を設定します。

次に、SetHeaderFunc と SetFooterFunc を使用して、ドキュメントのヘッダーとフッターとして関数を指定します。

最後に、ループを使用して複数行のテキスト行を作成し、結果として複数のページが作成されます。結果の PDF は次のようになります。

ほら、ありますよ!

結論

このチュートリアルでは、「fpdf」パッケージを使用した Go での PDF 生成について多くのことを学びました。このパッケージには、PDF を生成するための多くのツールと機能が詰め込まれています。詳細については、ドキュメントを確認してください。