Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/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
PHP和Ghostscript将多页PDF转换为单个JPG_Php_Pdf_Ghostscript - Fatal编程技术网

PHP和Ghostscript将多页PDF转换为单个JPG

PHP和Ghostscript将多页PDF转换为单个JPG,php,pdf,ghostscript,Php,Pdf,Ghostscript,对于我的网站,我使用一个小脚本将PDF转换为JPG exec('gs -dSAFER -dBATCH -dNOPAUSE -r150 -dJPEGQ=60 -sDEVICE=jpeg -dTextAlphaBits=4 -sOutputFile= '.$file_name.' '.$pdf); 我想要的是当我有一个多页PDF时,将其转换为一个jpg(一个jpg中的多页) 有人知道怎么做吗 提前谢谢 我不记得JPEG允许在一个文件中包含多个图像。如果是这样,Ghostscript肯定不会,所以(

对于我的网站,我使用一个小脚本将PDF转换为JPG

exec('gs -dSAFER -dBATCH -dNOPAUSE -r150 -dJPEGQ=60 -sDEVICE=jpeg -dTextAlphaBits=4 -sOutputFile= '.$file_name.' '.$pdf);
我想要的是当我有一个多页PDF时,将其转换为一个jpg(一个jpg中的多页)

有人知道怎么做吗


提前谢谢

我不记得JPEG允许在一个文件中包含多个图像。如果是这样,Ghostscript肯定不会,所以(使用Ghostscript)可以做到这一点的唯一方法就是编写自己的设备


您可以使用JPEG压缩创建多页TIFF文件,但Ghostscript也不支持,但如果您正在编写自己的设备…..

如果我理解正确,您希望实现以下目标:

PDF输入页: +---+ +---+ +---+ |a | | b | c| | | | | | | +---+ +---+ +---+ ... (3页或多页)

JPEG输出: +---+ |a| | | +...+ |b| | | +...+ |c| | | +...+ | | ~~~~~ 或者这个:

+---+---+---+~~ | a . b . c | | . . | +---+---+---+~~ ... +---+---+-~ | a . b . | . . +...+...+~ | c . | . +---+~~ +---+---+---+~~ |a。Bc| | . . | +---+---+---+~~ ... 或者这个:

+---+---+---+~~ | a . b . c | | . . | +---+---+---+~~ ... +---+---+-~ | a . b . | . . +...+...+~ | c . | . +---+~~ +---+---+-~ |a。B | . . +...+...+~ |c。 | . +---+~~ 或者单页JPEG的其他变体

Ghostscript不能在一个步骤中完成这项工作。但是,您可以通过两步方法实现这一点:

  • 使用Ghostscript对PDF进行n-up布局
  • (或者使用其他软件从PDF创建n-Ups。)
  • 使用Ghostscript将n-up PDF转换为JPEG
  • 1.使用Ghostscript创建n-Up PDF页面 我不打算详细说明如何做到这一点(这也取决于您的确切输出要求)

    但是,这里有两个指向SuperUser.com的链接,详细解释了该过程。它们将帮助您设置自己的步骤:

    2.使用其他工具创建n-Up PDF
    • 包括
      pdfnup
      实用程序
    • 包括
      podof
      实用程序
    3.使用Ghostscript将新PDF转换为JPEG
    您似乎已经知道如何做到这一点…

    从技术上讲,这与PHP无关,因为这纯粹是一个鬼脚本操作问题。好吧,但我的问题仍然是一样的:)@Leon van der Veen:我理解正确吗?您希望输出的JPEG在一张大图像中包含所有类似于n-Up布局的原始PDF页面?类似于{Image,Graphics}Magick的
    蒙太奇
    子命令的东西可以通过多个JPEG输入文件实现--Ghostscript做不到…@Leon van der Veen:如果你希望1个JPEG文件可以像多页TIFF一样容纳多页:不,这是不可能的。对于TIFF,其规范允许:;JPEG没有类似的功能…你是怎么做到的?我正在尝试做同样的事情,但不知道如何做第一种N-up组合。