Программный вывод в MSword; чувствительный конец линии - PullRequest
3 голосов
/ 04 февраля 2012

Я пытаюсь использовать библиотеку MSWord Interop для написания приложения на C #, которое выводит специально отформатированный текст (изолированные арабские буквы) в файл.Проблема, с которой я сталкиваюсь, заключается в определении количества символов, оставшихся до переноса текста на новую строку.Мне нужно, чтобы слова были в одной строке, без переноса, что является поведением по умолчанию.Я нахожу это трудным, потому что когда у меня арабские буквы слова изолированы пробелами, они рассматриваются как отдельные символы и поэтому ведут себя иначе, чем связанные слова.

Любая помощь приветствуется.Спасибо.

Ответы [ 3 ]

2 голосов
/ 25 февраля 2012

Добавьте каждый символ в свой диапазон и затем проверьте количество строк в диапазоне

LineCount = range.ComputeStatistics(Word.WdStatistic.wdStatisticLines); 

Когда число строк изменяется, вы знаете, что оно было перенесено, и можете удалить последний символ или переформатировать соответственно

0 голосов
/ 22 февраля 2012

Я не уверен, что именно означает "арабские буквы слова, выделенного пробелами", но я предполагаю, что неразрывный пробел - это то, что вам нужно.

Подробнее ...

0 голосов
/ 21 февраля 2012

На самом деле я не знаю, как это ведет себя сегодня, но я написал кое-что для MSWork API, когда столкнулся с несколько странным фактом.На самом деле вы не можете это выяснить.В MSWord текст в документе всегда находится в абзацах.

Если вы введете текст в свой документ, вы не получите его только на странице, но эта страница по крайней мере будет содержать абзац для текста, который вы написали в него.

К сожалению, я не могу понять это снова, потому что у меня нет лицензии на MS Word в эти дни.

Попробуйте еще раз и посмотрите на проблему снова таким образом.

Надеюсь, это поможет, а если нет, предоставьте код, который генерирует ввод, и точную версию MSWord.1009 *

Привет, Кьельски

...