4

次のコマンドを使用しています。

convert sourcefile.pdf -profile "cmyk.icc" -profile "srgb.icc" +profile "*" output.pdf

テスト用の3MBファイルでは、恐ろしい品質の20MBPDFが作成されます。

-density 600パラメータを追加すると、ファイルが600MBを超えて爆発します。他のすべてを維持しながら色空間を変換する方法はありますか?これはさらに処理するための一時的なPDFなので、まったく同じサイズである必要はありませんが、巨大なPDFファイルサイズを処理することはできません。

4

1 に答える 1

1

あなたの問題はconvert、ImageMagickでのカラープロファイルの使用ではありません。

これらのコマンドでもまったく同じ問題が発生することを保証します。

convert  sourcefile.pdf  output.pdf 

convert  -density 600  sourcefile.pdf  output.pdf 

あなたの本当の問題は、それが得意ではないタスクにImageMagickを使用することです。ImageMagickはPDFを処理できないためです。ラスター画像のみを処理できます。これはそれが優れているところであり、それが本当に得意なところです。

PDFはラスター画像ではないため(これらを含めることはできますが)、ImageMagickはデリゲートを使用してPDFページを単一のフルページ画像に変換します。このデリゲートはGhostscriptです。

デリゲートの結果(ラスターイメージ)を受け取った後でのみ、ImageMagickはプロファイルの変更で機能し始めます。完了すると、画像がPDFに変換されますが、PDFは以前のベクターオブジェクトをすべて失い、各ページからピクセル化されたバージョンのみが残ります。

肉挽き肉をすりつぶした後は、肉を1つのピースに戻すことができないのと同じように、ラスタライズした後は、元のPDFオブジェクト(ベクター図面、フォントなど)を元に戻すことはできません。 ImageMagickのようなそのページは....


問題の解決策(PDFで使用されるカラープロファイルをいじる): 作業に適したツールを使用します。 Ghostscriptを直接使用する方法を学びましょう!(Ghostscriptは、最初にページをラスターイメージに変更せずに、ICCカラープロファイルをPDFに埋め込むことができるためです。これにはImageMagickは必要ありません!)

于 2012-09-20T22:02:43.970 に答える