Я пишу с открытым исходным кодом C# Ghostscript обертка. Вы можете попробовать и посмотреть (http://ghostscriptnet.codeplex.com). Большая часть функциональности реализована и работает в обеих версиях (x86/x64). Проблема, с которой я сталкиваюсь, - это когда я инициализирую устройство отображения для визуализации pdf непосредственно на экран (я успешно реализовал gsapi_set_display_callback callback).C# и Ghostscript 64bit
Аргументы, которые я использую следующие:
string[] args = new string[] {
"",
"-sDEVICE=display",
"-dTextAlphaBits=4",
"-dGraphicAlphaBits=4",
"-dDisplayHandle=1234",
"-dDisplayResolution=72",
"-dDisplayFormat=" + ((int)DISPLAY_FORMAT_COLOR.DISPLAY_COLORS_RGB |
(int)DISPLAY_FORMAT_ALPHA.DISPLAY_ALPHA_NONE |
(int)DISPLAY_FORMAT_DEPTH.DISPLAY_DEPTH_8 |
(int)DISPLAY_FORMAT_ENDIAN.DISPLAY_LITTLEENDIAN |
(int)DISPLAY_FORMAT_FIRSTROW.DISPLAY_BOTTOMFIRST).ToString() };
Эти аргументы хорошо работает на 32-разрядной версии и я в состоянии оказать Pdf страницу на экран. Инициализация работает нормально.
Когда я переключиться на 64-битной версии я получаю typecheck (e_typecheck = -20) сообщение об ошибке.
Я знаю, что 64-разрядная версия использует -sDisplayFormat, и я тоже пробовал это, но не повезло.
Кто-нибудь знает, как инициализировать устройство как отображение в 64-битной версии Ghostscript library? Я не думаю, что что-то упускаю. Это ошибка в 64-битной версии библиотеки ghostscript?
Я пробовал более ранние версии библиотеки Ghostscript, и я получаю такую же ошибку в 64-битной версии.
Текущая версия, используемая мной 9.09. Класс, где вы можете взглянуть на код: Ghostscript.NET.Viewer.GhostscriptViewer.cs