将文字(数字)放在指示的位置

时间:2018-09-17 14:34:05

标签: java pdf itext itext7

使用for循环,对矩阵X中存储的一组坐标进行迭代,并在指示的位置绘制圆(使用itextpdf):

...
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(fileName));

Document document = new Document(pdfDoc, new PageSize(one));

PdfCanvas canvas = new PdfCanvas(pdfDoc.addNewPage());

for (int i = 0; i < total; i++) {   

    canvas.circle(X[d * i + axisX], X[d * i + axisY], 1.0);
    canvas.fillStroke();
    // -- numbers (i+1) should be drawn beside the circles

}

如何使用上面的for循环在数字旁边写数字,如上所示?

1 个答案:

答案 0 :(得分:1)

使用iText 7在绝对位置添加文本有很多不同的方法。

由于已经有了PdfCanvas对象,因此可以使用非常底层的方法,该方法包括逐行编写PDF语法:

canvas.beginText();
canvas.moveText(x, y);
canvas.showText("1");
canvas.endText();

这在chapter 3 of the iText 7 jump-start tutorial中有解释。

当您根本不了解PDF参考时,编写低级PDF语法很容易出错。还有一种更简单的方法:

document.showTextAligned(new Paragraph("1"), x, y, TextAlignment.CENTER);

现在,您不必担心使用beginText()endText()构造文本对象; iText负责所有底层语法。

这在chapter 2 of the building blocks tutorial中有解释。