无法使用ImageMagik

时间:2019-03-06 10:01:01

标签: c# imagemagick ghostscript imagemagick-convert imagemagick.net

我正在使用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计算机上。

任何帮助将不胜感激。

0 个答案:

没有答案