如何指定iText PdfAnnotation Polyline顶点?

时间:2014-08-22 13:07:06

标签: java itext

我试图创建一个PdfAnnotation,包括一个简单的X模式,我假设它是POLYLINE的SUBTYPE(一个或多个不连续的线段?)。如果是这样,那么我认为我提供的顶点不正确。如果我像这样指定顶点:

put(PdfName.SUBTYPE, PdfName.POLYGON);
float[] coords = { 100f, 100f, 200f, 200f, 100f, 200f, 200f, 100f };
put(PdfName.VERTICES, new PdfArray(coords));

生成以下内容:

2 0 obj
<</C[1 1 0]/Type/Annot/Contents(contents)/Title(title)/Subtype/Polygon/Rect[99 99 201 201]/Vertices[100 100 200 200 100 200 200 100]>>

我按预期获得黄色沙漏形状,正确加载注释标题/内容,注释出现在Acrobat注释列表中。

但如果我将POLYGON更改为POLYLINE(希望获得X而不是沙漏),则会生成(几乎)相同的PDF代码(Polyline替换Polygon):

2 0 obj
<</C[1 1 0]/Type/Annot/Contents(contents)/Title(title)/Subtype/Polyline/Rect[99 99 201 201]/Vertices[100 100 200 200 100 200 200 100]>>

但是会出现一个问号而不是任何线段,并且注释列表中不会显示注释。

我尝试过各种变体,例如尝试创建PdfArray的PdfArray,首先放置所有x-coords,然后放置所有y-coords等。我已经加载了itext-pdfa-5.3.4 jar。

1 个答案:

答案 0 :(得分:0)

只是一个疯狂的猜测,但在iText sourcecode PolyLine中写的是大写的L,可能只是它。