好的,我现在“知道”后记,现在一切都变得更有意义了。
我发现如果我改变颜色虽然会影响其他区域的背景,我现在知道sc,SC,cs和CS是程序:
/cs { /pdfFillXform exch def dup /pdfFillCS exch def
setcolorspace } def
/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def
setcolorspace } def
/sc { pdfLastFill not { pdfFillCS setcolorspace } if
dup /pdfFill exch def aload pop pdfFillXform setcolor
/pdfLastFill true def /pdfLastStroke false def } def
/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if
dup /pdfStroke exch def aload pop pdfStrokeXform setcolor
/pdfLastStroke true def /pdfLastFill false def } def
但是当我重新着色它的某些部分时,这似乎会影响其他地方的背景!我的任务是顺便将所有字体改为黑色(出于某种原因出现白色......我真的不明白为什么)。
这样的事情:
-0.925088 TJm
Q
/DeviceGray {} cs
[1] sc
q
[10 0 0 10 0 0] cm
[1 0 0 1 0 0] Tm
0 0 Td
[1 0 0 1 286.875 503.428] Tm
0 0 Td
/F11_0 11.9551 Tf
我希望改变1,我希望它是0。
任何想法我真的不知道该怎么做
源文件是pdf,虽然改了pdftops
由于
其他:
/Tj {
fCol
1 index stringwidth pdfTextMat idtransform pop
sub 1 index length dup 0 ne { div } { pop pop 0 } ifelse
pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32
4 3 roll pdfCharSpacing pdfHorizScaling mul add 0
pdfTextMat dtransform
6 5 roll Tj1
} def
这会渲染字符
(n) 7.471938 Tj
如果我可以在该程序中设置颜色,则弹出颜色,我已经设置好了!
我该怎么做?
----------------对未来的人---------
/Tj {
/DeviceGray {} cs
[0] sc
fCol
1 index stringwidth pdfTextMat idtransform pop
sub 1 index length dup 0 ne { div } { pop pop 0 } ifelse
pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32
4 3 roll pdfCharSpacing pdfHorizScaling mul add 0
pdfTextMat dtransform
6 5 roll Tj1
} def
这是我的修复,我把设备灰色部分放在底部,每次使用这个Tj程序时都会将它设置为黑色(比如....每个字母!)并且不会(似乎)影响其他任何东西
我的白文问题解决了! http://www.adobe.com/products/postscript/pdfs/PLRM.pdf
值得一读! Postscript的规范!