PHP-将base64文件内容转换为PDF

PHP-将base64文件内容转换为PDF,php,symfony,symfony4,Php,Symfony,Symfony4,我在Symfony有一个API,前面有React。 我正在尝试上载文档(jpg、png或pdf),但我只想将pdf文件存储在我的目录中。因此,当用户发送图像时,我希望在上传之前将其转换为pdf格式 public function upload($rawData, $extension, $key, &$contentType) { $rawData = explode(';base64,', $rawData); $contentType

我在Symfony有一个API,前面有React。 我正在尝试上载文档(jpg、png或pdf),但我只想将pdf文件存储在我的目录中。因此,当用户发送图像时,我希望在上传之前将其转换为pdf格式

    public function upload($rawData, $extension, $key, &$contentType)
    {
        $rawData = explode(';base64,', $rawData);
        $contentType = substr($rawData[0], 5);
        $rawFileData = $rawData[1];

        if ($extension !== "pdf" && $extension !== "PDF") {
            $tmpDir = '/tmp';
            $image = $tmpDir . '/' . $key . '.' . $extension;
            file_put_contents($image, base64_encode($rawFileData));

            $imagick = new \Imagick();
            $imagick->readImage($image) ;
            $imagick->writeImages($tmpDir. '.pdf', false) ;
        }
    }

我试过使用Imagick库,但它给了我一个类似“转换:不是JPEG文件”的错误。有什么不对劲吗?还是另一个更好的图书馆

我最后使用fpdf和fpdi库

composer require setasign/fpdf
composer require setasign/fpdi
My services.yml:

parameters:
    tmpDir: '%kernel.project_dir%/public/tmp'

你的问题是?我更新了我的帖子。也许上传错了?如果你用的是symfony,我想知道你为什么要在这个问题上“生硬”。。。
parameters:
    tmpDir: '%kernel.project_dir%/public/tmp'