当前位置: 首页 > 面试题库 >

Golang通过Bimg将pdf转换为图像

薄瑞
2023-03-14
问题内容

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


 类似资料:
  • 问题内容: 我想将PDF文档转换为图像。我正在使用Ghost4j。 问题: Ghost4J需要gsdll32.dll文件在运行时,我也 并不 想使用的DLL文件。 问题1: 在ghost4j中,有没有办法在没有dll的情况下转换图像? 问题2: 我在PDFBox API中找到了解决方案。convertToImage()将PDF页面转换为图像格式。 PDF文档上只有文本。运行此代码时出现该异常: 问

  • 问题内容: 因此,我所处的状态是以PDF格式发布了一堆数据,但更糟糕的是,大多数(全部?)PDF似乎都是在Office中键入的字母,打印/传真然后进行扫描(我们的政府最好吗?)。起初我以为自己疯了,但后来我开始看到大量“倾斜”的pdf文件,就像有人没有正确将它们放在扫描仪上一样。因此,我想从中获得实际文本的下一个最佳方法就是将每一页变成一张图像。 显然,这需要自动化,如果可能的话,我宁愿使用Pyt

  • 我想把PDF文档转换成图像。我用的是Ghost4j。 问题:Ghost4J需要gsdll32。dll文件,我不想使用dll文件。 问题1:是否有任何方法,在ghost4j转换图像没有dll? 问题2:我在PDFBox API中找到了解决方案<代码>组织。阿帕奇。pdfbox。pdmodel。PDPagep具有将PDF页面转换为图像格式的方法convertToImage()。 我只有PDF文档上的文

  • 问题内容: 我有一个程序,需要使用Image Magick将PDF转换为图像。我使用包来做到这一点: 我得到的错误是: 其中最重要的是: 我认为这是因为ImageMagick无权访问PDF。现在应该怎么办?我在Linux服务器上。任何帮助表示赞赏。 问题答案: emcconville是正确的。更具体地说,编辑Imagemagick policy.xml文件以取消注释此行: 并将其从rights =

  • 问题内容: 我想将PDF页面转换为图像(PNG,JPEG / JPG或GIF)。我希望它们有整页尺寸。 使用Java如何做到这一点?哪些库可用于实现此目的? 问题答案: 您将需要一个PDF渲染器。市场上有一些或多或少的好工具(ICEPdf,pdfrenderer),但是如果没有,您将不得不依靠外部工具。免费的PDF渲染器也无法渲染嵌入的字体,因此仅适用于创建缩略图(您最终想要的)。 我最喜欢的外部

  • 我有一个程序,在这个程序中,我需要使用image Magick将PDF转换为图像。我使用包来实现这一点: 我得到的错误是: 其中最重要的是: 我认为这是因为ImageMagick无权访问PDF。现在该怎么办?我在Linux服务器上。感谢您的帮助。