V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sdjl
V2EX  ›  程序员

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

  •  
  •   sdjl · 2014-07-09 19:23:37 +08:00 · 7300 次点击
    这是一个创建于 3572 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如: cmd pdf_file 1 2 3-8

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

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

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

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

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

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

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

    可以去 man 一下,应该还不支持多页
    sdjl
        10
    sdjl  
    OP
       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
        11
    pc10201  
       2014-07-10 15:56:28 +08:00   ❤️ 1
    http://www.foolabs.com/xpdf/
    我用的这个,还不错~
    sdjl
        12
    sdjl  
    OP
       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
        13
    zixincao  
       2014-07-11 13:27:28 +08:00
    pdf-xchange-viewer可以做到,你试试吧: http://www.tracker-software.com/product/pdf-xchange-viewer/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1199 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:02 · PVG 02:02 · LAX 11:02 · JFK 14:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.