2013-11-25 2 views
0

Я использую ImageMagick.NET с C# в приложении Windows для создания миниатюр JPG или PNG из файлов PDF. Мое приложение работает правильно, за исключением того, что для каждого PDF-файла появляется всплывающее окно, так как ImageMagick.NET использует Ghostscript для чтения PDF-файлов.Как я могу подавить окно команд, которое появляется при использовании Magick.NET для преобразования изображений в формате PDF?

Как я могу подавить эти окна команд?

UPDATE 11/26/2013: Окна консоли появляются и исчезают почти сразу, поэтому я не мог видеть, что они говорили раньше. Но мне удалось приостановить пару из них (используя Ctrl-S) и выяснили, что они сказали.

Первый, который всплывает, имеет название <application path>\PDF2Thumbnail.vshost.exe (приложение называется «PDF2Thumbnail»). Его содержание:

**** Warning: An error occurred while reading an XREF table. 
**** The file has been damaged. This may have been caused 
**** by a problem while converting or transfering the file. 
**** Ghostscript will attempt to recover the data. 

Тогда для каждого PDF в папке Я превращающая пиктограммы, всплывает окно с таким же названием <application path>\PDF2Thumbnail.vshost.exe, но не содержанием.

Эскизы успешно созданы, однако.

Так что проблема имеет какое-то отношение к Ghostscript, но я не знаю, что означает это предупреждение.

ОБНОВЛЕНИЕ # 2 11/26/2013: Я провел небольшое исследование и обнаружил, что эта ошибка обычно вызвана тем, что приложение создает PDF, не помещая правильные символы конца строки на определенные строки в файл. Предположительно Ghostscript был исправлен некоторое время назад, чтобы игнорировать это, и я запускаю последнюю версию, но все еще получаю предупреждения. Поэтому мне все еще нужно найти способ подавить всплывающие окна консоли.

+0

Это сообщение может быть полезно для вас: http://stackoverflow.com/questions/554373/suppress-messagebox-from-a-referenced-assembly – OnoSendai

+0

К сожалению, это сообщение не помогает, потому что мое приложение является Windows приложение, которое бросает окно cmd.exe, но это сообщение ссылается на веб-приложение, которое бросает окно MessageBox(). – timbck2

+0

Невозможно увидеть окно команд, неясно, почему вы думаете, что это связано с ImageMagick с использованием Ghostscript. Конечно, Ghostscript не открывает консольное окно, и вам не нужно открывать его для вызова GS. – KenS

ответ

1

Это похоже на ошибку в ImageMagick. Я создал проблему (https://magick.codeplex.com/workitem/1124), чтобы вы могли видеть, когда это было исправлено в Magick.NET.

+0

Большое спасибо dlemstra! Я подозревал, что это что-то вроде этого. – timbck2

+0

Это была ошибка в Magick.NET, которая теперь исправлена.Спасибо! – timbck2