PHP-将base64文件内容转换为PDF
我在Symfony有一个API,前面有React。 我正在尝试上载文档(jpg、png或pdf),但我只想将pdf文件存储在我的目录中。因此,当用户发送图像时,我希望在上传之前将其转换为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
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'