我第一次尝试使用Imagick将PDF文件转换为图像,但它对我不起作用。当我尝试使用Imagick处理图像文件时,它可以正常工作,问题是PDF文件。
- 我的测试php控制器:**
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Imagick;
class NewspaperController extends Controller
{
/**
* @throws \ImagickException
*/
public function show()
{
$imgExt = new Imagick();
$imgExt->readImage(public_path('storage/uploads/test.pdf'));
$imgExt->writeImages(public_path('storage/uploads/pdf_image_doc.jpg'), false);
return view('xxx');
}
}
当我在浏览器中打开这个,我只得到"ImagickException"简单的错误。
我在本地工作,与:
- 拉腊维尔8.54
- windows 11
- XAMPP公司
- PHP版本8.0.7
- phpinfo():**
- 编译器Visual C++2019
- 体系结构x64
- imagick模块版本3.5.1
- 使用ImageMagick版本ImageMagick 7.0.7 - 11第16季度x64编译的图像2017 - 11 - 23
- 使用ImageMagick库版本的Imagick 7.0.7 - 25 Q16 x64 2018 - 03 - 04
- ImageMagick发布日期2018年3月4日
- ImageMagick支持的格式数量:240
有人能帮忙吗?
2条答案
按热度按时间rsl1atfo1#
Imagick有一个候选版本可以修复这个错误。我们在升级到Laravel 8后也遇到了同样的问题。
新的候选版本发布于2021年11月10日(发布后6天)。https://windows.php.net/downloads/pecl/releases/imagick/3.6.0rc1/
nnt7mjpx2#
下面是代码行:
还有
并将
gswin64.exe
重命名为gs.exe
并添加环境变量我运行在php 7.4,幽灵脚本10.0和Imagick的ImageMagick-7.1.0-Q16和laravel 7* 谢谢。