我正在尝试将文本注释字符串对齐在矩形的中心,但始终设置在左上角
PdfContentByte pcb = stamper.getOverContent(page);
PdfAnnotation annotation = PdfAnnotation.createFreeText(stamper.getWriter(), rectangle, "Mayank Pandey", pcb);
annotation.put(PdfName.Q, new PdfNumber(PdfFormField.Element.ALIGN_MIDDLE));
显示pdf中左上角的文字:
答案 0 :(得分:0)
你设置
annotation.put(PdfName.Q, new PdfNumber(PdfFormField.Element.ALIGN_MIDDLE));
常量Element.ALIGN_MIDDLE
定义为
/**
* A possible value for vertical alignment.
*/
public static final int ALIGN_MIDDLE = 5;
但是,自由文本注释中 Q 的值指定为:
问强> 整数 (可选; PDF 1.4)指定 quadding (对齐)形式的代码,用于显示注释的文本:
0左对齐
1居中
2右对齐
默认值:0(左对齐)。
因此,您使用的值5
根本不是有效的 Q uadding值!
此外, FreeText Q uadding甚至不支持您想要实现的目标,在矩形中心对齐,它只允许选择水平对齐,而不是垂直对齐。
因此,为了您的目标,您必须使用自定义外观(如果存在,则优先使用)。