Как мне заставить ImageMagick общаться с Ghostscript - PullRequest
1 голос
/ 24 сентября 2008

Я на Windows XP.

Я использую ImageMagick (MagickNet) для преобразования PDF в TIF.

Моя проблема в том, что когда я загружаю PDF в объект MagicNet.Image, он не выдает ошибку, но когда я смотрю на свойства, становится очевидно, что он не загружает PDF (он не содержать какие-либо данные).

Я предполагаю, что ImageMagick не разговаривает с Ghostscript.

Есть идеи?

- Я забыл упомянуть, я установил Ghost Script и добавил папку bin в PATH

Ответы [ 3 ]

1 голос
/ 24 сентября 2008

Возможно, вы уже сделали что-то подобное, но чтобы убедиться, что у вас есть проблема, связанная с ImageMagick и GhostScript (в отличие от MagickNet, который является просто оберткой), вы можете увидеть, является ли командная строка ImageMagick convert.exe способен конвертировать ваш PDF в TIFF? Я никогда не видел, чтобы convert.exe не выполнял то, что можно сделать с помощью методологии на основе API (я не использовал MagickNet, но я широко использовал утилиту convert.exe и использовал COM-библиотеку ImageMagickObject через взаимодействие ). Для простого теста это должно быть так просто:

c:\PATH_TO_IMAGEMAGICK\convert YourInput.pdf YourOutput.tif

Если это работает, ваши установки ImageMagick и GhostScript в основном в порядке, и что-то нужно сделать в MagickNet или в вашем приложении; если это не работает, значит, что-то не так с вашей установкой / настройкой ImageMagick и / или GhostScript.

Если выясняется, что проблема связана с MagickNet, использование ImageMagickObject для преобразования через взаимодействие не так уж плохо. Вы просто создаете один экземпляр, а затем вызываете «convert» для него, как если бы это был статический метод с параметрами, которые почти совпадают с параметрами для командной строки convert.exe:

ImageMagickObject.MagickImage img = new MagickImage();

object[] parms = new object[2];
parms[0] = "YourInput.pdf";
parms[1] = "YourOuput.tif";
img.Convert(ref parms);
1 голос
/ 29 октября 2018

Я думаю, если вы установили каталог ghostScript до того, как сделали преобразование. Код должен быть MagickNET.SetGhostscriptDirectory(@"your path here");

1 голос
/ 24 сентября 2008

Вы обязательно установили Ghostscript ? По умолчанию он не включен в пакеты ImageMagick.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...