Heim  >  Artikel  >  Backend-Entwicklung  >  So führen Sie eine PDF-Konvertierung in Golang durch

So führen Sie eine PDF-Konvertierung in Golang durch

PHPz
PHPzOriginal
2023-04-05 14:36:441944Durchsuche

Im Internetzeitalter ist PDF zu einem sehr wichtigen Dokumentformat geworden. Mit der Beliebtheit von PDF achten immer mehr Programmierer darauf, wie sie ihren Projekten PDF-Unterstützung hinzufügen können. Auch in Golang wächst die Nachfrage nach der Konvertierung in PDF, daher wird in diesem Artikel erläutert, wie man PDF in Golang konvertiert.

1. Verwenden Sie Bibliotheken von Drittanbietern

Zunächst können wir in Golang Bibliotheken von Drittanbietern verwenden, um eine PDF-Konvertierung zu erreichen. Unter diesen ist go-fpdf das am häufigsten verwendete. Es handelt sich um eine leichtgewichtige Bibliothek eines Drittanbieters, mit der dynamische Grafiken vollständig in Golang codiert werden können. Golang-Entwickler können diese Bibliothek nutzen, um schnell PDF-Dokumente zu generieren.

Das Folgende ist der grundlegende Code zum Generieren von PDF-Dokumenten mithilfe der go-fpdf-Bibliothek:

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

Dieser Code generiert eine PDF-Datei und schreibt den Text „Hallo, Welt!“ hinein.

2. Verwenden Sie HTML/CSS zum Konvertieren von PDF

Eine andere Methode besteht darin, ein Drittanbieter-Tool zum Konvertieren von HTML- und CSS-Dokumenten in PDF zu verwenden. Auf Windows- und Linux-Systemen ist wkhtmltopdf ein sehr gutes PDF-Konvertierungstool.

In Golang können wir die os/exec-Bibliothek verwenden, um die Befehlszeile aufzurufen, um HTML/CSS-Dokumente in das PDF-Format zu konvertieren. Der Code lautet wie folgt:

package main

import (
    "os/exec"
)

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

Hier verwenden wir das Befehlszeilentool wkhtmltopdf, um die HTML-Datei index.html in die PDF-Datei output.pdf zu konvertieren. Es ist zu beachten, dass Sie bei Verwendung dieser Methode die entsprechenden Tools von Drittanbietern installieren müssen.

3. Cloud-Dienste nutzen

Die letzte Methode ist die Nutzung von Cloud-Diensten zur PDF-Konvertierung. Es gibt viele Cloud-Dienste auf dem Markt. CloudConvert ist beispielsweise ein beliebter Cloud-Dienst, der die Konvertierung zwischen verschiedenen Formaten, einschließlich PDF, ermöglicht.

In Golang können wir eine Bibliothek eines Drittanbieters verwenden, um die API des CloudConvert-Clouddienstes aufzurufen und eine PDF-Konvertierung zu erreichen. Der Code lautet wie folgt:

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

Der obige Code verwendet den CloudConvert-Clouddienst, um eine.pdf-Datei in das PDF-Format zu konvertieren.

Zusammenfassung

In diesem Artikel werden drei verschiedene Methoden zum Konvertieren von PDF in Golang vorgestellt. Entwickler können je nach Bedarf und Vorlieben eine der Konvertierungsmethoden auswählen. Es ist jedoch zu beachten, dass Sie bei der Nutzung von Bibliotheken und Cloud-Diensten Dritter die entsprechenden Dokumente lesen und sich über die damit verbundenen Risiken im Klaren sein müssen.

Das obige ist der detaillierte Inhalt vonSo führen Sie eine PDF-Konvertierung in Golang durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Worauf bezieht sich Golang?Nächster Artikel:Worauf bezieht sich Golang?