求一个命令,把 pdf 中的某几页转为 jpg

2014-07-09 19:23:37 +08:00
 sdjl
比如: cmd pdf_file 1 2 3-8

可以把pdf_file中的1 2 3-8页分别转为jpg

要求:
1、支持多种页码,比如pdf可能会有 I,II 等页码
2、转为jpg的质量看起来与pdf截图一致,不会导致模糊等失真

大家可以提供一下建议,比如可以使用哪些工具达到目的,等我写出来可分享给大家~~~

(环境:mac或linux)
7465 次点击
所在节点    程序员
13 条回复
sdjl
2014-07-09 19:30:18 +08:00
顺便爆料以下,我写这个程序是为了把排好版的pdf文件(彩色代码打印)导出为jpg文件,然后放到淘宝的商品说明中去,不想截图,截图好麻烦。。。
sdjl
2014-07-09 19:35:18 +08:00
我目前知道的是可以用以下命令把pdf的第n页取出来 pdfjam -o out.pdf -- in.pdf n

然后用 pdf2svg 和 convert 转为jpg, 但是得到的质量与pdf相比相差太大
Mutoo
2014-07-09 19:36:15 +08:00
mac 的话,用 preview 打开 pdf 然后导出 jpg 就行了。
hustlzp
2014-07-09 19:48:51 +08:00
打印代码又要开卖了呀?期待!
yinheli
2014-07-09 19:58:07 +08:00
wdlth
2014-07-09 20:05:08 +08:00
估计要借助 OpenOffice。
billlee
2014-07-09 21:45:20 +08:00
ImageMagick 可以转换,但是指定页码时只能使用 0 开始计数的索引,质量就自己随便指定了
nicai000
2014-07-09 21:53:14 +08:00
pdftk in.pdf cat 1 2 3-8 output out.pdf

convert out.pdf -quality 100 *.jpg
SoloCompany
2014-07-10 00:34:14 +08:00
mac 下面你可以先用 pdfjam 分页导出然后用 sips 转换

sips 的命令
sips -s format png your_pdf_file.pdf --out your_png_file.png

可以去 man 一下,应该还不支持多页
sdjl
2014-07-10 11:21:03 +08:00
@hustlzp 是的,而且这次会陆续上许多版本。

@nicai000
@SoloCompany
@yinheli

谢谢各位,目前的办法是先用pdftk或pdfjam取出单页的pdf文件,然后用pdf2svg把pdf转为svg文件,然后再用imagemagick的convert把svg转为jpg,且convert一定要加 -density 180 -quality 100 参数

png转jpg得到的质量不好,convert out.pdf to.jpg 得到的质量就更差了
pc10201
2014-07-10 15:56:28 +08:00
http://www.foolabs.com/xpdf/
我用的这个,还不错~
sdjl
2014-07-10 18:06:58 +08:00
ok了, 目前实现的版本在linux上面可用, mac不一定。
要求系统安装了 pdftk pdf2svg imagemagick, 如果得到的图片不够清晰,请修改-density 100参数

http://sdjllyh.b0.upaiyun.com/scripts/pdf2jpg.py
zixincao
2014-07-11 13:27:28 +08:00
pdf-xchange-viewer可以做到,你试试吧: http://www.tracker-software.com/product/pdf-xchange-viewer/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/121809

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX