我正在尝试在itext 7中创建一个圆圈,然后将此圆圈放在文档中我需要的任何位置。
文档使用div进行布局,我已设法使用PdfCanvas
创建圆圈。
以下是我想要实现的内容的片段,并且可能有更好的方法来实现这一目标:
PdfDocument pdfDoc = new PdfDocument(writer);
Document doc = new Document(pdfDoc);
PdfPage pdfPage = pdfDoc.addNewPage();
Div div = new Div();
div.setBackgroundColor(Color.CYAN);
div.setHeight(10.0F);
div.add(new Paragraph(" ").setFont(PdfFontFactory.createFont(FontConstants.COURIER_BOLD)));
doc.add(div);
PdfCanvas canvas = new PdfCanvas(pdfPage);
Color white = Color.WHITE;
Color black = Color.BLACK;
canvas.setColor(white, true)
.setStrokeColor(black)
.circle(15, 800, 8)
.fillStroke();
canvas.beginText()
.setFontAndSize(PdfFontFactory.createFont(FontConstants.COURIER_BOLD), 10)
.setColor(black, true)
.moveText(15 - 3, 800 - 3)
.showText("1")
.endText();
doc.close();
如果有一个正确的方法可以将一些文本(数字)包装在一个可以放在div中的圆圈中,那么如果有人可以指向我的教程或我可以遵循的一些文档,我将很乐意改变这种方法。 / p>
答案 0 :(得分:0)
如果有人想要一种简单的方法来执行此操作,那么您可以覆盖draw
的{{1}}方法。
Div
绘制画布后,我需要对x和y位置进行一些修正,并对放在圆圈内的任何文本进行相同的修正。