PHP - 将 PDF 或 ai 文件转换为 svg 文件

PHP - Convert PDF or ai file to svg file

我有一个 PDF 文件和一个 AI 文件,我想用它来转换 SVG。

我已经在我的本地主机上安装了 PHP IMAGICK 扩展,还安装了 GHOSTSCRIPT。 我试过的代码是

$image = new Imagick();
$image->setResolution(1000,1000);
$image->readImage('C:\xampp\htdocs\project\test.pdf');
$color = $image->getImageColors();
$image->setBackgroundColor(new ImagickPixel('transparent'));
$image->scaleImage(600, 270);
$image->setImageFormat("svg");
$image->writeImage('C:\xampp\htdocs\project\test_convert.svg');

出现以下错误:

致命错误:未捕获 ImagickException:PDFDelegateFailed `系统找不到指定的文件。 ' @ error/pdf.c/ReadPDFImage/794 in C:\xampp\htdocs\Project\Test.php:4 堆栈跟踪:#0 C:\xampp\htdocs\Project\Test.php(4) : Imagick->readimage('C:\xampp\htdocs...') #1 {main} throw in C:\xampp\htdocs\Project\Test.php on line 4

我正在使用 Xampp 并且它已经安装了 Imagick x86(32 位),因此安装了 32 位的 Ghostscript 并尝试了 64 位并且还将 gswin64.exe 重命名为 gs.exe

谁能帮我解决这个错误?

试试下面的代码

$file= fopen('anycloud.ai', 'rb'); // pu here your ai or eps file

$img = new imagick(); // [0] can be used to set page number
$img->setResolution(300,300);
$img->readImageFile($file);
$img->setImageFormat( "jpg");
$img->setImageCompression(imagick::COMPRESSION_JPEG);
$img->setImageCompressionQuality(90);
$img->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
$img->writeImage('convert_jpg_from_ai.jpg');