直接打印时{GhostScript挂起

时间:2015-12-23 08:27:33

标签: c# windows printing ghostscript

我们正试图使用​​GhostScript 9.18从我们的Intranet应用程序直接打印PDF文件,具有以下架构:

  • Windows Server 2012 r2 64
  • 适用于Windows 9.18的GhostScript(尝试使用32位和64位版本)

但是对于我们的测试目的,我只是从命令行进行测试。 当我输入命令行时:

gswin32c.exe -dPrinted -dNOPAUSE -dNumCopies=1  -sDEVICE=mswinpr2 -sOutputFile="%printer%\\creeks\K42N1CN1" "D:\temp\test.pdf" 

其中\ creeks \ K42N1CN1是我的网络窗口打印机(Kyiocera)。

gswin32c.exe正在挂起。我没有在消息框或事件查看器中看到任何好的解释。但如果需要,我可以发布整个信息。

有趣的细节是:

  • 如果我给出了不正确的打印机名称,GhostScipt弹出标准的Windows打印对话框,我选择相同的网络打印机,然后文档打印完美
  • 从PDF文件到光栅图像(png)的转换工作非常顺利。
  • 问题与管理员命令提示符相同
  • 删除所有可选参数确实改变了一些内容

也许我怀疑:

  • -sDEVICE参数的值不正确
  • 内存访问viloation因为当我尝试调试GhostScript程序时,我收到消息“Exceptionnongéréeà0x101eddc9dans gswin32c.exe:0xC0000005:Violation d'accèslorsde la lecture de l'emplacement 0x3130654e。” (对不起,这是法国人)。

Toulouse \ France

赞赏任何帮助

祝你好运

事件查看器崩溃报告:

Version=1
EventType=APPCRASH
EventTime=130953327000374373
ReportType=2
Consent=1
ReportIdentifier=a7aa1a77-a94e-11e5-80d6-0050569e7a66
IntegratorReportIdentifier=a7aa1a76-a94e-11e5-80d6-0050569e7a66
WOW64=1
NsAppName=gswin32c.exe
Response.type=4
Sig[0].Name=Nom de l’application
Sig[0].Value=gswin32c.exe
Sig[1].Name=Version de l’application
Sig[1].Value=0.0.0.0
Sig[2].Name=Horodatage de l’application
Sig[2].Value=56123d4d
Sig[3].Name=Nom du module par défaut
Sig[3].Value=gsdll32.dll
Sig[4].Name=Version du module par défaut
Sig[4].Value=0.0.0.0
Sig[5].Name=Horodateur du module par défaut
Sig[5].Value=56123d49
Sig[6].Name=Code de l’exception
Sig[6].Value=c0000005
Sig[7].Name=Décalage de l’exception
Sig[7].Value=001eddc9
DynamicSig[1].Name=Version du système
DynamicSig[1].Value=6.3.9600.2.0.0.272.7
DynamicSig[2].Name=Identificateur de paramètres régionaux
DynamicSig[2].Value=1036
DynamicSig[22].Name=Information supplémentaire n° 1
DynamicSig[22].Value=3376
DynamicSig[23].Name=Information supplémentaire n° 2
DynamicSig[23].Value=3376824fd83b1dc3948a498a9c840064
DynamicSig[24].Name=Information supplémentaire n° 3
DynamicSig[24].Value=7929
DynamicSig[25].Name=Information supplémentaire n° 4
DynamicSig[25].Value=792969fd05f031b74b3a51636e7a67ec
UI[2]=C:\Program Files (x86)\gs\gs9.18\bin\gswin32c.exe
UI[3]=gswin32c.exe a cessé de fonctionner
UI[4]=Windows peut rechercher une solution au problème en ligne.
UI[5]=Rechercher une solution en ligne et fermer le programme
UI[6]=Rechercher ultérieurement une solution en ligne et fermer le programme
UI[7]=Fermer le programme
LoadedModule[0]=C:\Program Files (x86)\gs\gs9.18\bin\gswin32c.exe
LoadedModule[1]=C:\Windows\SYSTEM32\ntdll.dll
LoadedModule[2]=C:\Windows\SYSTEM32\KERNEL32.DLL
LoadedModule[3]=C:\Windows\SYSTEM32\KERNELBASE.dll
LoadedModule[4]=C:\Windows\SYSTEM32\SYSFER.DLL
LoadedModule[5]=C:\Windows\SYSTEM32\SHELL32.dll
LoadedModule[6]=C:\Windows\SYSTEM32\GDI32.dll
LoadedModule[7]=C:\Windows\SYSTEM32\USER32.dll
LoadedModule[8]=C:\Windows\SYSTEM32\ADVAPI32.dll
LoadedModule[9]=C:\Windows\SYSTEM32\msvcrt.dll
LoadedModule[10]=C:\Windows\SYSTEM32\combase.dll
LoadedModule[11]=C:\Windows\SYSTEM32\SHLWAPI.dll
LoadedModule[12]=C:\Windows\SYSTEM32\sechost.dll
LoadedModule[13]=C:\Windows\SYSTEM32\RPCRT4.dll
LoadedModule[14]=C:\Windows\SYSTEM32\SspiCli.dll
LoadedModule[15]=C:\Windows\SYSTEM32\CRYPTBASE.dll
LoadedModule[16]=C:\Windows\SYSTEM32\bcryptPrimitives.dll
LoadedModule[17]=C:\Windows\system32\IMM32.DLL
LoadedModule[18]=C:\Windows\SYSTEM32\MSCTF.dll
LoadedModule[19]=C:\Program Files (x86)\gs\gs9.18\bin\gsdll32.dll
LoadedModule[20]=C:\Windows\SYSTEM32\comdlg32.dll
LoadedModule[21]=C:\Windows\SYSTEM32\WINSPOOL.DRV
LoadedModule[22]=C:\Windows\SYSTEM32\ole32.dll
LoadedModule[23]=C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.9600.17810_none_7c5b6194aa0716f1\COMCTL32.dll
LoadedModule[24]=C:\Windows\SYSTEM32\SHCORE.DLL
FriendlyEventName=Fonctionnement arrêté
ConsentKey=APPCRASH
AppName=gswin32c.exe
AppPath=C:\Program Files (x86)\gs\gs9.18\bin\gswin32c.exe
NsPartner=windows
NsGroup=windows8
ApplicationIdentity=C5D66B61522557FE3034ACFE0B05988E

1 个答案:

答案 0 :(得分:1)

崩溃报告很少(如果有的话)有用。很难看到在调试时如何获得访问冲突,并且在不调试可执行文件时没有收到这样的消息。

然而,该领域最近有一个解决方案:

http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=4703d04a6146904cab9b1b04aee1478e31df52da

所以你可能希望得到当前的前沿源,重建并尝试它。如果你想调试Ghostscript,你需要得到源代码并构建一个调试可执行文件,尝试调试发布二进制文件是一种徒劳的练习......

哦,将DEVICE =设置为mswinpr2之外的其他内容只是意味着它不会打印到您的打印机,mswinpr2设备是唯一可以打印到Windows打印机的Ghostscript设备。