Мы используем Migradoc для создания PDF-файлов, содержащих разделы заголовков, чтобы заголовки отображались на каждой странице.Получение высоты динамического заголовка из PDF
Высота содержимого в заголовке может отличаться. Я устанавливаю положение содержимого тела, используя document.DefaultPageSetup.TopMargin
. Однако в настоящее время это фиксированное значение «наилучшего предположения». Иногда содержимое больше, вызывая перекрытие.
Мне нужен способ расчета высоты заголовка, так что я могу установить значение document.DefaultPageSetup.TopMargin
соответствующим образом.
Я предполагаю, что мне придется сделать это за два прохода - например. генерировать PDF-файл, проверять высоту отображаемого заголовка, а затем генерировать PDF-файл, снова устанавливая document.DefaultPageSetup.TopMargin
.
Невозможно увидеть способ проверки высоты заголовка, как только я предоставил PDF в первый раз. Я замечаю, что есть метод, называемый GetRenderInfoFromPage()
в DocumentRenderer
. Это похоже на то, что я хочу, за исключением того, что он не включает данные заголовка. Если в первом поколении PDF я просто представляю заголовок на первой странице и без содержимого, то GetRenderInfoFromPage(1)
возвращает пустой массив. Если я вызываю его на любую другую страницу, кроме 1, он возвращает null
.
Мы также используем PdfSharp
в качестве окончательного пропуска, чтобы добавить знак воды. Так потенциально, если я могу запросить высоту заголовка, используя это, - это тоже может работать? Я не могу найти способ сделать это, хотя.
Кто-нибудь знает, можно ли запросить высоту отображаемого заголовка?