linux将pdf转为png,将多页PDF转换为PNG并返回(Linux)

“I’m not really sure if the quality parameter is right for PNG.”

对于PNG输出,质量设置与JPEG的质量设置非常不同(只是从0到100的整数)。

对于PNG,它由两位数组成:

>第一个数字(十)是(很大程度上)zlib压缩级别,它可以从0到9。

(但是0的设置有一个特殊的含义:当你使用它时,你会得到霍夫曼压缩,而不是zlib压缩级别0.这通常更好…很奇怪但真实)

>第二个数字是PNG数据编码过滤器类型(压缩之前):

> 0是没有,

> 1是“sub”,

> 2是“up”,

> 3是“平均”,

> 4是“Paeth”,而

> 5是“适应性”。

实际意义:

>对于具有固定颜色序列的插图,“none”过滤器(-quality 00)通常是最合适的。

>对于自然景观照片,“适应性”过滤(-quality 05)通常是最好的。

“I’m having problems with saving back to PDF. Some of the files have the wrong page size, and I’ve tried every command and procedure I can find […] but either a few pages are specified at about 2″ wide, or they are 8.5×11 but the others are about 35″ wide.”

没有可用的PNG文件,我创建了一些不同维度的简单的,以验证不同的命令(因为我不确定自己)。其实,你使用的

convert -page letter -adjoin single*.png multipage.pdf

确实创建(相同)字母大小的所有PDF页面,但它将我的样本(不同大小)的PNG总是放在PDF页面的左下角。 (如果PNG超过PDF页面尺寸,它会缩小它们以使它们适合 – 但是它不会扩展更小的PNG以填充可用的页面空间。)

对命令的以下修改将将PNG放入每个PDF页面的中心:

convert \

-page letter \

-adjoin \

single*.png \

-gravity center \

multipage.pdf

如果这对你来说还不够好,你可以通过添加一个“590!x770!”来强制执行(可能不成比例的)缩放,几乎填满字母区域。参数(这将在页面的每个边缘留下11点的边框):

convert \

-page letter \

-adjoin \

single*.png \

-gravity center \

-scale '590!x770!' \

multipage.pdf

要离开额外的边框,请使用-scale’612!x792!’。 – 如果在保持PNG的宽高比的情况下,如果需要,只需要向上缩放就可以使用-scale’590< x770<

convert \

-page letter \

-adjoin \

single*.png \

-gravity center \

-scale '590

multipage.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值