【问题标题】:How to parse Html String In To Word docs In c#如何在 C# 中将 Html 字符串解析为 Word 文档
【发布时间】:2026-02-08 14:50:02
【问题描述】:

我有一个 html 字符串,我已使用 OpenHtmlToPdf 库将其解析为 PDF,它工作正常。

现在我想将相同的 html 字符串解析为 Word 文档,我使用了 HtmlToOpenXml 库,但问题是 word 文档中的格式与 PDF 格式不同。

为此,我尝试了许多解决方案,但它们太贵了。

public static byte[] HtmlToWord(String html)
{

    using (var generatedDocument = new MemoryStream(10 * 1024))
    {
        using (WordprocessingDocument package = WordprocessingDocument.Create(
                               generatedDocument, WordprocessingDocumentType.Document))
            {
                MainDocumentPart mainPart = package.MainDocumentPart;
                if (mainPart == null)
                    {
                        mainPart = package.AddMainDocumentPart();
                        new DocumentFormat.OpenXml.Wordprocessing.Document(new Body()).Save(mainPart);
                    }

                    HtmlConverter converter = new HtmlConverter(mainPart);
                    Body body = mainPart.Document.Body;

                    converter.ParseHtml(html);
                    //converter.Parse(html);
                    //for (int i = 0; i < paragraphs.Count; i++)
                    //{
                    //    body.Append(paragraphs[i]);
                    //}

                    mainPart.Document.Save();
            }

        return generatedDocument.ToArray();
    }
}

这个问题有解决办法吗?

【问题讨论】:

标签: c# asp.net-core openhtmltopdf


【解决方案1】:

对于使用 html,您可以尝试 HTML Agility:

使用 HtmlAgility,您可以简单地做到这一点:

string webUrl = "http://microsoft.com";

var page = new HtmlWeb();
var document = page.Load(url);

一旦有了这个,天空就是极限。然后,您可以将文档保存到 Word 文档中。

【讨论】:

  • 我正在尝试您的建议,但我收到此错误“ibb.co/JKJpBw7