我已经编写了将pdf转换为jpeg并且工作正常的代码但是我应该在exec()中创建缩略图的选项;(用于宽度和高度目的)。我在这里。我试过了 -dDEVICEWIDTHPOINTS = 100 -dDEVICEHEIGHTPOINTS = 200选项,但似乎无效的参数。
以下是我的代码:
//include 'thumbcreator.php';
ini_set('display_errors', 1);
$pdf='example.pdf';
$quality=90;
$res='300x300';
$exportName="pdf_export_" . time();
$exportPath=realpath(dirname(__FILE__))."/$exportName/fullres/%03d.jpg";
$exportPaththumb=realpath(dirname(__FILE__))."/$exportName/fullresthumb/%03d.jpg";
mkdir(realpath(dirname(__FILE__))."/$exportName");
mkdir(realpath(dirname(__FILE__))."/$exportName/fullres");
mkdir(realpath(dirname(__FILE__))."/$exportName/fullresthumb");
set_time_limit(900);
exec("'gs' '-dNOPAUSE' '-sDEVICE=jpeg' '-dUseCIEColor' '-dTextAlphaBits=4' '-dGraphicsAlphaBits=4' '-o$exportPath' '-r$res' '-dJPEGQ=$quality' '$pdf'",$output);
exec("'gs' '-dNOPAUSE' '-sDEVICE=jpeg' '-dUseCIEColor' '-dTextAlphaBits=4' '-dGraphicsAlphaBits=4','-dDEVICEWIDTHPOINTS=100 -dDEVICEHEIGHTPOINTS=200' '-o$exportPaththumb' '-r$res' '-dJPEGQ=$quality' '$pdf'",$output);
for($i=0;$i<count($output);$i++){
echo($output[$i] .'<br/>');
}
任何帮助将不胜感激。在此先感谢:)。
答案 0 :(得分:0)
为什么您认为DEVICEWIDTHPOINTS和DEVICEHEIGHTPOINTS是无效的参数?
您尚未设置-dFIXEDMEDIA,因此可以通过输入的媒体请求覆盖初始值。你可能还想设置-dPDFFitPage以缩放PDF输入以适应声明的媒体大小,如果你不这样做,那么你只需要渲染输入的左下角。
使用时不要设置-r,必须重新计算分辨率才能将输入缩放到您请求的固定大小的介质中。 (请注意,您已要求介质分为1/72英寸)
请不要使用-dUSECIEColor,这是一个来自PostScript世界的可怕黑客。除非你确切知道自己在做什么,否则会导致更糟糕的色彩管理。