Golang通过Bimg将pdf转换为图像

下面的示例代码使用bimg将pdf转换为jpeg 。

func main() {

buffer, err := bimg.Read("test.pdf")

if err != nil {

fmt.Fprintln(os.Stderr, err)

}

newImage, err := bimg.NewImage(buffer).Convert(bimg.JPEG)

if err != nil {

fmt.Fprintln(os.Stderr, err)

}

if bimg.NewImage(newImage).Type() == "jpeg" {

fmt.Fprintln(os.Stderr, "The image was converted into jpeg")

}

bimg.Write("test.jpg", newImage)

}

但只会转换的第1页test.pdf

有什么方法可以转换成包含多个页面的图像。

回答:

bimg使用libvips,并可能加载PDF。不幸的是,libvips加载PDF的默认设置是仅加载一页。除非您想修改bimg(供应商,贡献,破解源代码等),否则您很不幸。

不是问题的答案(不使用bimg),但是您可以改用imagemagick,

import "gopkg.in/gographics/imagick.v3/imagick"

func main() {

imagick.Initialize()

defer imagick.Terminate()

mw := imagick.NewMagickWand()

defer mw.Destroy()

mw.ReadImage("test.pdf")

mw.SetIteratorIndex(0) // This being the page offset

mw.SetImageFormat("jpg")

mw.WriteImage("test.jpg")

}

以上是 Golang通过Bimg将pdf转换为图像 的全部内容, 来源链接: utcz.com/qa/433530.html

回到顶部