Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie Bilder mit Golang in PDF-Dateien

So konvertieren Sie Bilder mit Golang in PDF-Dateien

PHPz
PHPzOriginal
2023-03-29 11:26:471886Durchsuche

Golang ist eine effiziente und leicht zu erlernende Programmiersprache, die sich in den letzten Jahren rasant weiterentwickelt hat und bei immer mehr Entwicklern an Popularität gewonnen hat. In diesem Artikel erfahren Sie, wie Sie mit Golang Bilder in PDF-Dateien konvertieren.

I. Bevor Sie beginnen

Bevor Sie Bilder konvertieren, müssen Sie sicherstellen, dass die Go-Sprachumgebung und die zugehörigen abhängigen Bibliotheken auf Ihrem Computer installiert sind. Gleichzeitig müssen Sie sicherstellen, dass Sie über die Bilder verfügen, die Sie konvertieren möchten.

II. Bilder mit der Golang-Bibliothek in PDF konvertieren

Zuerst müssen wir Bilder in PDF konvertieren, indem wir eine Bibliothek eines Drittanbieters installieren. Hier verwenden wir für den Betrieb die gofpdf-Bibliothek. Geben Sie zur Installation den folgenden Code in das Terminal ein:

go get -u github.com/jung-kurt/gofpdf

Nach Abschluss der Installation können wir diese Bibliothek in den Code einführen und mit der Konvertierung von Bildern beginnen. Das Folgende ist ein Beispielcode, der mehrere Bilder im JPG-Format in eine PDF-Datei konvertieren kann:

package main

import (
    "image/jpeg"
    "os"

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

func main() {
    // 创建一个新的pdf文件
    pdf := gofpdf.New("P", "mm", "A4", "")
    // 循环读取需要转换的图片
    for _, file := range []string{"image1.jpg", "image2.jpg", "image3.jpg"} {
        // 利用第三方库读取图片
        imgFile, err := os.Open(file)
        defer imgFile.Close()

        img, err := jpeg.Decode(imgFile)
        if err != nil {
            panic(err)
        }

        // 添加一个新的页面
        pdf.AddPage()

        // 设置图片的大小,使之填满整个页面
        imgWidth := pdf.GetPageSize()[0] - 20.0
        imgHeight := imgWidth * float64(img.Bounds().Dy()) / float64(img.Bounds().Dx())

        // 在pdf页面上绘制图片
        pdf.Image(file, 10.0, 10.0, imgWidth, imgHeight, false, "", 0, "")

    }

    // 输出pdf文件
    err := pdf.OutputFileAndClose("output.pdf")
    if err != nil {
        panic(err)
    }
}

Der obige Code erstellt zunächst eine neue PDF-Datei und verwendet dann eine Schleife, um die Bilddateien zu lesen, die konvertiert werden müssen. Wir haben die Bild-/JPEG-Bibliothek verwendet, um das Bild zu lesen, dann die Größe des Bildes auf der PDF-Seite festgelegt und schließlich die Methode pdf.Image() verwendet, um das Bild auf jeder Seite zu zeichnen. Schließlich verwenden wir die Methode pdf.OutputFileAndClose(), um die PDF-Datei auszugeben.

III. Zusammenfassung

Mit dem obigen Code haben Sie Golang erfolgreich zum Konvertieren von Bildern in PDF-Dateien verwendet. Aufgrund der Effizienz und Einfachheit der Golang-Sprache ist die Stapelkonvertierung großer Dateien möglich geworden. Ich hoffe, dieser Artikel kann Sie inspirieren und Ihnen helfen, sich besser zu entwickeln.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Bilder mit Golang in PDF-Dateien. 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