Maison > développement back-end > Problème PHP > Comment convertir un pdf en images en php

Comment convertir un pdf en images en php

藏色散人
Libérer: 2023-03-06 06:08:02
original
4637 Les gens l'ont consulté

Comment convertir un PDF en image en PHP : installez d'abord "GhostScript" puis utilisez imagick pour convertir un PDF en image.

Comment convertir un pdf en images en php

Recommandé : "Tutoriel vidéo PHP"

Utilisez imagick en PHP pour convertir des PDF en images

Dans le manuel PHP, la description d'imagick est vraiment concise. Pour chaque fonction membre, cliquez pour ouvrir et vous verrez le texte suivant :

Warning
This function is currently not documented; only its argument list is available.
Copier après la connexion

Après avoir simplement résolu le chargement de PHP. problème, c'est très pratique pour traiter des images. J'ai trouvé un paragraphe sur Internet :

<?php
Header("Content-type: image/jpeg");    
/**
* 缩小图片尺寸.
*
* @param $image 待处理的二进制图片
* @param $width 处理后图片尺寸的宽度(px)
* @param $height 处理后图片尺寸的高度(px)
* @param $crop 是否裁剪图片
*
* @return 处理好的二进制图片
*/
function resize($image, $width, $height, $crop)
{
   $imagick = new Imagick($image);
   $w = $imagick->getImageWidth();
   $h = $imagick->getImageHeight();
   if ($w > $width || $h > $height)
   {
      if ($crop)
      {
         $imagick->cropThumbnailImage($width, $height);
      }
      else
      {
         $imagick->resizeImage($width, $height, Imagick::FILTER_LANCZOS, 1, true);
      }
   }
   $processed_image = $imagick->getImageBlob();
   return $processed_image;
}
$s=resize("123.jpg", 60, 40, 1);
echo $s;
?>
Copier après la connexion

Mais ce que je veux utiliser cette extension, c'est convertir un PDF en PNG. PDF !

<?php
/**
* PDF2PNG
* @param $pdf  待处理的PDF文件
* @param $path 待保存的图片路径
* @param $page 待导出的页面 -1为全部 0为第一页 1为第二页
* @return      保存好的图片路径和文件名
*/
 function pdf2png($pdf,$path,$page=-1)
{  
   if(!extension_loaded(&#39;imagick&#39;))
   {  
       return false;  
   }  
   if(!file_exists($pdf))
   {  
       return false;  
   }  
   $im = new Imagick();  
   $im->setResolution(120,120);  
   $im->setCompressionQuality(100);
   if($page==-1)   
      $im->readImage($pdf);
   else
      $im->readImage($pdf."[".$page."]");
   foreach ($im as $Key => $Var)
   {  
       $Var->setImageFormat(&#39;png&#39;);  
       $filename = $path."/". md5($Key.time()).&#39;.png&#39;;
       if($Var->writeImage($filename) == true)
       {  
           $Return[] = $filename;  
       }  
   }  
   return $Return;  
}  
$path="images";//请确保当前目录下有这个文件夹,由于一直要用,所以就不加检测了
$s=pdf2png("test.pdf",$path);
$scount=count($s);
for($i=0;$i<$scount;$i++)
{
   echo "<div align=center><font color=red>Page ".($i+1)."</font><br><a href="".$s[$i]."" target=_blank><img  border=3 height=120    style="max-width:90%".$s[$i]."" alt="Comment convertir un pdf en images en php" ></a></div><p>";
}
?>
Copier après la connexion

Est-ce similaire à celui ci-dessus ? Mais cela échoue toujours. Il y a une exception dans readImage. Vérifiez la sortie d'erreur :

PHP Fatal error:  Uncaught exception &#39;ImagickException&#39; with message &#39;PostscriptDelegateFailed `test.pdf&#39;: No such file or directory&#39;
Copier après la connexion

Après une longue recherche sur Baidu et Google, j'ai finalement eu une idée. Je le cherche, je fais semblant.

Ce Postscript est en fait GhostScript.

Après l'avoir installé, lancez-le et c'est OK !

Comment convertir un pdf en images en php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal