ImageMagick Pdf到JPG质量不好
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ImageMagick Pdf到JPG质量不好相关的知识,希望对你有一定的参考价值。
使用ImageMagick将PDF转换为图像,我无法获得良好的色彩质量。
MagickReadSettings settings = new MagickReadSettings();
settings.Verbose = true;
settings.Density = new Density(600, 600);
MagickImageCollection images = new MagickImageCollection();
images.Read("C:\" + Path.GetFileName(fileUrl));
List <string> files = new List<string>();
for (var x = 0; x < images.Count; x++)
{
images[x].Quality = 100;
images[x].BitDepth(24);
images[x].Contrast(true);
images[x].Resize(3675, 2400);
images[x].Write("C:\websites\FlyerEditor2\FlyerEditor\src\assets\" + Path.GetFileNameWithoutExtension(fileUrl) + "-" + (x + 1) + ".jpeg");
files.Add("assets/" + Path.GetFileNameWithoutExtension(fileUrl) + "-" + (x + 1) + ".jpeg");
}
答案
好的,这个问题与imageMagick无关。彩色托盘是一个简单的问题。默认情况下,将pdf转换为jpeg使用cmyk,而Web标准是RGB
另一答案
如果使用python3,你可以尝试使用魔杖。
在终端:
brew install imagemagick@6
pip install wand
在python中:
from wand.image import Image
pdf_file = '.../example/a.pdf'
def convert_pdf_to_jpg(file_name, pic_file, resolution=120):
with Image(filename=file_name, resolution=resolution) as img:
print('pages = ', len(img.sequence))
with img.convert('jpeg') as converted:
converted.save(filename=pic_file)
另一答案
我发现imagemagick在Linux和Windows之间的色彩空间转换处理方面存在很大差异。
使用命令
convert -density 300 -colorspace RGB my.pdf my.jpg
convert -density 300 -colorspace sRGB my.pdf my.jpg
在Linux中,-colorspace sRGB和-colorspace RGB生成的图像中对比度和调色板是原始的主要转移,对比度增加,颜色与原始颜色相差甚远。
在Windows中,如果不完美的话,-colorspace sRGB和-colorspace RGB都是可以接受的。
以上是关于ImageMagick Pdf到JPG质量不好的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 ImageMagick 和 GhostScript 将 PDF 转换为 JPG