Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar gambar kepada fail PDF menggunakan Golang

Bagaimana untuk menukar gambar kepada fail PDF menggunakan Golang

PHPz
PHPzasal
2023-03-29 11:26:471886semak imbas

Golang ialah bahasa pengaturcaraan yang cekap dan mudah dipelajari Ia telah berkembang pesat dalam beberapa tahun kebelakangan ini dan telah memenangi populariti semakin ramai pembangun. Artikel ini akan memperkenalkan anda cara menggunakan Golang untuk menukar imej kepada fail PDF.

I. Sebelum anda memulakan

Sebelum menukar imej, anda perlu memastikan bahawa persekitaran bahasa Go dan perpustakaan bergantung yang berkaitan telah dipasang pada komputer anda. Pada masa yang sama, anda perlu memastikan anda mempunyai imej yang anda perlukan untuk ditukar sedia.

II Tukar imej kepada PDF menggunakan pustaka Golang

Pertama, kita perlu menukar imej kepada PDF dengan memasang pustaka pihak ketiga. Di sini kita akan menggunakan perpustakaan gofpdf untuk beroperasi. Masukkan kod berikut dalam terminal untuk dipasang:

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

Selepas pemasangan selesai, kami boleh memperkenalkan perpustakaan ini ke dalam kod dan mula menukar imej. Berikut ialah contoh kod yang boleh menukar berbilang gambar format JPG kepada satu fail PDF:

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

Kod di atas mula-mula mencipta fail pdf baharu, dan kemudian menggunakan gelung untuk membaca gambar yang perlu ditukarkan. Kami menggunakan perpustakaan imej/jpeg untuk membaca imej, kemudian menetapkan saiz imej dalam halaman PDF, dan akhirnya menggunakan kaedah pdf.Image() untuk melukis imej pada setiap halaman. Akhir sekali, kami menggunakan kaedah pdf.OutputFileAndClose() untuk mengeluarkan fail pdf.

III. Ringkasan

Dengan kod di atas, anda telah berjaya menggunakan Golang untuk menukar imej kepada fail PDF. Oleh kerana kecekapan dan kesederhanaan bahasa Golang, penukaran kumpulan fail berskala besar telah menjadi mungkin. Saya harap artikel ini dapat memberi inspirasi kepada anda dan membantu anda berkembang dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk menukar gambar kepada fail PDF menggunakan Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn