Como les va,
Pues estoy diseñando un pdf desde java , con itext 2.1.7, la imagen a continuación:
Que recomiendan usar para programarlo así en pdf
(http://i65.tinypic.com/2ur3v2h.jpg)
Esto lo programe solo con itext, pero según batik permite realizar los círculos en .svg y de manera más fácil ?
(http://i67.tinypic.com/sesjo4.jpg)
(https://files.slack.com/files-pri/T0T8MDAMA-F4K1GP8UW/pasted_image_at_2017_03_14_04_14_pm.png)
(https://files.slack.com/files-pri/T0T8MDAMA-F4TFF9NTH/pdfelhackernet.png)
La Solución fue usardescarga XD (https://github.com/zxh/iText/blob/master/iText%20in%20Action%202nd%20Edition.pdf)
iText in Action 2nd Edition.pdf con mucho café
Use esta dependencia maven
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.10</version>
</dependency>
Con este código puedo crear un circulo y sobreponerle texto o lo que se desee
private void createCircleScoreAndLabel
() throws DocumentException,
IOException { final BaseColor colorScoreLabel = PdfTypes.cvssScore(cve);
final String scoreText
= PdfTypes.
getCVSSLevel(cve.
getCvss()); //levelScore //x y
createRectangle(colorScoreLabel,70f, 540f , 190f , 40f);
//levelScore
createTextOver(scoreText, 25, 160f , 550f);
final PdfContentByte textCvssScore = writer.getDirectContent();
textCvssScore.saveState();
textCvssScore.beginText();
textCvssScore.setColorFill(BaseColor.WHITE);
textCvssScore.setFontAndSize(bf, 80);
textCvssScore.endText();
final String score
= PdfTypes.
formatScore(cve.
getCvss()); textCvssScore.
showTextAligned(Element.
ALIGN_CENTER, score, 160f, 645f, 0f
); textCvssScore.restoreState();
final PdfContentByte circleCvssScore = writer.getDirectContentUnder();
circleCvssScore.saveState();
//underCircle.setLineWidth(0.5f);
circleCvssScore.setColorStroke(BaseColor.BLACK);
circleCvssScore.setColorFill(PdfTypes.cvssScore(cve));
circleCvssScore.circle(160f, 670f, 75f);
circleCvssScore.fill();
circleCvssScore.restoreState();
}