Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows上使用Ghostscript从PDF进行逐页JPEG转换/导出_Pdf_Pdf Generation_Ghostscript - Fatal编程技术网

在Windows上使用Ghostscript从PDF进行逐页JPEG转换/导出

在Windows上使用Ghostscript从PDF进行逐页JPEG转换/导出,pdf,pdf-generation,ghostscript,Pdf,Pdf Generation,Ghostscript,我想使用ghostscript将pdf源文件转换成一系列jpeg图像。一切正常,除了: .jpeg输出文件名的格式说明符(%d)无法使用 Windows(我使用的是Windows 7 64位),因此我需要为每个页面调用gswin64c.exe 导出的.jpeg文件在页面周围有白色条纹,而.pdf 那里没有任何东西-我能以某种方式摆脱它们吗 我的命令行: gswin64c.exe \ -dSAFER -dBATCH -dNOPAUSE \ -sDEVICE=jpeg \ -r

我想使用ghostscriptpdf源文件转换成一系列jpeg图像。一切正常,除了:

  • .jpeg输出文件名的格式说明符(%d)无法使用 Windows(我使用的是Windows 7 64位),因此我需要为每个页面调用gswin64c.exe
  • 导出的.jpeg文件在页面周围有白色条纹,而.pdf 那里没有任何东西-我能以某种方式摆脱它们吗
我的命令行:

gswin64c.exe \
   -dSAFER -dBATCH -dNOPAUSE \
   -sDEVICE=jpeg \
   -r350 \
   -dJPEGQ=100 \
   -dFirstPage=1 -dLastPage=1 \
   -sOutputFile=magazine-1.jpg \
     magazine.pdf
  • 在Windows上,必须将格式说明符的
    %
    字符加倍才能获得页码增量:gswin64c.exe\ gswin64c.exe \ -o magazine-page_%%04d.jpg \ -sDEVICE=jpeg \ -r350 \ -dJPEGQ=100 \ magazine.pdf -o杂志页\%04d.jpg\ -sDEVICE=jpeg\ -r350\ -dJPEGQ=100\ 杂志.pdf

  • 如果没有看到你的PDF,我无法确定你的白色条纹来自哪里

    所以,理论上讲:通常,PDF页面中出现的白色背景(在PDF阅读器中查看或打印在纸上)实际上是透明背景。(您可以在Acrobat Reader中显示透明区域:转到首选项…->页面显示并激活“显示透明网格”复选框

    JPEG不了解透明度,并将所有完全透明的区域转换为白色

    您可以在ImageMagick的帮助下修剪白色区域。或者,如果您知道每个条带的确切宽度(以及PDF页面尺寸),您可以通过其他命令行参数告诉Ghostscript修剪这些区域

    您还可以转换为支持透明度的PNG:gswin64c.exe\ gswin64c.exe \ -o magazine-page_%%04d.png \ -sDEVICE=pngalpha \ -r350 \ magazine.pdf -o杂志-page\%%04d.png\ -sDEVICE=pngalpha\ -r350\ 杂志.pdf 请注意,页面图像周围仍然会有条纹——但是它们将是透明的,而不是白色的

  • 在Windows上,必须将格式说明符的
    %
    字符加倍才能获得页码增量:gswin64c.exe\ gswin64c.exe \ -o magazine-page_%%04d.jpg \ -sDEVICE=jpeg \ -r350 \ -dJPEGQ=100 \ magazine.pdf -o杂志页\%04d.jpg\ -sDEVICE=jpeg\ -r350\ -dJPEGQ=100\ 杂志.pdf

  • 如果没有看到你的PDF,我无法确定你的白色条纹来自哪里

    因此,仅从理论上说:通常,PDF页面(在PDF阅读器中查看或打印在纸上)中显示为白色背景的内容实际上是透明背景。(您可以在Acrobat reader中显示透明区域:转到首选项…->页面显示并激活复选框“显示透明网格”)

    JPEG不了解透明度,并将所有完全透明的区域转换为白色

    您可以在ImageMagick的帮助下修剪白色区域。或者,如果您知道每个条带的确切宽度(以及PDF页面尺寸),您可以通过其他命令行参数告诉Ghostscript修剪这些区域

    您还可以转换为支持透明度的PNG:gswin64c.exe\ gswin64c.exe \ -o magazine-page_%%04d.png \ -sDEVICE=pngalpha \ -r350 \ magazine.pdf -o杂志-page\%%04d.png\ -sDEVICE=pngalpha\ -r350\ 杂志.pdf 请注意,页面图像周围仍然会有条纹——但是它们将是透明的,而不是白色的


  • 最有可能的白色边框是mediabox(GS使用)和CropBox(观众使用)之间的差异。您可以使用-dUseCropBox告诉GS使用CropBox而不是MediaBox。您不需要将“%”加倍,除非您是从批处理文件调用GS,否则命令行“%d”上的GS应该可以正常工作。正在使用的GS版本的示例PDF ilfe最有帮助的可能是,白色边框是MediaBox之间的差异(GS使用的)和CropBox(观众使用的)。您可以使用-dUseCropBox告诉GS使用CropBox而不是MediaBox。您不需要将“%”加倍,除非您是从批处理文件调用GS,否则命令行“%d”上的GS应该可以正常工作。正在使用的GS版本的示例PDF ilfe将有助于您提供(指向的链接)显示此行为的PDF页面示例?如果没有示例,则无法确定白色条带的原因,也无法显示避免白色条带的方法。能否提供显示此行为的PDF页面示例(指向链接)?如果没有示例,则无法确定白色条带的原因,也无法显示避免白色条带的方法。