c# Открыть XML WordprocessingDocumentType Вставить HTML фрагмент в TableCell - PullRequest
0 голосов
/ 07 марта 2020

Можно ли вставить фрагмент HTML в TableCell для WordProcessingDocument, созданного с помощью Open XML?

Например, когда я использую:

public void WriteWordFile()
{
    var fileName = HttpContext.Current.Request.PhysicalApplicationPath + "/temp/" + HttpContext.Current.Session.SessionID + ".docx";
    using (var wordDocument = WordprocessingDocument.Create(fileName, WordprocessingDocumentType.Document, true))
    {
        var mainPart = wordDocument.AddMainDocumentPart();
        mainPart.Document = new Document();
        var body = mainPart.Document.AppendChild(new Body());
        var table = new Table();
        var tr = new TableRow();
        var tc = new TableCell();
        tc.Append(new Paragraph(new Run(new Text("1"))));
        tr.Append(tc);
        table.Append(tr);
        body.Append(table);
    }

Word документ печатает простую «1» без форматирования, как ожидалось.

Тем не менее, я хочу написать:

public void WriteWordFile()
{
    var fileName = HttpContext.Current.Request.PhysicalApplicationPath + "/temp/" + HttpContext.Current.Session.SessionID + ".docx";
    using (var wordDocument = WordprocessingDocument.Create(fileName, WordprocessingDocumentType.Document, true))
    {
        var mainPart = wordDocument.AddMainDocumentPart();
        mainPart.Document = new Document();
        var body = mainPart.Document.AppendChild(new Body());
        var table = new Table();
        var tr = new TableRow();
        var tc = new TableCell();
        tc.Append(new Paragraph(new Run(new Text("<span style=\"bold\">1</span>"))));
        tr.Append(tc);
        table.Append(tr);
        body.Append(table);
    }
}

Документ Word печатает разметку HTML <span style="bold">1</span> "вместо жирного" 1".

1 Ответ

1 голос
/ 07 марта 2020

Нет, Word не поддерживает то, что описано в вопросе.

HTML не является собственным форматом Word - конвертер необходим для включения HTML в содержимое Word.

В пользовательском интерфейсе это выполняется путем вставки или вставки из файла.

В Open XML можно использовать метод altChunk для "встраивания" "содержимое в иностранном формате в пакете документов. Когда Word открывает документ и встречает altChunk, он вызывает соответствующий конвертер, чтобы превратить его в собственный контент Word (Word Open XML); во время процесса оригинальный встроенный контент удаляется. Однако нет никакой гарантии, что результатом будет то, что возвращает нативная среда (в случае HTML браузера).

Поиск «altChunk» должен привести к многочисленным дискуссиям, статьям в блоге и т. Д. c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...