【问题标题】:PHP Imagick dont work with PDF files in Laravel 8, simple ImagickExceptionPHP Imagick 不适用于 Laravel 8 中的 PDF 文件,简单的 ImagickException
【发布时间】:2021-12-19 14:27:16
【问题描述】:

我尝试第一次使用 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”简单错误。

我在本地工作,与:

  • Laravel 8.54
  • Windows 11
  • XAMPP
  • PHP 版本 8.0.7

phpinfo():

  • 编译器 Visual C++ 2019
  • 架构 x64
  • imagick 模块版本 3.5.1
  • 使用 ImageMagick 版本 ImageMagick 7.0.7-11 Q16 x64 2017-11-23 编译的 Imagick
  • Imagick 使用 ImageMagick 库版本 ImageMagick 7.0.7-25 Q16 x64 2018-03-04
  • ImageMagick 发布日期 2018-03-04
  • ImageMagick 支持的格式数量:240

谁能帮忙?

【问题讨论】:

  • 你知道确切的例外吗?如果没有,那么您是否安装了 Ghostscript?您的 ImageMagick 政策是否限制使用 PDF/PS/EPS 文件?将 Ghostscript 的完整路径作为“gs”的前言放在 ImageMagick 中的 delegates.xml 文件的相应行中。

标签: laravel pdf xampp imagick php-8


【解决方案1】:

Imagick 有一个可修复此错误的候选版本。升级到 Laravel 8 后,我们遇到了同样的问题。

新的候选版本于 2021 年 11 月 10 日发布(发布后 6 天)。 https://windows.php.net/downloads/pecl/releases/imagick/3.6.0rc1/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    相关资源
    最近更新 更多