我在写开源代码C#Ghostscript wrapper。你可以试试看看(http://ghostscriptnet.codeplex.com)。大多数功能都已实现,并且可在两个版本上运行(x86/x64)。我遇到的问题是当我初始化显示设备直接将pdf呈现给屏幕(我成功实施了gsapi_set_display_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位版本我得到类型检测(e_typecheck = -20)错误。
我知道64位版本使用-sDisplayFormat我试过,但没有运气。
任何人都有任何想法如何初始化设备作为显示在64位版本的Ghostscript库?我不认为我错过了一些东西。这是一个64位版本的ghostscript库中的错误?
我尝试过Ghostscript库的早期版本,并且在64位版本上遇到同样的错误。
我使用的当前版本是9.09。在这里你可以看看代码:Ghostscript.NET.Viewer.GhostscriptViewer.cs