0 1 2 3
* (x1,y1) *************** (x2,y2)
* * *
* * *
* 4 5 * * 6 7
* (x3,y3) *************** (x4,y4)
对于PdfAnnotation或PDFAnnotation的float数组是否正确?我尝试创建一个pdf注释,但注释是凹的而不是像通常使用adobe reader或acrobat创建的那样凸出
答案 0 :(得分:1)
Pdf规范在四边形坐标上说明:
每个四边形的坐标按顺序
给出x1 y1 x2 y2 x3 y3 x4 y4
以逆时针顺序指定四边形的四个顶点。出于定位目的,例如在应用下划线边框样式时,四边形的底部是由(x1,y1)和(x2,y2)形成的线。 / p>
(ISO 32000-1中第12.5.6节的多个小节)
因此:
* 6 7 4 5
* (x4,y4) *************** (x3,y3)
* * *
* * *
* 0 1 * * 2 3
* (x1,y1) *************** (x2,y2)
答案 1 :(得分:0)
我使用iText发现的内容如下:
* 4 5 6 7
* (x3, y3) ***************** (x4, y4)
* * *
* * *
* * *
* 0 1 * * 2 3
* (x1, y1) ***************** (x2, y2)
使用此顺序使我的高光输出具有与Adobe Acrobat中的高光标注工具相同的凸效果。
答案 2 :(得分:0)
我遇到了与iText 2.1.7相同的问题,这让我发疯了。所描述的jrubins命令对我不起作用,它产生了凹形注释。最终我找到了正确的订单,这是lr> ll>你的> ul。
/*
* PDF Specification Order - results in broken annotation
*
* 7,8 5, 6
* (x,y)___________(x,y)
* | |
* | |
* |___________|
* (x,y) (x,y)
* 1, 2 3, 4
*/
/*
* Concave order - results in working, but concave annotation; don't know why
*
* 5, 6 7, 8
* (x,y)___________(x,y)
* | |
* | |
* |___________|
* (x,y) (x,y)
* 1, 2 3, 4
*/
/*
* Convex order - this is the one working like expected:
*
* 7,8 5, 6
* (x,y)___________(x,y)
* | |
* | |
* |___________|
* (x,y) (x,y)
* 3, 4 1, 2
*/
float[] quad = { rect.getRight(), rect.getBottom(), rect.getLeft(),rect.getBottom(), rect.getRight(), rect.getTop(),
rect.getLeft(), rect.getTop() };