将画布放在Div元素中

时间:2018-04-30 11:43:44

标签: geometry itext7

我正在尝试在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>

1 个答案:

答案 0 :(得分:0)

如果有人想要一种简单的方法来执行此操作,那么您可以覆盖draw的{​​{1}}方法。

Div

绘制画布后,我需要对x和y位置进行一些修正,并对放在圆圈内的任何文本进行相同的修正。