ホームページ  >  記事  >  バックエンド開発  >  GolangでPDF変換を行う方法

GolangでPDF変換を行う方法

PHPz
PHPzオリジナル
2023-04-05 14:36:441944ブラウズ

インターネット時代において、PDF は非常に重要なドキュメント形式になりました。 PDF の人気に伴い、プロジェクトに PDF サポートを追加する方法に注目するプログラマーが増えています。 GolangではPDFへの変換の需要も高まっているため、この記事ではGolangでPDFを変換する方法を紹介します。

1. サードパーティ ライブラリを使用する

まず、Golang でサードパーティ ライブラリを使用して PDF 変換を実現できます。その中で最もよく使われるのは go-fpdf です。これは、Golang で動的グラフィックスを完全にコーディングするために使用できる軽量のサードパーティ ライブラリです。 Golang 開発者は、このライブラリを使用して PDF ドキュメントを迅速に生成します。

以下は、go-fpdf ライブラリを使用して PDF ドキュメントを生成するための基本的なコードです:

package main

import (
    "github.com/jung-kurt/gofpdf"
)

func main() {
    pdf := gofpdf.New("P", "mm", "A4", "") //创建PDF对象
    pdf.AddPage() //添加一页
    pdf.SetFont("Times", "B", 16) //设置字体格式
    pdf.Cell(40, 10, "Hello, world!") //写入文本

    err := pdf.OutputFileAndClose("hello.pdf") //保存并关闭文件
    if err != nil {
        panic(err)
    }
}

このコードは PDF ファイルを生成し、その中に「Hello, world!」というテキストを書き込みます。

2. HTML/CSS を使用して PDF を変換する

もう 1 つの方法は、サードパーティのツールを使用して HTML および CSS ドキュメントを PDF に変換することです。 Windows および Linux システムでは、wkhtmltopdf は非常に優れた PDF 変換ツールです。

Golang では、os/exec ライブラリを使用してコマンド ラインを呼び出し、HTML/CSS ドキュメントを PDF 形式に変換できます。コードは次のとおりです。

package main

import (
    "os/exec"
)

func main() {
    command := exec.Command("wkhtmltopdf", "index.html", "output.pdf") //调用命令行
    err := command.Run()
    if err != nil {
        panic(err)
    }
}

ここでは、コマンド ライン ツール wkhtmltopdf を使用して、HTML ファイルindex.html を PDF ファイルoutput.pdf に変換します。この方法を使用する場合は、対応するサードパーティ製ツールをインストールする必要があることに注意してください。

3. クラウド サービスを使用する

最後の方法は、クラウド サービスを使用して PDF 変換を実現する方法であり、市場には多くのクラウド サービスが提供されています。たとえば、CloudConvert は、PDF を含むさまざまな形式間の変換を提供する人気のあるクラウド サービスです。

Golang では、サードパーティのライブラリを使用して CloudConvert クラウド サービスの API を呼び出し、PDF 変換を実現できます。コードは次のとおりです。

package main

import (
    "fmt"
    "github.com/cloudconvert/cloudconvert-go/sdk"
    "github.com/cloudconvert/cloudconvert-go/sdk/operations"
)

func main() {
    // 创建API客户端
    client, err := sdk.NewClient("<API KEY>")
    if err != nil {
        panic(err)
    }

    // 配置操作
    op := operations.NewConvertOperation()
    op.SetInput("upload", "a.pdf")

    // 设置输出格式
    op.SetOutputFormat("pdf")

    // 执行操作并检查错误
    conversion, err := client.Convert(op)
    if err != nil {
        panic(err)
    }

    // 打印输出URL
    fmt.Println(conversion.Output.Url)
}

上記のコードは、CloudConvert クラウド サービスを使用して、.pdf ファイルを PDF 形式に変換します。

概要

この記事では、Golang で PDF を変換するための 3 つの異なる方法を紹介します。開発者は、ニーズと好みに基づいて変換方法の 1 つを選択できます。ただし、サードパーティのライブラリやクラウド サービスを使用する場合は、関連ドキュメントを読み、関連するリスクを理解する必要があることに注意してください。

以上がGolangでPDF変換を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。