ImageMagick将.tif文件转换为.pdf-导致MagickCoderErrorException



全部,

环境:.net 2.0,x64版本的Magick.net库

我有下面的代码,我在那里阅读了.tif文件,并想将其转换为.pdf。

using (MagickImage image = new MagickImage())
        {
            image.SetDefine(MagickFormat.Tiff, "ignore-tags", "32934");
            image.Read(sourceFilePath);;
            image.Write(targetFilePath);
        }

image.Read((抛出MagickCoderErrorException,内部异常为MagickCoder WarningException抱怨:

ImageMagick.vhost.exe:遇到标记为32934(0x80a6(的未知字段`TIFFReadDirectory'@警告/tif.c/tiff警告/880

你可以在我的代码中清楚地看到,我指示库忽略这个标记,但我仍然得到了这个异常。为什么?顺便说一句,当我捕捉到异常时,什么也不做,调用image。写(我的.pdf(我生成了一个pdf,但如果我做错了什么,我不想简单地忽略异常。

由于未正确处理Warning Exception,似乎引发了Error Exception。

您的应用程序应该排除"警告异常",因为这是处理专有、不兼容或只是奇怪图像时的常见消息。

 try {
   image.Read(sourceFilePath);
 } catch (MagickCoderWarningException err) {
   // Evaluate if this exception will introduce undesired behavior
   // If yes... re-throw 
   throw new Exception('This is undesired', err);
 }
 image.Write(targetFilePath);

为什么?

我强烈建议大家跳到ImageMagick的论坛上,看看为什么这是意料之中的行为。但是,如果唯一的回应是"没关系">《忽略它》,不要拖延或气馁。

全部,

通过让作者在Magic.net库中添加对忽略标记的支持,修复了这个问题,请查看Magick.net 7.0.0.0018版本。

相关内容

  • 没有找到相关文章

最新更新