Я надеюсь определить, поместится ли фрагмент текста внизу страницы, прежде чем я нарисую его на странице и проверю его положение по оси y.
Кто-нибудь знает, возможно ли это с ABCPDF?
Я надеюсь определить, поместится ли фрагмент текста внизу страницы, прежде чем я нарисую его на странице и проверю его положение по оси y.
Кто-нибудь знает, возможно ли это с ABCPDF?
Насколько я помню, когда я работал с PDF (например... 6-7 лет назад с ABCPDF), мы использовали выделенное время с методами Graphics.MeasureString.
Вы можете взглянуть на это на MSDN
По моему опыту, лучший способ справиться с этим — не беспокоиться о том, подойдет ли он, пытаясь измерить.
Это не является непреодолимым, потому что вы можете связывать текст на страницах, но это другой вопрос.
Если Graphics.Measurestring не работает для вас, другой вариант — буквально измерить размер определенных шрифтов, чтобы вы знали, сколько букв помещается в строку, а затем могли определить, сколько строк у вас будет в данном прямоугольнике, и размер прямоугольник соответственно, используя что-то вроде yVal = lineCount * 5.
Если я правильно помню, по какой-то причине я не мог использовать функцию измерения строки, поэтому мне пришлось сделать это неудобным способом, но в моей ситуации, когда у меня было несколько ящиков разного размера, это сработало очень хорошо.
Да, ABCPDF сообщит вам эту информацию: yourPdfDocInstance.AddHtml() вернет 0 (и не добавит никакого текста), если текст не может быть добавлен в текущий прямоугольник.