PDFsharp поддерживает автоматический перенос текста при рисовании длинных текстовых частей:PDFsharp: Измерение высоты длинного текста со словом обернуть
textFormatter.DrawString(text, font, XBrushes.Black, new XRect(x, y, textAreaWidth, 1000), XStringFormats.TopLeft);
Это будет обернуть текст, если он больше, чем textAreaWidth
.
Как получить высоту текста, который только что был нарисован?
Я пробовал его с gfx.MeasureString()
, но нет перегрузки, которая поддерживает максимальную ширину. gfx.MeasureString()
возвращает размер текста без переноса текста.
Спасибо за любые подсказки.
Если одна страница не достаточно, и вы, возможно, потребуется больше страниц, то лучше переключатель прямо в MigraDoc. Если вы уверены, что одной страницы будет достаточно на все времена, просто добавьте параметр out в XTextFormatter.DrawString, который вернет высоту текста, который был только что нарисован. –