Пытаюсь получить весь текст из документа .docx.
using (var wordDocument = WordprocessingDocument.Open(fileName as string, false))
{
//получаем весь текст
var text = wordDocument.MainDocumentPart.Document.Body.InnerText;
Console.WriteLine(rawText);
}
Весь текст действительно получается и записывается в переменную, но, он получается не форматированным и на выходе получаем что-то типа этого:
Хотя в самом word'овском файле:
Я предполагал, что при получении текста он будет хотя бы с учетом перевода строки, но оказалось все не так просто.
Какие есть варианты, чтобы перевод строки сохранялся?
Попробуйте таким способом:
public string GetPlainText(OpenXmlElement element)
{
StringBuilder text = new StringBuilder();
foreach (OpenXmlElement section in element.Elements())
{
switch (section.LocalName)
{
// Text
case "t":
PlainTextInWord.Append(section.InnerText);
break;
case "cr": // Carriage return
case "br": // Page break
PlainTextInWord.Append(Environment.NewLine);
break;
// Tab
case "tab":
PlainTextInWord.Append("\t");
break;
// Paragraph
case "p":
PlainTextInWord.Append(GetPlainText(section));
PlainTextInWord.AppendLine(Environment.NewLine);
break;
default:
PlainTextInWord.Append(GetPlainText(section));
break;
}
}
return text.ToString();
}
var text = GetPlainText(wordDocument.MainDocumentPart.Document.Body);
Console.WriteLine(text);
Источник
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пишу программу на Windows Forms C# в которой используются хуки APIНа винде все работает конечно, но интересует вопрос о совместимости с другими ОС, будет...
В моем проекте на WPF, есть кнопка, на LeftMouseDown срабатывает событие, в котором спустя 3 секунды пока кнопка мыши зажата, выполнится метод (отправим...
ЗдравствуйтеНе могли бы вы мне показать небольшой пример кода приложения, сделанного на WPF (C#) согласно паттерну MVVM и следующим условиям:
Я подключаюсь к MySQL базе данных, получаю из нее данныеВ первом столбце (Data) таблицы Data у меня должен быть файл, в котором будет много значений