golang 实现 pdf 转高清晰度 jpeg

本文介绍了如何利用ImageMagick工具及其Golang绑定来处理PDF文件,包括转换为JPEG格式并去除透明通道的过程。文中提供了具体的命令行用法及Golang代码示例,并强调了内存管理和分辨率设置的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 代码使用

核心要点:

  1. pdf 需要去除 alpha 通道,然后背景色设置白色(你可以可以根据需求设置其它颜色)
  2. 留意内存泄露,因为这是 cgo,一旦泄露就 gg 了。比如你没有 mw.RemoveImage()
  3. 上述的 density 设置就是 resolution, 需要设置一个合理的值,否则转换的图片就会糊

golang 的 binding 安装方式可以按照 github 介绍 https://github.com/gographics/imagick

package main

import (
	"fmt"
	"io/ioutil&
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值