2013-02-26 2 views
2

Новая версия Ghostscript (9.07) поддерживает потоки (может быть потокобезопасной), но в ней говорится, что код должен быть скомпилирован со специальным флагом, чтобы включить это.Где получить потокобезопасную компиляцию Ghostscript?

Как это сделать? Или где я могу получить уже построенную потокобезопасную версию?

Я попытался загрузить источник, открытый в VS, но он не смог построить. Так что, возможно, кто-то уже сделал это и мог поделиться DLL.

ответ

1

Вы заинтересованы в потокобезопасной версии Ghostscript или нескольких потоков рендеринга?

Несколько потоков рендеринга используются только в том случае, если вы создаете выходной сигнал высокого разрешения, так как код должен сначала интерпретировать программу PostScript (или файл PDF) и создать список отображения для потоков рендеринга, которые будут работать. Если вы не выполняете рендеринг на достаточно высоком разрешении, это будет на самом деле медленнее, чем использование режима страницы (вся страница отображается в памяти)

Вы можете создать несколько потоков рендеринга в предварительно построенной версии Ghostscript, используя ключ -dNumRenderingThreads.

Если вы хотите потокобезопасную версию Ghostscript, тогда вам нужно будет скомпилировать Ghostscript самостоятельно. Какую версию Visual Studio вы используете? Я использую Visual Studio 2005 и 2008, и поставляемое решение работает для меня (после соответствующего преобразования).

+0

Мне нужна потокобезопасная компиляция для VS 2012, так что я могу инициализировать несколько экземпляров Ghostscript из нескольких потоков одновременно. Я считаю, что скомпилированная DLL будет работать с VS 2005/2008, поэтому, если бы вы могли поделиться ею, это было бы очень полезно, потому что я понятия не имею, как правильно компилировать код C с помощью специального флага. –

+0

У меня нет предварительно построенной DLL с установленным флагом, вам придется сделать это самостоятельно. Вы можете получить копию VS 2010 express, которая будет строить поставляемый проект. Чтобы установить флаг, просто щелкните правой кнопкой мыши имя решения в проводнике решений, выберите «Свойства» в раскрывающемся меню. Затем выберите C/C++ на странице свойств, щелкните маленькую стрелку, чтобы отобразить параметры, выберите «Препроцессор», а затем в правой панели, где указано «Определения препроцессора», добавьте флаг THREADSAFE. – KenS

+0

К сожалению, он также не смог построить VS VS. –

0

Посмотрите на Ghostscript.NET управляемая оболочка Ghostscript, которая позволяет одновременно запускать несколько экземпляров библиотеки Ghostscript, если вам нужно обрабатывать несколько PDF-файлов одновременно.

Смежные вопросы