Hướng dẫn openxml html to docx - openxml html sang docx

Tôi nhận ra tôi trễ 7 năm ở đây. Tuy nhiên, đối với những người trong tương lai đang tìm kiếm cách chuyển đổi từ HTML sang Word Doc, blog này đăng trên trang web Microsoft MSDN cung cấp hầu hết các thành phần cần thiết để thực hiện việc này bằng cách sử dụng OpenXML. Tôi thấy bài đăng này là khó hiểu, nhưng mã nguồn mà anh ấy đã bao gồm làm rõ tất cả cho tôi.

Phần duy nhất bị thiếu là làm thế nào để xây dựng một tệp docx từ đầu, thay vì làm thế nào để hợp nhất thành một tệp hiện có như ví dụ của anh ta cho thấy. Tôi thấy rằng Tidbit từ đây.

Thật không may, dự án tôi đã sử dụng điều này được viết bằng vb.net. Vì vậy, tôi sẽ chia sẻ mã VB.NET trước, sau đó chuyển đổi C# tự động của nó, có thể hoặc không chính xác.

Mã vb.net:

Imports DocumentFormat.OpenXml
Imports DocumentFormat.OpenXml.Packaging
Imports DocumentFormat.OpenXml.Wordprocessing
Imports System.IO

Dim ms As IO.MemoryStream
Dim mainPart As MainDocumentPart
Dim b As Body
Dim d As Document
Dim chunk As AlternativeFormatImportPart
Dim altChunk As AltChunk

Const altChunkID As String = "AltChunkId1"

ms = New MemoryStream()

Using myDoc = WordprocessingDocument.Create(ms,WordprocessingDocumentType.Document)
    mainPart = myDoc.MainDocumentPart

    If mainPart Is Nothing Then
        mainPart = myDoc.AddMainDocumentPart()

        b = New Body()
        d = New Document(b)
        d.Save(mainPart)
    End If

    chunk = mainPart.AddAlternativeFormatImportPart(AlternativeFormatImportPartType.Xhtml, altChunkID)

    Using chunkStream As Stream = chunk.GetStream(FileMode.Create, FileAccess.Write)
        Using stringStream As StreamWriter = New StreamWriter(chunkStream)
            stringStream.Write("YOUR HTML HERE")
        End Using
    End Using

    altChunk = New AltChunk()
    altChunk.Id = altChunkID
    mainPart.Document.Body.InsertAt(Of AltChunk)(altChunk, 0)
    mainPart.Document.Save()
End Using

Mã C#:

using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using System.IO;

IO.MemoryStream ms;
MainDocumentPart mainPart;
Body b;
Document d;
AlternativeFormatImportPart chunk;
AltChunk altChunk;

string altChunkID = "AltChunkId1";

ms = new MemoryStream();

Using (myDoc = WordprocessingDocument.Create(ms, WordprocessingDocumentType.Document))
{
    mainPart = myDoc.MainDocumentPart;

    if (mainPart == null) 
    {
         mainPart = myDoc.AddMainDocumentPart();
         b = new Body();
         d = new Document(b);
         d.Save(mainPart);
    }

    chunk = mainPart.AddAlternativeFormatImportPart(AlternativeFormatImportPartType.Xhtml, altChunkID);

    Using (Stream chunkStream = chunk.GetStream(FileMode.Create, FileAccess.Write)
    {
         Using (StreamWriter stringStream = new StreamWriter(chunkStream))         
         {
              stringStream.Write("YOUR HTML HERE");
         }
    }    

    altChunk = new AltChunk();
    altChunk.Id = altChunkID;
    mainPart.Document.Body.InsertAt(Of, AltChunk)[altChunk, 0];
    mainPart.Document.Save();
}

Lưu ý rằng tôi đang sử dụng luồng bộ nhớ ms trong một thói quen khác, đó là nơi nó được xử lý sau khi sử dụng.

Tôi mong điều này giúp được người nào khác!

Chuyển đổi HTML sang DOCX (WORD) / URL sang DOCX (WORD). Trực tuyến miễn phí

Chuyển đổi file html sang docx trực tuyến và miễn phí

Thả tập tin ở đây. 100 MB Kích thước file tối đa hoặc là Đăng ký

Chuyển đổi sang HTML

html

HyperText Markup Language

HTML là một tập tin định dạng Web. mã nguồn HTML có thể được thay đổi trong một trình soạn thảo văn bản. tập tin HTML đang được phát triển để sử dụng trong tương lai trong các trình duyệt web người dùng, cho phép bạn định dạng văn bản, hình ảnh và các tài liệu khác theo yêu cầu các trang web. Nộp với tags sử dụng định dạng để xây dựng các trang web. HTML code được phân tích cú pháp trình duyệt Web và thường không nhìn thấy được cho người dùng.

Công cụ chuyển đổi DOCX

docx

Microsoft Office Open XML

Kể từ năm 2007, Microsoft đã bắt đầu sử dụng một định dạng file docx, được tạo ra bằng cách sử dụng các Office Open XML. Định dạng là một tập tin zip có chứa các văn bản dưới dạng XML, đồ họa và các dữ liệu khác có thể được dịch thành một chuỗi các bit sử dụng định dạng nhị phân bằng sáng chế bảo vệ. Lúc đầu người ta cho rằng định dạng này sẽ thay thế các tài liệu, nhưng cả hai định dạng vẫn được sử dụng ngày hôm nay.

Bước 1

Tải (các) tập tin html lên

Lựa chọn các tập tin từ Máy tính, Google Drive, Dropbox, URL hoặc bằng cách kéo tập tin vào trang này.

Bước 2

Chọn "Sang docx"

Chọn docx hoặc bất kỳ định dạng nào khác bạn cần chuyển đổi sang (hỗ trợ hơn 200 định dạng)

Bước 3

Tải tập tin docx của bạn xuống

Hãy để tập tin chuyển đổi và bạn có thể tải tập tin docx của bạn xuống ngay sau đó

Xếp hạng chất lượng từ HTML đến DOCX

4.2(3,858 phiếu bầu) (3,858 phiếu bầu)

Bạn cần phải chuyển đổi và tải xuống ít nhất 1 tệp để cung cấp phản hồi!