0

我正在使用 ImageMagic 库(Nuget 包 Magick.NET-Q16-AnyCPU)将 png 图像转换为 pdf

它可以转换并将pdf保存到目的地而没有任何错误。

下面是将图像转换/调整大小为 pdf 的代码,它工作正常。

 public static string ConvertToPdfAndSave(byte[] fileContent)
    {
        var targetFile = "test.pdf";

        using (MagickImage mImage = new MagickImage(fileContent))
        {

            mImage.Quality = 90;
            mImage.Density = new Density(90);
            mImage.Resize(1200, 0);
            mImage.Write(targetFile);
        }           
        return targetFile;
    }

我必须用多个图像来做这件事,然后我必须使用 ImageMagick 阅读这些 pdf,将它们全部合并成一个 PDF。我已经在我的系统上安装了 GhostScript(最初我有 32 位版本,现在有 32 位和 62 位版本的 dll)。

当我尝试使用 ImageMagick 读取任何转换后的 pdf 时,它会抛出以下异常:

尝试读取或写入受保护的内存。这通常表明其他内存已损坏

读取文件的代码:

  using (MagickImage mImage = new MagickImage(targetFile))
        {


        }

奇怪的是,如果我从系统读取任何其他原始文件,这段代码运行良好。它只是不读取转换后的文件。它在构造函数中抛出异常。

我在 64 位 Windows 10 机器上。

任何帮助,将不胜感激。

4

0 回答 0