Размещение текста (цифр) в указанных местах - PullRequest
0 голосов
/ 17 сентября 2018

С помощью цикла 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 голосов
/ 17 сентября 2018

Существует много разных способов добавления текста в абсолютных позициях с помощью iText 7.

Поскольку у вас уже есть объект PdfCanvas, вы можете использовать очень низкоуровневый подход, который состоит в написании строки синтаксиса PDFпо строке:

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

Это объясняется в главе 3 учебного пособия по началу работы с iText 7 .

Запись низкоуровневого синтаксиса PDF подвержена ошибкам, когдаВы не знаете PDF-ссылку наизусть.Существует также более простой способ:

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

Теперь вам не нужно беспокоиться о создании текстового объекта с использованием beginText() и endText();iText заботится обо всем низкоуровневом синтаксисе.

Это объясняется в главе 2 учебного пособия по строительным блокам .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...