С помощью этого кода я пытаюсь преобразовать загруженный PDF в JPG.
$newname = date("U");
$target = "../uploads/";
$temp = "../temp/";
if($_FILES["fileToUpload"]["type"] == "application/pdf") {
print "pdf";
if(move_uploaded_file( $_FILES["fileToUpload"]["tmp_name"], $temp.$_FILES['fileToUpload']['name'])) {
print "pdf saved<br>";
} else {
print "pdf not saved<br>";
}
$filename = basename( $_FILES['fileToUpload']['name'], ".pdf");
print "<br>".$filename."<br>";
if(file_exists($temp.$_FILES['fileToUpload']['name'])) {
print "temp-file exist<br>";
$konv = "/usr/local/bin/convert -debug 'All' ".$temp.$_FILES['fileToUpload']['name']." ".$target.$newname.".jpg 2>&1";
print $konv."<br>";
exec("convert -debug 'All' ".$temp.$_FILES['fileToUpload']['name']." ".$target.$newname.".jpg 2>&1", $output);
if ($return == "0") { echo "<br>Image generation sucssesful<br>"; }
else { echo "<br>Image generation failed<br>"; }
print_r($output);
foreach ( $output as $file )
print "$file<br>";
} else {
print "temp-file doesn't exist";
}}
PDF сохраняется во временной папке, но преобразование изображения не удается, и единственное сообщение об ошибке, которое я получаю, — 1.
Как я могу получить больше информационных сообщений об ошибках?
<?php
$image = new imagick('file.pdf[0]');
$image->setImageFormat('jpg');
header('Content-Type: image/jpeg');
echo $image;
?>
Где [0] — номер страницы.
pdfinfo предоставит вам номера страниц.
exec('/path/to/pdfinfo '.$afilename.' | awk \'/Pages/ {print $2}\'', $output);
Других решений пока нет …