代码之家  ›  专栏  ›  技术社区  ›  LiamB

PHP将PDF转换为图像-dusecropbox

  •  0
  • LiamB  · 技术社区  · 14 年前

    我正在尝试将PDF转换为图像,我需要确保在调用ghostscript时为指定了-dusecropbox参数。能做到吗?

    convert "/var/www/vhosts/site.co.uk/httpdocs/uploads/source_pdf/PP4SDpdf.pdf" -resize 500X500 "/var/www/vhosts/site.co.uk/httpdocs/uploads/image_pdf/SaturdayTest.jpg"
    

    它工作得很好,但只需要获取ghostscript参数。

    2 回复  |  直到 12 年前
        1
  •  1
  •   Kurt Pfeifle    14 年前

    你可以直接运行ghostscript吗 (而不是 convert 不管怎么说) ?

    我问,因为 转换 不单独执行pdf=>jpeg转换。它调用ghostscript作为其“委托”来执行该任务。所以 转换 要工作,您需要访问该系统上的功能性ghostscript安装….

    但是如何将自定义参数添加到 转换 将它们传递到ghostscript的命令行的命令行不容易理解。ghostscript的命令行也不是很简单,但至少它是完全的 documented at a well-known place (见 使用.htm , 设备.htm ps2pdf.htm版 在那里)。

    下面是一个将输入的PDF转换为一系列JPEG的命令(每个PDF页面一个文件)。我假设Windows——对于Linux,只需替换 ^ 通过 \ gswin32c.exe 通过 gs :

    gswin32c.exe ^
      -o "d:/path with spaces/to/output/dir/input_page_%03d.jpeg ^
      -sDEVICE=jpeg ^
      -dJPEQ=95 ^
      -r720 ^
      -g5000x5000 ^
      -dUseCropBox=true ^
      "d:/path/to/input.pdf"
    

    说明:

    • -dJPEGQ 设置jpeg质量。接受范围内的整数值 0..100 . 值越大,文件越大…(ghostscript的jpegq默认值设置为75。)
    • -r720 将(相当高)分辨率设置为720dpi。值越大,文件越大…(ghostscript的jpeg输出设备默认值为72dpi。)
    • -g5000x5000 在中提供文件维度 像素 . (注:当 -r... 值也必须相应地减少 -g... 以用户空间英寸或毫米为单位保持相同尺寸的值。)

    你也可以添加 -dPDFFitPage=true 如果这对你有用的话。

        2
  •  1
  •   itinance    12 年前

    imagemagick(convert命令)的开关是:

    -define pdf:use-cropbox=true
    

    看见 http://www.imagemagick.org/Usage/formats/#ps_reading