gpt4 book ai didi

php - 使用 PHP 将 PDF 转换为 JPG

转载 作者:IT王子 更新时间:2023-10-29 01:22:10 24 4
gpt4 key购买 nike

我正在尝试借助 PHP 将 PDF 转换为 IMG (JPG)。

我正在使用 imagick 扩展。

这是我的代码

    $fp_pdf = fopen($pdf, 'rb');

$img = new imagick(); // [0] can be used to set page number
$img->readImageFile($fp_pdf);
$img->setImageFormat( "jpg" );
$img->setImageCompression(imagick::COMPRESSION_JPEG);
$img->setImageCompressionQuality(90);

$img->setResolution(300,300);

$img->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);

$data = $img->getImageBlob();

我的源 pdf 文件尺寸正确(210x297 毫米,与 A4 一样)。一切看起来都很好。但是我的jpg页面尺寸为842x595 px,DPI为72。

当我打印它时,img 文件在纸上比 pdf 小得多。

什么是从 pdf 制作图像文件并使其像 pdf 一样大(在纸上)

最佳答案

您可以通过 exec() 或类似的方式使用 imagemagick,shell 参数比 PHP 扩展更简洁。

$pdf_file = escapeshellarg( "mysafepdf.pdf" );
$jpg_file = escapeshellarg( "output.jpg" );

$result = 0;
exec( "convert -density 300 {$pdf_file} {$jpg_file}", null, $result );

// at this point $result should == 0 if the conversion was successful

这是专门解决您的问题的“-density”(将 DPI 设置为读取源文件)选项。

在大多数情况下,imagemagick 默认使用 92 的 JPEG 写入质量设置 - 因此您可能不需要显式声明它。

关于php - 使用 PHP 将 PDF 转换为 JPG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8624886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com