使用PHP将PDF转换为JPG图像
我正在使用ImageMagik尝试将PDF的内容转换为JPG,但一直得到一个空的JPG。我已经确保烫发是777的一切测试,所以我有点不知道如何继续 这是我正在运行的脚本使用PHP将PDF转换为JPG图像,php,pdf,imagemagick,jpeg,Php,Pdf,Imagemagick,Jpeg,我正在使用ImageMagik尝试将PDF的内容转换为JPG,但一直得到一个空的JPG。我已经确保烫发是777的一切测试,所以我有点不知道如何继续 这是我正在运行的脚本 <?php exec('convert testfile.pdf output.jpg', $output, $return_var); ?> 使用二进制文件的绝对路径,如下所示: exec('/usr/bin/convert testfile.pdf output.jpg', $output, $re
<?php
exec('convert testfile.pdf output.jpg', $output, $return_var);
?>
使用二进制文件的绝对路径,如下所示:
exec('/usr/bin/convert testfile.pdf output.jpg', $output, $return_var);
但是,请确保您的convert
二进制文件实际上已启用/usr/bin
,您可以使用以下命令进行检查:
可以转换
试试这个
<?php
$pdf = 'testfile.pdf';
$save = 'output.jpg';
exec('convert "'.$pdf.'" -colorspace RGB -resize 800 "'.$save.'"', $output, $return_var);
?>
ImageMagick在内部使用GhostScript,通常,与Ghoastscript相比,ImageMagick的转换速度较慢,因此,如果您只对将pdf转换为图像感兴趣,那么GhostScriptgs
命令会更快。
下面是我几天前写的一个关于Ghostscript的包装示例
这是我的解决方案。在php代码中直接使用Imagick
将所有PDF页面转换为JPG
// create Imagick object
$imagick = new Imagick();
// Reads image from PDF
$imagick->readImage('file.pdf');
// Writes an image
$imagick->writeImages('converted.jpg', false);
将特定PDF页面转换为JPG
// create Imagick object
$imagick = new Imagick();
// Read image from PDF
$imagick->readImage('test.pdf[0]');
// Writes an image
$imagick->writeImages('converted_page_one.jpg');
处理此问题的另一种方法是使用Spatiale/pdf对库进行图像处理
干杯 根据我最近的经验,ghostScript比convert命令更快,请尝试我编写的完整库,它的速度非常快,$output,$return_varNo的值是多少,这不是PDFBox。PDFBox的正确URL是。你的问题是什么?PDFBox是针对java的,而这是针对php的,问题是如何在php中实现。不,在java中,您可能需要指定要转换的完整路径。您的输入和输出是否与运行convert的目录相同?检查$output变量是否有错误消息?Imagemagick是否包含代理Ghostscript和libjpeg?尝试将pdf转换为图像时出错,已启用Imagick扩展,请帮助我致命错误:Uncaught imagickeption:UnableToOpenBlob'sample.pdf':E:\XAMPP\htdocs\pdf\convert\index.php:6堆栈跟踪:#0 E:\XAMPP\htdocs\pdf\convert\index.php(6):Imagick->readimage('sample.pdf')#1{main}在第6A行的E:\XAMPP\htdocs\pdf\convert\index.php中抛出致命错误:未捕获ImagickeException:PDFDelegateFailed`系统找不到指定的文件。@E:\XAMPP\htdocs\pdf\convert\index.php中的error/pdf.c/ReadPDFImage/794:8堆栈跟踪:#0 E:\XAMPP\htdocs\pdf\convert\index.php(8):Imagick->readimage('E:/XAMPP/htdocs…')#1{main}在第8行的E:\XAMPP\htdocs\pdf\convert\index.php中抛出
// create Imagick object
$imagick = new Imagick();
// Reads image from PDF
$imagick->readImage('file.pdf');
// Writes an image
$imagick->writeImages('converted.jpg', false);
// create Imagick object
$imagick = new Imagick();
// Read image from PDF
$imagick->readImage('test.pdf[0]');
// Writes an image
$imagick->writeImages('converted_page_one.jpg');