Fatal error: Uncaught ImagickException: PDFDelegateFailed `The system cannot find the file specified
Fatal error: Uncaught ImagickException: PDFDelegateFailed `The system cannot find the file specified
我想将 pdf 文件转换为 jpg。我正确安装了 imagick 我安装了 ghoscript 9.53.3 64x 但我收到了这个错误。我把ghoscript/bin和lib路径放在环境变量里了
Fatal error: Uncaught ImagickException: PDFDelegateFailed `The system cannot find the file specified. ' @ error/pdf.c/ReadPDFImage/794 in C:\xampp7.4\htdocs\kOnline\vendor\spatie\pdf-to-image\src\Pdf.php:40 Stack trace: #0 C:\xampp7.4\htdocs\kOnline\vendor\spatie\pdf-to-image\src\Pdf.php(40): Imagick->pingimage('C:/xampp7.4/htd...') #1 C:\xampp7.4\htdocs\kOnline\pdfToImaage.php(8): Spatie\PdfToImage\Pdf->__construct('C:/xampp7.4/htd...') #2 {main} thrown in C:\xampp7.4\htdocs\kOnline\vendor\spatie\pdf-to-image\src\Pdf.php on line 40
我的代码:
$pdf = new Spatie\PdfToImage\Pdf($pathToPdf);
foreach (range(1, $pdf->getNumberOfPages()) as $pageNumber) {
$pdf->setPage($pageNumber);
$pdf->saveImage("Image_name".$pageNumber.".png");
}
PHP 版本 7.4.11
Apache 版本 Apache/2.4.46 (Win64) OpenSSL/1.1.1g PHP/7.4.11
ghoscript 9.53.3 64x
imagick 模块版本 3.4.4
OS windows 10 64x
我卸载了 ghoscript 9.53.3
并安装了 ghoscript 9.26
。安装后我重新启动了系统。就这样,我的问题就解决了。
有同样的问题。
在旧版本的 ghostscript 中,可执行文件被命名为“gs.exe”,在新版本中它被命名为“gswin32c.exe”(或“gswin64c.exe”)。我认为 gs.exe-call 在某处被硬编码到 imagick-extension 中。
作为解决方法,只需将文件重命名为“gs.exe”或将重命名的副本放入此目录。
我正在使用 gs9.54.0
将 ghostscript 路径添加到 PATH
,在我的例子中 c:\softkit\gs\gs9.54.0\bin\
并将 gswin64.exe
重命名为 gs.exe
解决了这个问题。
看来 imagick
确实在寻找 gs.exe
1- 从站点下载:
https://mlocati.github.io/articles/php-windows-imagick.html
如果 php 7.3: php_imagick-3.6.0-7.3-ts-vc15-x64.zip
如果 php 7.4: php_imagick-3.6.0-7.4-ts-vc15-x64.zip
如果 php 8.0: php_imagick-3.6.0-8.0-ts-vs16-x64.zip
2-解压对应PHP版本的那个
A- 获取名为:php_imagick.dll 的 DLL
并将其放在目录 C:/laragon/bin/php/php-7.3.23-Win32-VC15-x64/ext
B- 把所有其他的 DLL 放到目录 C:/laragon/bin/php/php-7.3.23-Win32-VC15-x64
3- 打开PHP.ini文件,在有的地方插入一行
精确地扩展并写在那里:
扩展名 = php_imagick.dll
4- 停止 APACH 服务器并执行 phpinfo();查看
如果库已正确安装所有
可以扩展
/////////////////////////
如果您想处理来自 imagick 的 PDF,请继续执行以下步骤
/////////////////////////
5- 然后,你必须安装 ghoscript 软件
以下 url:https://www.ghostscript.com/releases/gsdnld.html
例如安装运行良好的 x64 位版本
6- 然后,进入目录
C:/程序Files/gs/gs9.55.0/bin
A- 复制 gswin64.exe 文件
B- 将副本重命名为 gs.exe
7- 添加目录C:/Program Files/gs/gs9.55.0/bin
在 PATH 环境变量中(用户)
为此,请转到搜索 WINDOWS 并键入 env + enter
转到环境变量并添加之后
丢失的目录
8-超级重要,关闭LARAGON软件(完全)
然后将其重新打开 LARAGON,此时,一切都应该正常运行
我使用的是this link
中提供的版本
而且我不得不将我的 ghostscript 降级为 v5.26 并且它起作用了。使用最新版本的 GS 服务器没有响应。
你还必须:
- 复制
C:\Program Files\gs\gs9.25\bin\gswin64.exe
- 重命名为
gs.exe
- 在环境变量
PATH
中添加C:\Program Files\gs\gs9.25\bin
(可能你的系统安装路径是other)
我想将 pdf 文件转换为 jpg。我正确安装了 imagick 我安装了 ghoscript 9.53.3 64x 但我收到了这个错误。我把ghoscript/bin和lib路径放在环境变量里了
Fatal error: Uncaught ImagickException: PDFDelegateFailed `The system cannot find the file specified. ' @ error/pdf.c/ReadPDFImage/794 in C:\xampp7.4\htdocs\kOnline\vendor\spatie\pdf-to-image\src\Pdf.php:40 Stack trace: #0 C:\xampp7.4\htdocs\kOnline\vendor\spatie\pdf-to-image\src\Pdf.php(40): Imagick->pingimage('C:/xampp7.4/htd...') #1 C:\xampp7.4\htdocs\kOnline\pdfToImaage.php(8): Spatie\PdfToImage\Pdf->__construct('C:/xampp7.4/htd...') #2 {main} thrown in C:\xampp7.4\htdocs\kOnline\vendor\spatie\pdf-to-image\src\Pdf.php on line 40
我的代码:
$pdf = new Spatie\PdfToImage\Pdf($pathToPdf);
foreach (range(1, $pdf->getNumberOfPages()) as $pageNumber) {
$pdf->setPage($pageNumber);
$pdf->saveImage("Image_name".$pageNumber.".png");
}
PHP 版本 7.4.11
Apache 版本 Apache/2.4.46 (Win64) OpenSSL/1.1.1g PHP/7.4.11
ghoscript 9.53.3 64x
imagick 模块版本 3.4.4
OS windows 10 64x
我卸载了 ghoscript 9.53.3
并安装了 ghoscript 9.26
。安装后我重新启动了系统。就这样,我的问题就解决了。
有同样的问题。 在旧版本的 ghostscript 中,可执行文件被命名为“gs.exe”,在新版本中它被命名为“gswin32c.exe”(或“gswin64c.exe”)。我认为 gs.exe-call 在某处被硬编码到 imagick-extension 中。 作为解决方法,只需将文件重命名为“gs.exe”或将重命名的副本放入此目录。
我正在使用 gs9.54.0
将 ghostscript 路径添加到 PATH
,在我的例子中 c:\softkit\gs\gs9.54.0\bin\
并将 gswin64.exe
重命名为 gs.exe
解决了这个问题。
看来 imagick
确实在寻找 gs.exe
1- 从站点下载: https://mlocati.github.io/articles/php-windows-imagick.html 如果 php 7.3: php_imagick-3.6.0-7.3-ts-vc15-x64.zip 如果 php 7.4: php_imagick-3.6.0-7.4-ts-vc15-x64.zip 如果 php 8.0: php_imagick-3.6.0-8.0-ts-vs16-x64.zip
2-解压对应PHP版本的那个 A- 获取名为:php_imagick.dll 的 DLL 并将其放在目录 C:/laragon/bin/php/php-7.3.23-Win32-VC15-x64/ext B- 把所有其他的 DLL 放到目录 C:/laragon/bin/php/php-7.3.23-Win32-VC15-x64
3- 打开PHP.ini文件,在有的地方插入一行 精确地扩展并写在那里: 扩展名 = php_imagick.dll
4- 停止 APACH 服务器并执行 phpinfo();查看 如果库已正确安装所有 可以扩展
///////////////////////// 如果您想处理来自 imagick 的 PDF,请继续执行以下步骤 /////////////////////////
5- 然后,你必须安装 ghoscript 软件 以下 url:https://www.ghostscript.com/releases/gsdnld.html 例如安装运行良好的 x64 位版本
6- 然后,进入目录 C:/程序Files/gs/gs9.55.0/bin A- 复制 gswin64.exe 文件 B- 将副本重命名为 gs.exe
7- 添加目录C:/Program Files/gs/gs9.55.0/bin 在 PATH 环境变量中(用户) 为此,请转到搜索 WINDOWS 并键入 env + enter 转到环境变量并添加之后 丢失的目录
8-超级重要,关闭LARAGON软件(完全) 然后将其重新打开 LARAGON,此时,一切都应该正常运行
我使用的是this link
中提供的版本而且我不得不将我的 ghostscript 降级为 v5.26 并且它起作用了。使用最新版本的 GS 服务器没有响应。
你还必须:
- 复制
C:\Program Files\gs\gs9.25\bin\gswin64.exe
- 重命名为
gs.exe
- 在环境变量
PATH
中添加C:\Program Files\gs\gs9.25\bin
(可能你的系统安装路径是other)