直接打印时 GhostScript 挂起

GhostScript hangs when direct printing

我们正在尝试使用 GhostScript 9.18 从我们的 Intranet 应用程序直接打印 PDF 文件,架构如下:

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

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

其中 \creeks\K42N1CN1 是我的网络 Window 打印机 (京瓷)。

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

有趣的细节是:

也许我怀疑:

感谢 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

崩溃报告很少(如果有的话)有用。很难看出您在调试时会遇到访问冲突,而在不调试可执行文件时却不会收到此类消息。

不过最近在这方面有一个修复:

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

所以您可能想要获取 current 最前沿的源代码,重建并尝试它。如果你想调试 Ghostscript,你将需要获取源代码并构建一个调试可执行文件,尝试调试发布二进制文件是徒劳的......

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