Как рассчитать пробел на странице - PullRequest
0 голосов
/ 10 мая 2019

Я создаю таблицу, которая представляет собой оглавление со ссылками на номера страниц. Я добавляю аннотации к ссылкам на страницы для навигации ..

Boxable очень помог при визуализации таблицы.Мне удалось получить и аннотировать ссылки, работающие ..

У меня есть вопрос о некотором пустом месте между верхней частью страницы и верхней частью строки заголовка таблицы.Кажется, я не могу понять, как получить высоту этого пространства, используя любые API.Пространство намного больше, чем пространство моего значения topMargin.Ниже приведен фрагмент того, как я вычисляю координаты.Если вы заметили, я добавляю topMargin снова, когда мой tocPageNum равен> 0 (число индексов на pdfpages) при расчете lowerLeftY.Это пространство, которое я не могу объяснить, и я не могу понять, где его взять ..

//this is how the table is layed out.
float margin = 15;
float yStartNewPage = page.getMediaBox().getHeight() -(margin*2);          
float tableWidth = page.getMediaBox().getWidth() - (margin*2);      
boolean drawContent = true;     
float topMargin = 15;
float bottomMargin = 25;
float yPosition = yStartNewPage;          
BaseTable table = new BaseTable(yPosition, yStartNewPage, topMargin, bottomMargin, tableWidth, margin, document, page, true, drawContent);


//this is how to calculate the XY coordinates
float headerHeight = table.getHeader().getHeight();
float rowWidth = table.getRows().get(1).getWidth();
float rowHeight= table.getRows().get(1).getHeight();
float lastCellWidth table.getRows().get(1).getCells().get(3).getWidth();

pageUpperRightY = TOCPage.getMediaBox().getUpperRightY();
lowerLeftX= rowWidth+table.getMargin() -lastCellWidth;
upperRightX = lowerLeftX + lastCellWidth;
lowerLeftY = pageUpperRightY - ( (topMargin + table.getMargin()) +(currentRowNumber * rowHeight) + headerHeight);
if(tocPage >0)
   lowerLeftY += topMargin;
upperRightY = lowerLeftY + (rowHeight);

Есть ли способ найти это пространство с помощью API?Если я получу это, то эта работа прекрасно

...