shaileshshinde Ответов: 1

Проблема разрыва строки для преобразования word в блокнот для большого текстового файла содержимого


когда есть большой текстовый контент .doc / .docx, он не получает разрыва строки после каждой строки.

Предположим, что линии являются :

файл Word:

большая постоянная потеря для большей части тех, чья промышленность или капитал в настоящее время заняты этим. То
внезапная потеря работы даже для судов, которые ввозят восемьдесят две тысячи бочек табака.,
которые превышают и превышают потребление Великобритании, можно было бы только чувствовать очень чувствительно. Такие несчастные
последствия всех предписаний меркантильной системы! Они не только вносят очень опасные расстройства
в состояние тела политического, но расстройства, которые часто трудно исправить, не вызывая

ФАЙЛ БЛОКНОТА ОТОБРАЖАЕТСЯ СЛЕДУЮЩИМ ОБРАЗОМ:

большая постоянная потеря для большей части тех, чья промышленность или капитал в настоящее время заняты этим. Внезапная потеря работы даже для судов,которые ввозят восемьдесят две тысячи бочек табака, превышающих потребление Великобритании, может быть только очень чувствительна. Таковы печальные последствия всех предписаний меркантильной системы! Они не только вносят очень опасные расстройства в состояние политического организма, но и расстройства, которые часто трудно исправить, не вызывая их.

Что я уже пробовал:

частный недействительными processWordToNotepad()
{
строки strNotepadPath;
строки strFileExtension;


lblStatus.Text = "Работает..";
int FilesCount = 0, TotalFiles = 0;

if (txtSource.Text.Length == 0 || txtDestination.Text.Length == 0)
{
lblStatus.Text = "Ошибка";
Ящик для сообщений.Show("Пожалуйста, выберите исходные и целевые папки файлов!", "ошибка!", MessageBoxButtons.Хорошо, MessageBoxIcon.Восклицание);
lblStatus.Текст = "Готово.. ";
вернуть;
}

if (FileNames == null)
{
Ящик для сообщений.Show("не было файлов для обработки.", "ошибка", MessageBoxButtons.Хорошо, MessageBoxIcon.Восклицание);
lblStatus.Text = "Готово";
вернуть;
}


если (dpSaveAs.Свойства selectedIndex == -1)
{
Ящик для сообщений.Show("Select Save as Type", "Error", MessageBoxButtons.Хорошо, MessageBoxIcon.Ошибка);
вернуть;
}
еще
{
strFileExtension = dpSaveAs.Text;
}

пробовать
{
strFileExtension = dpSaveAs.Элемент.Метод toString();
TotalFiles = Имена Файлов.Рассчитывать();
мое слово.Приложение app = новое myWord.Приложение();

foreach (string strFileName в именах файлов)
{
string strText;
lblStatus.Text = "Processing" + FilesCount++ + " of "+ TotalFiles + " files..";
strFileExtension = dpSaveAs.Text;

strNotepadPath = строка.Concat(StrDestinationPath, "\\", Path.GetFileNameWithoutExtension(Path.GetFileName(strFileName)), strFileExtension);

FileStream fsOverwrite = новый FileStream(strNotepadPath, FileMode.Создавать);
StreamWriter strmWrite = null;
переключатель (dpEncoding.Текст)
{
корпус "ASCII":
strmWrite = новый StreamWriter(fsOverwrite, Encoding.ASCII);
перерыв;
кейс "BigEndianUnicode":
strmWrite = новый StreamWriter(fsOverwrite, Encoding.BigEndianUnicode);
перерыв;
дело "по умолчанию":
strmWrite = новый StreamWriter(fsOverwrite, Encoding.По умолчанию);
перерыв;
дело "Юникод":
strmWrite = новый StreamWriter(fsOverwrite, Encoding.Юникод);
перерыв;
чехол "кодировках utf32":
strmWrite = новая модулю записи StreamWriter(fsOverwrite, кодирование.Кодировках utf32);
перерыв;
корпус "UTF7":
strmWrite = новый StreamWriter(fsOverwrite, Encoding.UTF7);
перерыв;
случай "в формате utf8":
strmWrite = новый StreamWriter(fsOverwrite, Encoding.Кодировке utf8);
перерыв;
}

strText = ReadTextFromDocument(strFileName, app);
strText = strText.Replace("\v", Environment.NewLine);// "\n");
strmWrite.Write(strText);
strmWrite.Закрывать();
fsOverwrite.Закрывать();
}
приложение.Бросить();
Ящик для сообщений.Показать("Процесс Завершен. "+ TotalFiles + "файлы преобразованы", "успешно завершены", MessageBoxButtons.Хорошо, MessageBoxIcon.Информация);
}

поймать (исключение бывший)
{
Ящик для сообщений.Выставка(экс.Сообщение + "Приложение\Н перезагрузите и попробуйте снова", "ошибка", MessageBoxButtons.Хорошо, MessageBoxIcon.Ошибка);
вернуть;
}
наконец
{
txtDestination.Текст = "";
txtSource.Текст = "";
lblStatus.Текст = "Готово..";
дпсавеас.SelectedItem = null;
}
}

частная строка ReadTextFromDocument(string strPath, myWord.Приложение приложение )
{
пробовать
{
мое слово.Документ doc;
объект отсутствует = тип.отсутствует;
объект только для чтения = true;

путь к объекту = strPath;
doc = приложение.Документы.Реф открыть(путь справ, отсутствует ссылка, только для чтения, ссылка отсутствует, ссылка отсутствует, ссылка отсутствует, ссылка отсутствует, ссылка отсутствует, ссылка отсутствует, ссылка отсутствует, ссылка отсутствует, ссылка отсутствует, ссылка отсутствует, ссылка отсутствует, ссылка отсутствует, ссылка отсутствует);
текст строки = doc.Содержание.Текст;
док.Закрывать();

возвращаемый текст;
}
поймать (исключение бывший)
{
бросок экс;
}
}

1 Ответов

Рейтинг:
0

Dave Kreskowiak

В Word разрывы строк происходят только в конце абзаца, а не внутри абзаца по строкам. Это позволяет повторно пропускать текст, если размеры страницы изменяются.

Блокнот, с включенным переносом слов, делает то же самое, за исключением того, что его "страница" - это ширина окна Блокнота.


shaileshshinde

я так не думаю.
Каждая строка получает разрыв строки.
Я видел много приложений в интернете, делающих разрыв строки после каждой строки.

Richard MacCutchan

Может быть, но это не так, как блокнот делает это. Это достаточно легко проверить, просто изменив размер окна Блокнота несколько раз.

Dave Kreskowiak

Опять же, в Word нет разрывов строк из-за переноса слов. Существуют разрывы абзацев, жесткие разрывы страниц и другие якоря, которые могут разбить текст абзаца на несколько разделов, например, на линейное изображение или диаграмму, но ничего на построчной основе.

О, но не поймите меня неправильно, в Word возможны разрывы строк, но вы должны явно поместить их туда при вводе или редактировании текста. Слово не делает этого автоматически. Чтобы вставить разрыв строки, вы должны нажать Shift-Enter в точке вставки.

Получайте удовольствие, пытаясь найти то, чего там нет.