1

Imagick を使用して pdf を JPG に変換します。問題は、pdf が CMYK 形式であり、結果の jpg の色が pdf の色とわずかに異なることです。結果を得るために次のコードを使用します。

$filelist = array("D3807797-8425-5-1_40.pdf[2]","D3807797-8425-5-1_40.pdf[3]");

$all = new Imagick();

foreach($filelist as $file){
    $im = new Imagick($file);       
    $all->addImage($im);

}

$all->resetIterator();
$combined = $all->appendImages(true);


$combined->setImageFormat("jpg");
$combined->writeImage("test.jpg");

このためのLinuxコマンドも試しました

$cmd = "gm convert -density 150x150 {$pdf}[2] {$pdf}[3] -append -quality 100 {$image}";
exec($cmd)

そして、私は同じ結果を得ます。

誰かがこの問題を手伝ってくれませんか? 前もって感謝します。

4

1 に答える 1

0

何が違うのか、はっきりとは言えません(私は、画像とpdfの間に大きな違いは見られません)。ただし、CMYK チャネルを RGB に変換するために使用される変換ルーチンが考えられます。PDF は次の式を使用します。

  • 赤 = 1 - 分 (1, シアン + 黒)
  • 緑 = 1 - 分 (1, マゼンタ + 黒)
  • 青 = 1 - 分( 1, 黄色 + 黒 )

また、さまざまな結果を生成するための他の式があります。おそらく、ツールで使用される変換は、PDF 標準で規定されているものではありません。

指定された PDF ファイルでは、DeviceRGB と DeviceCMYK の両方が使用されていることがわかります。すべてがベクターベースで、画像はありません。

于 2012-01-10T22:00:07.270 に答える