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

Convert first page to tif using 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");
}

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 用于高质量 offset/digital 打印,72 dpi 仅适用于监视器屏幕)。

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

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

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