Использование DocumentFormat.OpenXml в C# .NET для сохранения специальных символов UTF-8C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Использование DocumentFormat.OpenXml в C# .NET для сохранения специальных символов UTF-8

Сообщение Anonymous »

По какой-то причине OpenXML не сохраняет специальные символы в файл, когда document.MainDocumentPart.Document.Save(); называется, ЕСЛИ я использую странные символы utf-8, такие как ʧ.
Отладка кода, внутреннего текста и внутреннего xml, и все кажется хорошо перед сохранением, но после сохранения странные символы не сохраняется (хотя обычные символы изменяются и сохраняются).
Есть идеи, что я делаю неправильно? Я попробовал пару нормализаций и убедился, что все в формате utf-8, но у меня немного нет идей...

Код: Выделить всё

using (WordprocessingDocument document = WordprocessingDocument.Open(wordDocumentPath, true))
{
var body = document.MainDocumentPart.Document.Body;

for (int i = 0; i < bemenetLines.Length; i++)
{
string searchText = bemenetLines[i].Normalize(NormalizationForm.FormC);
if (searchText == "cs")
{; }
string replacementText = mehLines[i].Normalize(NormalizationForm.FormC);

ReplaceTextInWord(body, searchText, replacementText);
document.MainDocumentPart.Document.Save();
}

}

MessageBox.Show("Replacement completed successfully!", "Success");

Код: Выделить всё

private void ReplaceTextInWord(Body body, string searchText, string replacementText)
{
try
{
foreach (var textElement in body.Descendants())
{
string textContent = textElement.Text.Normalize(NormalizationForm.FormC);

if (textContent.Contains(searchText))
{
textElement.Text = textContent.Replace(searchText, replacementText);
}
}
}
catch (Exception ex)
{
MessageBox.Show($"Error during text replacement: {ex.Message}", "Error");
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... characters
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Использование DocumentFormat.OpenXml в C# .NET для сохранения специальных символов UTF-8
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Использование DocumentFormat.OpenXml в C# .NET для выделения всего DOCX курсивом
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Использование DocumentFormat.OpenXml в C# .NET для выделения всего DOCX курсивом
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Использование DocumentFormat.OpenXml в C# .NET для выделения всего DOCX курсивом
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Не удалось загрузить тип DocumentFormat.OpenXml.Packaging.IdPartPair из сборки OpenXMLPowerTool, версия 4.5.3.0, Culture
    Anonymous » » в форуме C#
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»