我正在尝试使用ghostscript库将PDF文件打印到Windows打印机。 这是我的命令:
gswin32c.exe -dPrinted -dBATCH -dNOPAUSE -dNOSAFER -q -dNumCopies=1 -sDEVICE=mswinpr2 -sOutputFile="\printservermyprinter" "C:myfile.pdf"
此命令有效,我尝试在虚拟打印机(Windows PDF 打印机(中打印,它生成有效的 PDF。 我在使用东芝通用打印机驱动程序 2 的真实打印机时遇到一些问题,所有页面打印完全空白(但页数是正确的(。我尝试将打印机更改为其他制造商并且可以正常工作,因此我认为问题与ghostscript和此特定的东芝驱动程序有关。 我尝试更新此驱动程序,我也尝试更改客户端,我发现我只对某些客户端有此问题。
我尝试使用此命令输出一些调试数据
gswin32c.exe -dPrinted -dDEBUG -dNumCopies=1 -sDEVICE=mswinpr2 -sOutputFile="\printservermyprinter" "C:myfile.pdf"
我得到了这个输出:
START 0 1434368 139387 1309984 27572 true 582 3 <0>
GPL Ghostscript 9.23 (2018-03-21)
Copyright (C) 2018 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
END PROCS 2 1474576 176704 1330088 33388 true 705 3 <0>
END FONTDIR/ENCS 3 1514784 205041 1330088 35868 true 715 3 <0>
END DEVS 4 1532360 234258 1330088 35868 true 719 3 <0>
END STATD 5 1552464 247718 1330088 38748 true 724 3 <0>
END GS_FONTS 7 1622708 312812 1330088 38748 true 773 3 <0>
END BASIC COLOR 7 1622708 319016 1330088 38748 true 793 3 <0>
END IMAGE 8 1642812 330142 1330088 38748 true 798 3 <0>
BEGIN RESOURCES 21 2396164 1036997 1434800 144156 true 821 4 <0>
END CATEGORY 22 2396164 1040920 1434800 144444 true 822 5 <0>
END GENERIC 23 2426200 1063516 1434800 144444 true 824 4 <0>
END FIXED 24 2446304 1080587 1434800 144444 true 824 4 <0>
END MISC 25 2446304 1092183 1434800 144444 true 824 4 <0>
END ENCODING 26 2506616 1151689 1434800 148074 true 824 4 <0>
Extend MacRomanEncodingForTrueType for TrueType: insert /integral @ 186
Extend MacRomanEncodingForTrueType for TrueType: cannot insert /Euro @ 219 used for /currency
Extend MacRomanEncodingForTrueType for TrueType: insert /infinity @ 176
Extend MacRomanEncodingForTrueType for TrueType: insert /notequal @ 173
Extend MacRomanEncodingForTrueType for TrueType: insert /summation @ 183
Extend MacRomanEncodingForTrueType for TrueType: insert /approxequal @ 197
Extend MacRomanEncodingForTrueType for TrueType: insert /radical @ 195
Extend MacRomanEncodingForTrueType for TrueType: insert /lozenge @ 215
Extend MacRomanEncodingForTrueType for TrueType: insert /Omega @ 189
Extend MacRomanEncodingForTrueType for TrueType: insert /pi @ 185
Extend MacRomanEncodingForTrueType for TrueType: insert /product @ 184
Extend MacRomanEncodingForTrueType for TrueType: insert /partialdiff @ 182
Extend MacRomanEncodingForTrueType for TrueType: insert /greaterequal @ 179
Extend MacRomanEncodingForTrueType for TrueType: insert /Delta @ 198
Extend MacRomanEncodingForTrueType for TrueType: insert /apple @ 240
Extend MacRomanEncodingForTrueType for TrueType: insert /lessequal @ 178
END INITFILES 48 3724620 2302857 1434800 151334 true 1190 4 <0>
C:Program Files (x86)gsgs9.23bin/Fontmap 48 3744724 2311483 1454904 156508 true 1191 4 <1>
C:Program Files (x86)gsgs9.23lib/Fontmap 49 3784932 2343795 1454904 156508 true 1191 4 <1>
C:Program Files (x86)gsgs9.23fonts/Fontmap 49 3805036 2357477 1454904 156508 true 1191 4 <1>
%rom%Resource/Init/Fontmap 50 3805036 2367803 1454904 156508 true 1191 4 <1>
%rom%lib/Fontmap 51 3825140 2385363 1454904 156508 true 1191 4 <1>
c:/gs/gs9.23/Resource/Init/Fontmap 51 3845244 2399033 1454904 156508 true 1191 4 <1>
c:/gs/gs9.23/lib/Fontmap 52 3865348 2412693 1454904 156508 true 1191 4 <1>
c:/gs/gs9.23/Resource/Font/Fontmap 53 3865348 2423027 1454904 156508 true 1191 4 <1>
c:/gs/fonts/Fontmap 53 3885452 2436682 1454904 156508 true 1191 4 <1>
END FONTS 54 3885452 2447087 1454904 156508 true 1191 4 <0>
END DEVICE 4993 6016476 4383653 1453392 154996 true 1195 4 <0>
END CONFIG 4993 6016476 4383923 1453392 154996 true 1195 4 <0>
END INIT 4994 6096892 4457845 1566792 276716 true 1210 4 <0>
END GLOBAL 4994 6096892 4461827 1566792 279032 false 1209 4 <0>
END GC 5001 3920836 2285101 1570160 272553 false 988 3 <0>
runEPS: Not DSC
<<
/Info 22 0 R
/Root 1 0 R
/Size 23 >>
<<
/Info 22 0 R
/Root 1 0 R
/Size 23 >>
%Resolving: [1 0]
<<
/Pages 2 0 R
/Type /Catalog >>
endobj
%Resolving: [2 0]
<<
/Count 1 /Kids [
3 0 R
]
/Type /Pages >>
endobj
%Resolving: [3 0]
<<
/Contents [
20 0 R
]
/CropBox [
0.0 0.0 595.32 841.920044 ]
/MediaBox [
0.0 0.0 595.32 841.920044 ]
/Parent 2 0 R
/Resources 21 0 R
/Rotate 0 /Type /Page >>
endobj
%Resolving: [1 0]
%Resolving: [2 0]
%Resolving: [1 0]
%Resolving: [1 0]
%Resolving: [1 0]
%Resolving: [1 0]
Checking.
-dict-
-dict-
-mark-
-dict-
false
Merging.
-dict-
-dict-
-mark-
-dict-
false
Selecting.
-dict-
-dict-
-dict-
-mark-
-dict-
false
Constructing.
-dict-
-dict-
-dict-
-dict-
-mark-
-dict-
false
Putting.
[595.32 841.92]
/.MediaSize
true
/DisablePageHandler
0
/%MediaDestination
null
/LeadingEdge
0
/%MediaSource
-mark-
true
-dict-
-device-
-dict-
-dict-
-dict-
-dict-
-mark-
-dict-
false
Result of putting.
false
-device-
-dict-
-dict-
-dict-
-dict-
-mark-
-dict-
false
Installing.
false
-device-
-dict-
-dict-
-dict-
-dict-
-mark-
-dict-
false
Finishing.
-dict-
-dict-
-dict-
-dict-
-mark-
-dict-
false
%Resolving: [1 0]
%Resolving: [2 0]
Processing pages 1 through 1.
Page 1
%Resolving: [1 0]
%Resolving: [2 0]
%Resolving: [3 0]
%Resolving: [3 0]
%Resolving: [3 0]
%Resolving: [3 0]
%Resolving: [3 0]
%Resolving: [21 0]
<<
/Font <<
/F1 11 0 R
/F2 19 0 R
>>
>>
endobj
%Resolving: [21 0]
%Resolving: [21 0]
%Resolving: [2 0]
Checking.
-dict-
-dict-
-mark-
-dict-
false
-dict-
Merging.
-dict-
-dict-
-mark-
-dict-
false
-dict-
Selecting.
-dict-
-dict-
-dict-
-mark-
-dict-
false
-dict-
Constructing.
-dict-
-dict-
-dict-
-dict-
-mark-
-dict-
false
-dict-
Putting.
[595.32 841.92]
/.MediaSize
false
/PageUsesTransparency
0
/%MediaDestination
null
/LeadingEdge
0
/%MediaSource
-mark-
true
-dict-
-device-
-dict-
-dict-
-dict-
-dict-
-mark-
-dict-
false
-dict-
Result of putting.
false
-device-
-dict-
-dict-
-dict-
-dict-
-mark-
-dict-
false
-dict-
Installing.
false
-device-
-dict-
-dict-
-dict-
-dict-
-mark-
-dict-
false
-dict-
Finishing.
-dict-
-dict-
-dict-
-dict-
-mark-
-dict-
false
-dict-
before exec 5014 3907700 2337535 1944912 621210 false 988 7 <1>
%Resolving: [21 0]
%Resolving: [21 0]
%Resolving: [21 0]
%Resolving: [20 0]
<<
/Filter /FlateDecode /Length 205 >>
stream
%FilePosition: 214718
endobj
0.75 0.0 0.0 -0.75 0.0 841.920044 cm
q
1.0 1.0 1.0 rg
120.0 96.0 m
673.76 96.0 l
673.76 130.08 l
120.0 130.08 l
h
f
Q
q
0.0 0.0 0.0 rg
BT
0 Tr
/F1 14.7206 Tf
%Resolving: [21 0]
%Resolving: [11 0]
<<
/BaseFont /CIDFont+F1 /DescendantFonts [
<<
/BaseFont /CIDFont+F1 /CIDSystemInfo <<
/Ordering 4 0 R
/Registry 5 0 R
/Supplement 0 >>
/CIDToGIDMap /Identity /FontDescriptor <<
/Ascent 952 /CapHeight 631 /Descent -268 /Flags 6 /FontBBox 6 0 R
/FontFile2 8 0 R
/FontName /CIDFont+F1 /ItalicAngle 0 /StemV 7 0 R
/Type /FontDescriptor >>
/Subtype /CIDFontType2 /Type /Font /W 9 0 R
>>
]
/Encoding /Identity-H /Subtype /Type0 /ToUnicode 10 0 R
/Type /Font >>
endobj
runEPS: Not DSC
rewriting TempMapsNotDef
...FINISHED...
*** code space ranges ***
0
[( 00 00) (377377)]
*** defined charmap ***
2
[[]]
%Resolving: [4 0]
(Identity) endobj
%Resolving: [5 0]
(Adobe) endobj
%Resolving: [8 0]
<<
/Filter /FlateDecode /Length 142545 /Type /Stream >>
stream
%FilePosition: 130
endobj
DSIG 322052 7620
EBDT 65784 591
EBLC 65176 608
GDEF 129084 1558
GPOS 130644 191408
GSUB 66472 62610
OS/2 488 96
cmap 17956 700
cvt 31480 1468
fpgm 18656 3371
gasp 65160 16
glyf 32948 6652
head 364 54
hhea 420 36
hmtx 584 17372
kern 52492 66
loca 39600 12890
maxp 456 32
meta 66376 96
name 52560 12565
post 65128 32
prep 22028 9451
findname: 6 = (Calibri)
findname: 0 = (251 2017 Microsoft Corporation. All Rights Reserved.rHebrew OpenType Layout logic copyright 251 2003 & 2007, Ralph Hancock & John Hudson. This layout logic for Biblical Hebrew is open source software unde...)
findname: 1 = (Calibri)
findname: 4 = (Calibri)
findname: 5 = (Version 6.20)
head 236 54
hhea 290 36
maxp 326 32
OS/2 358 96
hmtx 454 17372
cmap 17826 700
fpgm 18526 3371
prep 21898 9451
cvt 31350 1468
glyf 32818 6652
loca 39470 12890
name 52360 12565
post 64926 32
GSUB 64958 62610
[236 54 36 32 96 17372 700 3372 9452 1468 6652 12890 12566 32 62610]
/FontMatrix
[1.0 0.0 0.0 1.0 0.0 0.0]
/FontBBox
[-0.502929688 -0.3125 1.24023438 1.02636719]
/FontName
(Calibri)
/FontInfo
-dict-
/XUID
[107 42 -2147483647]
FAPIhook CIDFont+F1
Trying to render the font Font CIDFont+F1 with FAPI...
Font CIDFont+F1 is being rendered with FAPI=FreeType
%Resolving: [9 0]
[
286 286 497 400 400 391 410 410 334 ]
endobj
FAPIhook CIDFont+F1
Font CIDFont+F1 is mapped to FAPI=FreeType
1 0 0.0 -1 120.0 110.08 Tm
[
( 01232) -6.0 ( 01 36) -0.558594 ( 01220) -0.113281 ( 01232) -0.960938 ]
TJ
ET
Q
q
0.0 0.0 0.0 rg
BT
0 Tr
/F2 14.7206 Tf
%Resolving: [21 0]
%Resolving: [19 0]
<<
/BaseFont /CIDFont+F2 /DescendantFonts [
<<
/BaseFont /CIDFont+F2 /CIDSystemInfo <<
/Ordering 12 0 R
/Registry 13 0 R
/Supplement 0 >>
/CIDToGIDMap /Identity /FontDescriptor <<
/Ascent 1079 /CapHeight 700 /Descent -250 /Flags 6 /FontBBox 14 0 R
/FontFile2 16 0 R
/FontName /CIDFont+F2 /ItalicAngle 0 /StemV 15 0 R
/Type /FontDescriptor >>
/Subtype /CIDFontType2 /Type /Font /W 17 0 R
>>
]
/Encoding /Identity-H /Subtype /Type0 /ToUnicode 18 0 R
/Type /Font >>
endobj
%Resolving: [12 0]
(Identity) endobj
%Resolving: [13 0]
(Adobe) endobj
%Resolving: [16 0]
<<
/Filter /FlateDecode /Length 70879 /Type /Stream >>
stream
%FilePosition: 143287
endobj
DSIG 140604 7624
GDEF 148228 808
GPOS 149036 80254
GSUB 229292 34382
LTSH 19784 5260
MERG 263804 12
OS/2 520 96
VDMX 25044 1504
cmap 115976 100
cvt 120840 2594
fpgm 116076 2652
gasp 140588 16
glyf 123436 1980
hdmx 26548 89428
head 396 54
hhea 452 36
hmtx 616 19166
kern 135932 30
loca 125416 10514
maxp 488 32
meta 263676 128
name 135964 4592
post 140556 32
prep 118728 2112
findname: 6 = (SegoeUI)
findname: 0 = (251 2016 Microsoft Corporation. All Rights Reserved. )
findname: 1 = (Segoe UI)
findname: 4 = (Segoe UI)
findname: 5 = (Version 5.55)
head 236 54
hhea 290 36
maxp 326 32
OS/2 358 96
hmtx 454 19166
cmap 19620 100
fpgm 19720 2652
prep 22372 2112
cvt 24484 2594
glyf 27078 1980
loca 29058 10514
name 39572 4592
post 44164 32
GSUB 44196 34382
[236 54 36 32 96 19166 100 2652 2112 2594 1980 10514 4592 32 34382]
/FontMatrix
[1.0 0.0 0.0 1.0 0.0 0.0]
/FontBBox
[-0.572753906 -0.411132813 1.99902344 1.29833984]
/FontName
(SegoeUI)
/FontInfo
-dict-
/XUID
[107 42 -2147483646]
FAPIhook CIDFont+F2
Trying to render the font Font CIDFont+F2 with FAPI...
Font CIDFont+F2 is being rendered with FAPI=FreeType
%Resolving: [17 0]
[
20 20 539 ]
endobj
FAPIhook CIDFont+F2
Font CIDFont+F2 is mapped to FAPI=FreeType
1 0 0.0 -1 392.8 1022.72 Tm
[
( 00 24) -0.0625 ]
TJ
ET
Q
%Resolving: [21 0]
>>showpage, press <return> to continue<<
我不得不截断一些数据,因为它很长。我无法理解此输出,也许它没有用。
这个测试是用一个非常简单的PDF制作的:只是一个用MS Word编写的"TEST"文本。我尝试更改PDF文件,但所有文件的问题都相同。
我可以尝试什么来解决这个问题?
PDFDEBUG 输出没有用。在不设置 PDFDEBUG的情况下给出反向通道会更有用。
我注意到您说"仅对某些客户有此问题",这让我认为您可能没有按照 AGPL 的条款使用 Ghostscript,您应该在继续之前查看一下。
FWIW 我怀疑问题是代笔。mswinpr2 设备所做的只是呈现为位图,在打印机设备上下文中绘制该位图,并告诉它将自身发送到打印机。简单的判断方法是(在有问题的机器上(简单地让Ghostscript显示测试PDF文件的内容(-sDEVICE=display,或者干脆省略它(。如果这有效,那么它就不是Ghostscript,而是打印管道中的东西。
mswinpr2 设备非常陈旧,Windows 打印路径自编写以来发生了重大变化。可能是它根本无法在Windows 10或某些版本的Windows 10上运行,或者更高版本的Windows上的某些打印机驱动程序的某些怪癖无法按预期工作。
鉴于我认识的正在使用该设备的人数,我相信您的问题不是Ghostscript问题,这从您可以让它在其他机器上工作的事实中也很明显。