"你也有不看星星"
- 1. 将PDF的每一页转换为图片
- 2. 将转换后的多张图片合并为一张长图
- 3. 完整脚本
任务叙述:已经有一个很长的pdf,要在linux上用脚本合成一张长图,如果由程序完成将PDF转换为长图,必须要实现两个功能:
将PDF的每一页转换为图片
将转换后的多张图片合并为一张长图
1. 将PDF的每一页转换为图片
基本就是第二句话,将生成的图片放在tmp…的文件夹下
mkdir tmp-pdf-page
gs -sDEVICE=pngalpha -o "./tmp-pdf-page/$filename-%d.png" -r144 "$pdfname";
2. 将转换后的多张图片合并为一张长图
- 将多张图片合并为一张,每张图片直接添加50像素间隔,最后
- 将图片尺寸设置1080宽度后裁掉第一张和最后一张的边框,并
- 进行锐化处理后输出为jpg。
convert ./tmp-pdf-page/$filename-*.png \
-background white \
-bordercolor white \
-border 0x50 \
-append \
-shave 0x50 \
-resize 1080 \
-quality 85 \
-sharpen 0x1.0 \
$filename-dest.jpg
3. 完整脚本
#!/bin/bash
pdfname="文件名称.pdf"
filename="${pdfname%%.*}"
mkdir tmp-pdf-page
gs -sDEVICE=pngalpha -o "./tmp-pdf-page/$filename-%d.png" -r144 "$pdfname";
convert ./tmp-pdf-page/$filename-*.png \
-background white \
-bordercolor white \
-border 0x50 \
-append \
-shave 0x50 \
-resize 1080 \
-quality 85 \
-sharpen 0x1.0 \
$filename.jpg
rm -rf ./tmp-pdf-page
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)