Golang通过bimg将pdf转换为图像(Golang convert pdf to image by bimg)

编程入门 行业动态 更新时间:2024-10-14 14:16:55
Golang通过bimg将pdf转换为图像(Golang convert pdf to image by bimg)

下面的示例代码使用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) }

但它只转换test.pdf第一页。

有没有办法转换为包含多个页面的图像。

The example code below convert pdf to jpeg by using bimg.

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

But it only convert 1st page of test.pdf.

Is there any way that convert to image that contain more than one page.

最满意答案

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

bimg uses libvips, and can potentially load PDFs. Unfortunately, the default for libvips loading PDFs is to load one page only. Unless you want to modify bimg (vendor, contribute, hack the source, etc.) you're out of luck.

Not an answer to the question (not using bimg), but you can use imagemagick instead,

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

更多推荐

本文发布于:2023-07-30 18:33:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1338876.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:转换为   图像   bimg   Golang   pdf

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!