У меня нет предыдущего опыта работы с iText 5, но я начал читать о iText 7 менее месяца назад. У меня довольно сложная задача по преобразованию дисплеев JPanel в главном JTabbedPane в pdf с несколькими одновременными требованиями. Я использую Swing, чтобы указать шрифт, и мне нужно встроить шрифт в PDF-файл. Мне нужно указать асимметричные поля PDF и равномерно распределить верхнее и нижнее, а также левое и правое поля, чтобы каждая панель JPanel динамически оставалась открытой на альбомной бумаге США. Моя универсальная программа на Java использует позиционирование всех компонентов JComponent по пикселям x и y, и программа динамически знает экстенты x и y каждого завершенного отображения JPanel в зависимости от содержимого данных нескольких составных JTables на каждой панели JPanel. При использовании 100 пикселей на дюйм мои панели JPanel не нуждаются в масштабировании, чтобы соответствовать бумаге формата Letter в альбомной ориентации с использованием указанных мной полей.
Я сделал три отдельных поиска на сайте developers.itextpdf.com с запросами «экспортировать JTable в pdf», «экспортировать JPanel в pdf» и «экспортировать JFrame в pdf», но не нашел результатов независимо от того, фильтрую я с помощью iText 5 или 7. То же запросы, введенные в обычное поле поиска интернет-браузера, дали несколько результатов из переполнения стека (например, How2: добавить JPanel в документ, а затем экспортировать в PDF) и другие источники. Однако все решения зависят от iText 5, потому что все они используют PdfTemplate и PdfContentByte, которых нет в iText 7, и другую версию PdfWriter с методом getInstance. Однако iText7 экспорт JPanel в pdf не показывает результатов в Stackoverflow. Поскольку я начал после того, как был представлен iText 7, я предпочитаю кодировать преобразование JPanel в pdf с помощью iText 7, если кто-то может указать мне, как это сделать.
Даже с решением iText 5, как я могу быть уверен, что мой единственный шрифт Java, указанный в моих JComponents, будет передан в промежуточный Graphics2D (если iText 7 также его использует) и правильно связан с вызовом встраивания шрифта iText. Дополнительные вещи, с которыми мне нужно повозиться, - это преобразование 100 пикселей на дюйм в JPanel в 72 точки на дюйм в PDF и размещение медиа-бокса PDF для правильных полей. Я надеюсь, что простая математика с особым вниманием к округлению - это все, что нужно для этой части. Пожалуйста, позвольте мне заранее поблагодарить за любую ближайшую помощь.