我目前使用php的imagick将一些PDF转换为图像 - 这适用于图像在输出过程中被“切碎”的小细节。PDF尺寸对实际内容尺寸
这是由于包含在PDF VS实际内容维度信息的差异。
的PDF报告是一个612x792 72ppi文件,但是当我通过它预览在Mac上导出图像时,图像是1651x1275 - 这怎么可能?
显然,出口是正确的,因为该图象在这些尺寸正确查看 - 可能不会是PDF被简单地编码错误,其中的宽度和高度进行混合?我怎样才能通过代码检测到这一点?此外,图像导出是一个不同的(更大)的大小,大约两倍的大小,这导致我相信imagick没有正确读取一些信息。
基本上我想知道是否有确定实际的PDF内容大小合适的方式,这样从它导出的图像以最佳质量。
谢谢!
编辑:(添加的代码)
<?php
$im = new Imagick();
$im->readImage("SomeTest.pdf");
$im->setImageColorspace(255);
$im->setCompression(Imagick::COMPRESSION_JPEG);
$im->setCompressionQuality(60);
$im->setImageFormat('jpeg');
$im->writeImages("SampleImage.jpg");
?>
使用的PDF格式如下: http://www.pantone.com/pages/MYP_mypantone/software_downloader.aspx?f=3
另外,这里是imagick从identifyImage()函数的输出,这似乎有点不对看着文件大小。
Array
(
[imageName] => /tmp/magick-XXehkI8e
[format] => PDF (Portable Document Format)
[geometry] => Array
(
[width] => 612
[height] => 792
)
[type] => TrueColor
[colorSpace] => RGB
[resolution] => Array
(
[x] => 72
[y] => 72
)
[units] => Undefined
[fileSize] => 50mb
[compression] => Undefined
[signature] => 9426f3fc4f45afd71941435a37d585d01e01d32458f3ca241e72892c2f7f35d5
)
似乎一切都很好。这真的很粗略。 – 2011-05-20 17:06:39
无论何时您将PDF转换为带有图像魔术贴的图像,都要确保将“-density”参数设置为正确的DPI,否则质量和尺寸将会非常可怕。 – Orbling 2011-05-20 18:21:47
标记,图像大小实际上不起作用 - 在imagick中有一个明显的图像阵列,我需要弄清楚,这样我才能在每个图像上设置大小,然后再写出它们。 – TeckniX 2011-05-20 20:14:51