Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Open XML Altchunk Html with base64 images Embedded

In short: I would like to create a word document from htmlstring and the html contains embedded base64 images.

My problem: I have managed to create the word document with the use of Altchunk, but when I open the document the place where the image should be doesn't display the image but shows the message:

The linked image cannot be displayed. The file may have been moved,renamed, or deleted. Verify that the link points to the correct file and location.

My code:

string base64Image = @"data:image/png;base64,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";
string htmlString = string.Format(@"<html>
                                    <head/>
                                    <body>
                                        <h1>AltChunk HTML with base64 Image</h1>
                                        <p>This is an html document with a base64 image</p>
                                        <img filename='test.jpg' alt='' src='{0}' />
                                        <h1>Results in:</h1>
                                        <p>The linked image cannot be displayed. The file may have been moved,renamed, or deleted. Verify that the link points to the correct file and location.</p>
                                    </body>
                                    </html>", base64Image);

string fileName = @"c:\temp\newdocx.docx";

using (WordprocessingDocument wordDoc = WordprocessingDocument.Create(fileName, WordprocessingDocumentType.Document))
{
    // Set the content of the document so that Word can open it.
    MainDocumentPart mainPart = wordDoc.AddMainDocumentPart();

    mainPart.Document = new Document();
    Document document = mainPart.Document;
    Body body = document.AppendChild(new Body());

    // create AltChunk
    string altChunkId = "AltChunkId1";
    AlternativeFormatImportPart chunk = mainPart.AddAlternativeFormatImportPart(
        AlternativeFormatImportPartType.Html, 
        altChunkId);

    // add the html to the chunk!
    using (Stream chunkStream = chunk.GetStream(FileMode.Create, FileAccess.Write))
    {
        using (StreamWriter stringWriter = new StreamWriter(chunkStream, Encoding.UTF8)) //Encoding.UTF8 is important to remove special characters
        {
            stringWriter.Write(htmlString);
        }
    }

    AltChunk altChunk = new AltChunk();
    altChunk.Id = altChunkId;

    body.AppendChild(altChunk);
    mainPart.Document.Save();
}

A screenshot of the problem: Problem

I really would appreciate some help on this case , have been stuck on this for more than 2 day, searched the whole internet I guess :), but nothing I have found could help me out.

like image 345
Davy Avatar asked Nov 12 '22 18:11

Davy


1 Answers

I don't have a direct answer to your question, but I do have a work-around if you're stuck. If you are able to create the html file with a normal image link instead of the embedded binary data, you can use this code to convert it to a .docx with the pictures embedded.

// Open Word
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();

// Open some html file
Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(@"E:\Test2.html");

// Loop through all the pictures
for (int i = 1; i <= doc.InlineShapes.Count; i++)
{
    // Mark it as embedded if it's not
    if (doc.InlineShapes[i].LinkFormat != null && doc.InlineShapes[i].LinkFormat.SavePictureWithDocument == false)
    {
        doc.InlineShapes[i].LinkFormat.SavePictureWithDocument = true;
    }
}

// Save as docx
doc.SaveAs2(@"e:\Test2.docx", Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDocumentDefault);

// Close word
wordApp.Quit(Type.Missing, Type.Missing, Type.Missing);
like image 86
user2095302 Avatar answered Nov 15 '22 07:11

user2095302