ABCPDF.Net AddText Контроль переноса
Я использую ABCPDF.net для создания PDF страниц. У нас проблема с системой переносов.
Например, если мы добавим текст с длинными словами, используя
doc.AddText("This is a Verylongwordwhichdoesntfit");
и Rect слишком мал, мы получаем:
это очень долго
rdwhichdoesntfit.
Мой вопрос сейчас: могу ли я контролировать, где начинается новая строка. чтобы это разрывалось между словом и словом. И могу ли я сказать ему использовать - до перерыва, как это?
это очень долго
rdwhichdoesntfit.
Большое спасибо.
2 ответа
Подробности в документации здесь:
http://www.websupergoo.com/helppdfnet/source/3-concepts/b-htmlstyles.htm
Во-первых, с .AddText()
нет возможности переноса слов вообще. Вы должны переключиться на .AddHtml()
,
Во-вторых, нет, у abcpdf нет никаких сведений о переносе слов; ему можно сказать разбивать строки после определенных символов (по умолчанию это пробел), но он не знает английских слов или слогов. См. http://www.websupergoo.com/helppdfnet/source/3-concepts/b-htmlstyles.htm (поиск canBreakAfter
по этой ссылке)
Если вы можете редактировать свой текст, вы можете использовать мягкие дефисы
http://www.websupergoo.com/helppdfnet/source/3-concepts/b-htmlstyles.htm, последняя строка раздела "Символы"
Если вам требуется точный контроль переноса слов, вы можете использовать символ мягкого переноса -
­
, Этот символ невидим и указывает точку, в которой фрагмент текста может быть разумно разбит.
Например, вы бы использовали эту команду, и она может сломаться в любом месте, где ­
появляется:
doc.AddHtml("This is a Very­long­word­which­doesnt­fit");
Но даже это не добавит видимых дефисов на перерыве, я не думаю.