Добавление эллиптических фигур в PDF на Java
Contents
[
Hide
]
Добавление контуров эллипсов
- Создайте новый PDF Document.
- Добавьте Page в документ.
- Создайте контейнер Graph и добавьте его на страницу.
- Создайте фигуру Ellipse и настройте её геометрию.
- Добавьте Ellipse в контейнер Graph.
- Установите свойства фигуры, необходимые для примера, включая Color и TextFragment.
- Сохраните выходной PDF Document.
public static void addEllipse(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
Graph graph = new Graph(400.0, 400.0);
graph.setBorder(new BorderInfo(BorderSide.All, Color.getGreen()));
Ellipse ellipse1 = new Ellipse(150, 100, 120, 60);
ellipse1.getGraphInfo().setColor(Color.getGreenYellow());
ellipse1.setText(new TextFragment("Ellipse"));
graph.getShapes().addItem(ellipse1);
page.getParagraphs().add(graph);
document.save(outputFile.toString());
}
}
Полный пример добавляет два разных контурных эллипса к одному и тому же графу.
Добавление заполненных эллипсов
createEllipseFilled заполняет два эллипса Color.getGreenYellow() и Color.getDarkRed().
Добавление текста внутри эллипсов
- Создайте новый PDF Документ.
- Добавьте Страница в документ.
- Создайте TextFragment и установите необходимые параметры форматирования текста.
- Создайте контейнер Граф и добавьте его на страницу.
- Создайте фигуру Эллипс и настройте её геометрию.
- Добавьте Эллипс в контейнер Граф.
- Сохраните выходной PDF Документ.
public static void addTextInsideEllipse(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
Graph graph = new Graph(400.0, 400.0);
graph.setBorder(new BorderInfo(BorderSide.All, Color.getGreen()));
TextFragment textFragment = new TextFragment("Ellipse");
textFragment.getTextState().setFont(FontRepository.findFont("Helvetica"));
textFragment.getTextState().setFontSize(24);
Ellipse ellipse1 = new Ellipse(100, 100, 120, 180);
ellipse1.getGraphInfo().setFillColor(Color.getGreenYellow());
ellipse1.setText(textFragment);
graph.getShapes().addItem(ellipse1);
page.getParagraphs().add(graph);
document.save(outputFile.toString());
}
}