現在、php の imagick を使用して一部の PDF を画像に変換しています。
これは、PDF に含まれる情報と実際のコンテンツのサイズが異なるためです。
PDF は 612x792 72ppi ドキュメントであると報告されていますが、Mac でプレビューを介して PDF から画像をエクスポートすると、画像は 1651x1275 になります。これはどのように可能ですか?
画像がそれらの寸法で正しく表示されるため、エクスポートは明らかに正しいです。幅と高さが混同された場所で、PDF が単に間違ってエンコードされた可能性がありますか? コードを介してこれを検出するにはどうすればよいですか? また、画像のエクスポートは、サイズが約 2 倍の異なる (はるかに大きい) サイズであり、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
また、これは、identifyImage() 関数からの imagick の出力です。これは、ファイル サイズを見ると少し間違っているようです。
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
)