【问题标题】:Pdf to image using php-imagick api使用 php-imagick api 将 PDF 转换为图像
【发布时间】:2011-05-11 20:19:24
【问题描述】:

我想将 PDF 转换为图像。但是当输出图像生成时,它会从原始图像中变得模糊。这里是代码

$uploadfile = ".pdf[53]";
$img = new Imagick($uploadfile);
$img->setResolution(300,300);
$img->resampleImage(150,150,imagick::FILTER_UNDEFINED,1);
$img->resizeImage(512,700,Imagick::FILTER_LANCZOS,0);
$img->setImageFormat('jpeg');
$img->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
$img->writeImage ( "p-53.jpeg" );

你能帮帮我吗? 谢谢。

【问题讨论】:

  • Z : 你能否分享你的完整代码我需要在 Codeigniter 中将 pdf 转换为图像,因为我是 Codeigniter 的新手,我被困住了

标签: imagemagick


【解决方案1】:

删除 resample 和 resize 调用,看看你得到了什么。看起来你正在缩小它然后放大它。

edit: setResolution(300,300) 为时已晚——图像已经被渲染。这样做:

$im = new Imagick(); 
$im->setResolution( 300, 300 ); 
$im->readImage( $uploadfile );

【讨论】:

  • 感谢重播,但它对我不起作用。还有其他想法吗?我可以用命令行做得最好,但速度很慢,所以我切换回 php api。这里是命令“urs/bin/convert -density 300x300 uploadfile.pdf[2] -resample 150 -resize 512x700!page.jpeg 2>&1”;
  • 添加了另一个建议。 PDF 需要在阅读之前知道分辨率,因为文件可以以任何分辨率呈现。在将其转换为图像之前,它需要知道您想要什么。
  • 您能否举例说明如何正确执行此操作,因为我也在寻找此解决方案?
猜你喜欢
  • 2018-04-07
  • 1970-01-01
  • 2010-10-09
  • 2018-01-25
  • 2021-02-04
  • 2017-01-22
  • 1970-01-01
  • 1970-01-01
  • 2015-04-02
相关资源
最近更新 更多