将 ExtGState 分配给 PDF 中的笔划不起作用

Assigning an ExtGState to a stroke in a PDF does not work

我正在尝试将 ExtGState 对象分配给 pdf 图像流中的笔画。 ExtGState 应该设置笔划的混合模式。但无论如何,它不起作用,PDF 规范也无济于事。 我希望这里有人知道该怎么做。

这是我的 ExtGState 对象:

    5 0 obj
      << /Type /ExtGState
         /BM Multiply
      >>
    endobj

我的页面处理集:

4 0 obj
  << /ProcSet [/PDF /Text]
     /ExtGState << /GS1 5 0 R
                >>
  >>
endobj

最后是图像流

6 0 obj
  <<   >>
stream
 3 w
 0 0 0 RG
 1 J
 1 j
 178 2658 m
 310 2322 l 
 S


 10 w
0.13725490196078433 0.4196078431372549 0.5568627450980392 RG
 1 J
 1 j
 /GS1 gs
 [3 5] 6 d
 152 2423 m
 400 2600 l
 S
endstream

endobj

我正在使用 /GS1 gs 以便将 ExtGState 对象分配给我的第二笔画。第一笔只是为了检查混合模式是否有效(无效)。

在这里你可以找到我的完整 pdf:https://pastebin.com/nwGBb7vB

它应该是这样的:

您的图形状态字典中存在语法错误:

5 0 obj
  << /Type /ExtGState
     /BM Multiply
  >>
endobj

Multiply 需要是一个 PDF 名称对象。特别是它必须以斜杠开头:

5 0 obj
  << /Type /ExtGState
     /BM /Multiply
  >>
endobj

此更改后您将获得: