【发布时间】:2022-01-16 20:56:49
【问题描述】:
我有一个 php 辅助函数,它接受 base64 png 并输出一个 pdf 文件:
public static function base64PngToPdf($b64, $filePath) {
$imagick = new Imagick();
$imagick->readImageBlob(base64_decode($b64));
// Create PDF File
$pdfFile = new Imagick();
$pdfFile->setFormat('pdf');
// Add image to pdf
$pdfFile->addImage($imagick->getImage());
file_put_contents($filePath, $pdfFile->getImagesBlob());
return $filePath;
}
我的问题是,我拥有的 png 是 800w x 1200h 像素。上面的代码输出一个 211 x 317mm 的标签。我想要一个缩小到 101 毫米宽或 152 毫米高的标签(最好不缩放像素本身,只改变物理尺寸)。
我做了一些谷歌搜索,发现 imagick 有一个密度参数,但我不能 100% 确定在这种情况下是否是我想要的,而且我的库没有 ->setDensity 函数。
【问题讨论】: