Проблемы преобразования htmlToOpenXmlC#

Место общения программистов C#
Ответить
Anonymous
 Проблемы преобразования htmlToOpenXml

Сообщение Anonymous »

Я использую openXML для преобразования HTML в XML. Затем я беру этот XML и вставляю в документ Word. Этот процесс отлично работает с текстом, простыми таблицами и т. д. Я столкнулся с тремя проблемами и хотел бы знать, может ли кто-нибудь понять их лучше, чем я. Я разместил 3 проблемы ниже. Под каждой задачей вы увидите HTML и XML, полученные в результате преобразования. Мой метод конвертации приведен ниже. См. также изображения для справки.

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

public static string htmlToOpenXml(string html)
{
using (MemoryStream genDoc= new MemoryStream())
{
using (WordprocessingDocument package =
WordprocessingDocument.Create(genDoc,
WordprocessingDocumentType.Document))
{
MainDocumentPart mainPart = package.MainDocumentPart;
if (mainPart == null)
{
mainPart = package.AddMainDocumentPart();
new DocumentFormat.OpenXml.Wordprocessing.Document(new Body()).Save(mainPart);
}

HtmlToOpenXml.HtmlConverter converter = new HtmlToOpenXml.HtmlConverter(mainPart);
converter.ParseHtml(html);
mainPart.Document.Save();

return mainPart.Document.FirstChild.OuterXml;
}
}
}
Проблема 1. Простые таблицы: выравнивание ячеек не передается в выходные данные XML
HTML:

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

test1 

test2

test3

test4

 

 

 

 

 
Изображение

XML:

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

test1 test2test3test4     
Проблема 2. Сложные таблицы: объединенные ячейки фактически не объединяются при преобразовании в XML.
HTML:
Изображение

XML:
Изображение

Проблема 3. Преобразование OrganizedList выполняется нормально. Однако в выводе XML отображается маркированный список (UnorganizedList) с пронумерованными значениями.
HTML:
Изображение

XML:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/784 ... ion-issues
Ответить

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

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

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

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

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