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");

Но даже это не добавит видимых дефисов на перерыве, я не думаю.

Другие вопросы по тегам