Есть ли способ нарисовать прямоугольник в PdfPCell в iText (версия Java)? - PullRequest
2 голосов
/ 13 декабря 2010

Я нашел несколько уроков о том, как рисовать формы в iText, но мне нужно вставить их в ячейку, и я не знаю как. Спасибо за ваше рассмотрение этого вопроса.

Ответы [ 3 ]

8 голосов
/ 12 апреля 2011

Так как Google не дает хороших ответов для полного примера кода, и я потратил много времени, пытаясь выяснить, как это сделать (даже если объяснение Jes сейчас кажется довольно ясным ...), я подумалЯ опубликую пример, чтобы дальнейшие искатели могли иметь полный пример кода.

PdfPTable table = new PdfPTable(1);
table.setTotalWidth(450);

PdfTemplate template = cb.createTemplate(30, 30);
template .setLineWidth(0.5f);
template .rectangle(0, 0, 17f, 17f);
template .stroke();

Image img = Image.getInstance(template);        
Chunk chunk = new Chunk(img, 1f, 1f);

PdfPCell cell = new PdfPCell();
cell.addElement(chunk);
table.addCell(cell);
2 голосов
/ 13 декабря 2010

Изображение iText расширяет прямоугольник.Вы можете создать новую реализацию изображения.

Вы можете создать изображение из шаблона, и вы можете создать шаблон, используя байт содержимого.

Таким образом, вы можете создать шаблон, нарисовать на нем прямоугольник, создать изображение и затем установить изображение в нужной ячейке.Некоторое время назад я сделал нечто подобное с прямоугольным узором.

Редактировать: Если вам просто нужно заполнить всю ячейку, вы можете использовать методы setBackground и setBorder.

0 голосов
/ 13 декабря 2010

PdfPCell имеет метод для установки изображения PdfPCell#setImage(Image). Не могли бы вы использовать это?

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