Som*_*ent 4 pdf pdf-generation

我创建了一个字母Z形式的墨迹注释,如上所示,但是,Z的角是圆角的.为什么会这样?如何避免这种额外的美化,使角落保持锋利,并通过直线连接点?
PDF代码:
%PDF-1.6
%??
1 0 obj
<</Type/Catalog/Pages 2 0 R>>
endobj
2 0 obj
<</Type/Pages/Kids[3 0 R]/Count 1>>
endobj
3 0 obj
<</Type/Page/Parent 2 0 R/Resources<<>>/MediaBox[0 0 500 800]/Annots[4 0 R]>>
endobj
4 0 obj
<</Type/Annot/Subtype/Ink/Contents(<enter description here>)/InkList[[150 300 250 300 150 200 250 200]]/Rect[200 250 300 150]/P 3 0 R/F 4/C[1 0 0]>>
endobj
xref
0 5
0000000000 65536 f
0000000017 00000 n
0000000063 00000 n
0000000115 00000 n
0000000209 00000 n
trailer
<</Size 5/Root 1 0 R>>
startxref
374
%%EOF
Run Code Online (Sandbox Code Playgroud)
我不确定这里发生了什么,现在没时间调查了.
但是这里有一些即时观察作为额外的数据点:
更新:
好的,我快速浏览了PDF-1.7的官方ISO规范.它说这是关于/Subtype /Ink注释' /InkList:
一组n个数组,每个数组代表一条描边路径.每个数组应该是默认用户空间中的一系列交替的水平和垂直坐标,指定沿路径的点.绘制时,点应通过直线或曲线以依赖于实现的方式连接.
(来自第12.5.6.13节"墨水注释",我的重点)
因此,一个实现显示直线是完全"合法的",另一个显示曲线.:-(
叹...
更新2:
因此,如果要强制Z形状显示为所有实现的直线,则需要绘制3条不同的直线,每条直线由不同的数组表示,并将这3个数组放入容器数组中...
更改代码的这一部分:
/InkList
[
[150 300 250 300 150 200 250 200]
]
Run Code Online (Sandbox Code Playgroud)
对此:
/InkList
[
[150 300 250 300]
[250 300 150 200]
[150 200 250 200]
]
Run Code Online (Sandbox Code Playgroud)
你的Z形将显示尖角.