所以我正在使用PHP开发一个项目。我需要将pdf页面转换为图像。
为此,我正在使用Imagick库。
这是我的代码
$imagick = new imagick($pdfPath);
$noOfPagesInPDF = $imagick->getNumberImages();
$pdfAbsolutePath = $pdfPath;
for ($i = 0; $i < $noOfPagesInPDF; $i++) {
$url = $pdfAbsolutePath . '[' . $i . ']';
$img = new imagick();
$img->setResolution(150, 150);
$im->setImageBackgroundColor('black');
$img->readImage($url);
$img->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
$img->setImageFormat('jpeg');
$img->setImageCompression(imagick::COMPRESSION_JPEG);
$img->setImageCompressionQuality(70);
$base64EncodeData = base64_encode($img->getImageBlob());
$imageSrc = 'data:image/jpeg;base64,'. $base64EncodeData;
$img->clear();
$img->destroy();
renderImage($imageSrc);
}
在我的renderImage函数中,我只是在HTML中附加一个图像标签。
除了所有由Microsoft PDF创建者创建的PDF之外,这对于所有pdf都适用。
对于那些pdf,它显示空白图像。
请让我知道我在这里想念的东西。
答案 0 :(得分:0)
好的,如果还有其他人遇到相同的问题,那么更新Ghostscript版本对我来说是成功的窍门。
下载GhostScript-9.25 zip并运行以下命令。
tar xvf ghostscript-9.25.tar.gz
sudo apt-get install build-essential
cd ghostscript-9.25/
sudo ./configure
sudo make install (it may take 2 to 3 min)