C# 如何在c中将Html字符串解析为Word文档#

C# 如何在c中将Html字符串解析为Word文档#,c#,asp.net-core,C#,Asp.net Core,我有一个html字符串,我已经使用OpenHtmlToPdf库将其解析为PDF,它工作正常 现在我想将相同的html字符串解析到Word文档中,我使用了htmltopenxml库,但问题是Word文档中的格式不同于PDF格式 为此,我尝试了许多解决方案,但它们太贵了 public static byte[] HtmlToWord(String html) { using (var generatedDocument = new MemoryStream(10 * 1024))

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

现在我想将相同的html字符串解析到Word文档中,我使用了
htmltopenxml
库,但问题是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();
    }
}
publicstaticbyte[]HtmlToWord(字符串html)
{
使用(var generatedDocument=newmemoryStream(10*1024))
{
使用(WordprocessingDocument包=WordprocessingDocument.Create(
生成文档,文字处理文档类型。文档)
{
MainDocumentPart mainPart=package.MainDocumentPart;
if(mainPart==null)
{
mainPart=package.AddMainDocumentPart();
新的DocumentFormat.OpenXml.Wordprocessing.Document(newbody()).Save(mainPart);
}
HtmlConverter converter=新HtmlConverter(主要部件);
Body Body=mainPart.Document.Body;
ParseHtml(html);
//Parse(html);
//对于(int i=0;i

这个问题有什么解决方案吗?

要使用html,您可以尝试html敏捷性:

使用HtmlAgility,您可以简单地执行以下操作:

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

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

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

请检查此项,我正在尝试您的建议,但我收到了此错误“”