Подтвердить что ты не робот

Как создать таблицу с помощью Apache PDFBox

Мы планируем перенести наши утилиты для создания pdf файлов из iText в PDFBox (из-за проблем с лицензированием в iText). С некоторыми усилиями я смог написать и разместить текст, рисовать линии и т.д. Но создание таблиц с текстом, встроенным в ячейки таблицы, является проблемой, я просмотрел документацию, примеры, Google, Stackoverflow не смог найти ничего. Интересно, поддерживает ли PDFBox собственную поддержку для создания таблиц со встроенным текстом. Моим последним средством было бы использовать эту ссылку https://github.com/eduardohl/Paginated-PDFBox-Table-Sample

4b9b3361

Ответ 1

Благодаря ссылкам, предоставленным Тилманом. Используя API-интерфейс (https://github.com/dhorions/boxable), я смог создать таблицу, которую я хотел. Просто FYI я хотел создать таблицу с переменным количеством ячеек. Например, строка 1 будет иметь 2 ячейки, строка 2 может содержать 5 ячеек, а в строке 3 может быть всего 3 ячейки. Я был в состоянии сделать это легко. Я использовал Example1.java в ссылке, упомянутой выше.

Ответ 2

Так как для побочного проекта мне также требовались функции рисования таблиц, я сам реализовал небольшую библиотеку "ящик стола", которую я загрузил в github.

Для того, чтобы создать такую таблицу, например -... enter image description here

... вам нужен этот код. В том же файле вы также найдете код для этой таблицы:

enter image description here

Текущий "список возможностей" включает в себя:

  • установить шрифт и размер шрифта на уровне таблицы, а также на уровне ячейки
  • определить отдельные ячейки с bottom-, top-, left- и шириной правой границы отдельно
  • определить цвет фона на уровне строки или ячейки
  • определить отступы (сверху, снизу, слева, справа) на уровне ячеек
  • определить цвет границы (на уровне таблицы, строки или ячейки)
  • указать выравнивание текста (вертикальное и горизонтальное)
  • охват ячейки и охват строки
  • перенос текста и межстрочный интервал

Также не должно быть слишком сложно добавить недостающие элементы, например, иметь разные цвета границ для границ сверху, снизу, слева и справа, если это необходимо.