1

以下 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");
}
4

2 回答 2

3

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");
        }

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

于 2017-07-09T16:21:55.453 回答
0

我不是 ImageMagick Magick.NET 专家,但您是否尝试过简单地将 [0] 添加到您的命令中

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

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

于 2017-07-09T19:39:15.777 回答