我正在使用一些PDF创建库,并对它们进行调整以做更多的工作。我目前正在尝试对形状进行着色处理。在读了很多例子之后,我似乎无法让它发挥作用。这是我目前创建的一个简单的PDF,应该有一个阴影的正方形,但它是空白的。有人能告诉我为什么吗?
%PDF-1.3
3 0 obj
<</Type /Page
/Parent 1 0 R
/Resources 2 0 R
/Contents 4 0 R>>
endobj
4 0 obj
<</Length 42>>
stream
2 J
0.57 w
10 10 50 50 re
q
W n
/Sh1 sh
Q
endstream
endobj
1 0 obj
<</Type /Pages
/Kids [3 0 R ]
/Count 1
/MediaBox [0 0 595.28 841.89]
>>
endobj
5 0 obj
<<
/FunctionType 2
/Range [0.0 1.0]
/Domain [0.0 1.0]
/C0 [0.1]
/C1 [0.0705882]
/N 1
>>
endobj
6 0 obj
<<
/ShadingType 2
/ColorSpace /DeviceRGB
/Coords [15.000 15.000 45.000 30.000]
/Function 5 0 R
/Domain [0 1]
/Extend [true true]
>>
endobj
2 0 obj
<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font <<
>>
>>
endobj
/Shading <<
/Sh1 6 0 R
>>
7 0 obj
<<
/Producer (New Affinity xxxxxxxxxxxxxxxxxx [www.newaffinity.com])
/CreationDate (D:20211113101858)
>>
endobj
8 0 obj
<<
/Type /Catalog
/Pages 1 0 R
/OpenAction [3 0 R /FitH null]
/PageLayout /OneColumn
>>
endobj
xref
0 9
0000000000 65535 f
0000000177 00000 n
0000000516 00000 n
0000000009 00000 n
0000000087 00000 n
0000000264 00000 n
0000000367 00000 n
0000000620 00000 n
0000000740 00000 n
trailer
<<
/Size 9
/Root 8 0 R
/Info 7 0 R
>>
startxref
843
%%EOF
PDF文件不正确,/Shading资源字典在对象外部。
2 0 obj
<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font <<
>>
>>
endobj
/Shading <<
/Sh1 6 0 R
>>
把它放在物体内部:
2 0 obj
<<
/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << >>
/Shading << /Sh1 6 0 R >>
>>
endobj
将着色颜色空间设置为/DeviceGray,设置/C0[0],设置/C1[1](用于演示以增加可见性(,并显示着色
如果要使用/DeviceRGB,则/C0和/C1阵列必须有3个元素,/Range必须有6个元素。