ImageMagick 是一个功能丰富的图片处理工具
具体安装方式可以参考官方,MacOS 上可以通过 homebrew 安装
brew install imagemagick@6
homebrew 最新的源是 7.* 版本,由于我的场景需要在 linux 部署,linux 的 apt 源目前是 6.9, 为了保持一致,所以使用的是旧版本
命令行使用
convert -density 128 1.pdf -quality 100 -alpha remove output.jpeg
Golang 代码使用
核心要点:
- pdf 需要去除 alpha 通道,然后背景色设置白色(你可以可以根据需求设置其它颜色)
- 留意内存泄露,因为这是 cgo,一旦泄露就 gg 了。比如你没有
mw.RemoveImage()
- 上述的 density 设置就是 resolution, 需要设置一个合理的值,否则转换的图片就会糊
golang 的 binding 安装方式可以按照 github 介绍 https://github.com/gographics/imagick
package main
import (
"fmt"
"io/ioutil&