使用Magick.NET将第一页转换为tif

时间:2017-07-09 14:38:06

标签: c# imagemagick-convert graphicsmagick magick.net

关注gm convert命令将source.pdf的首页转换为output.tif

convert source.pdf[0] output.tif

我想知道如何用Magick.NET库做到这一点?以下代码对我不起作用。

using (MagickImage image = new MagickImage("source.pdf"))
{
  image.Write("output.tif");
}

2 个答案:

答案 0 :(得分:1)

ImageMagick无法自行处理PostScript和PDF文件, 为此,它使用名为Ghostscript的第三方软件。

因此,您需要安装最新版本的GhostScript才能使用Magick.NET转换pdf。

安装GhostScript后,使用以下代码将第一页提取到TIF文件。

        using (MagickImageCollection image = new MagickImageCollection())
        {
            MagickReadSettings settings = new MagickReadSettings();
            settings.Density = new Density(300, 300); // Settings the density to 300 dpi will create an image with a better quality
            settings.FrameIndex = 0; // First page
            settings.FrameCount = 1; // Number of pages
            image.Read(@"source.pdf", settings);
            image.Write(@"output.tif");
        }

您可以通过更改settings.Density参数来调整生成的TIF的质量(300 dpi用于高质量偏移/数字打印,72 dpi仅适用于监视器屏幕)。

答案 1 :(得分:0)

我不是ImageMagick Magick.NET专家,但您尝试过将<0]添加到命令中

using (MagickImage image = new MagickImage("source.pdf[0]"))
{
  image.Write("output.tif");
}

ImageMagick确实需要安装Ghostscript才能阅读PDF文件。如前所述。