Hello,
Using the below code I can get a .doc to load into html but when it displays the layout and format do no seam to match the original document. The pages seam to overlap and not conform to the originals width or height. I need to be able to do this without saving files to disk. The app might not have access to write to disk is all cases. It also needs to work for a large variation of documents and layouts if possible.
.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: Consolas, "Courier New", Courier, Monospace; background-color: #ffffff; /*white-space: pre;*/ }
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #a31515; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
public string GetDocToHtml(string path)
{
Aspose.Words.Document doc = new Aspose.Words.Document(path);
HtmlSaveOptions options = new HtmlSaveOptions();
options.SaveFormat = SaveFormat.Html;
HtmlSaveOptionHandler saverHandle = new HtmlSaveOptionHandler();
options.DocumentPartSavingCallback = saverHandle;
HandleImageSaving imageSave = new HandleImageSaving();
options.ImageSavingCallback = imageSave;
options.ExportImagesAsBase64 = true;
return doc.ToString(options);
}
public class HtmlSaveOptionHandler : IDocumentPartSavingCallback
{
public void DocumentPartSaving(DocumentPartSavingArgs args)
{
args.DocumentPartStream = new MemoryStream();
args.KeepDocumentPartStreamOpen = true;
}
}
public class HandleImageSaving : IImageSavingCallback
{
void IImageSavingCallback.ImageSaving(ImageSavingArgs e)
{
e.ImageStream = new MemoryStream();
e.KeepImageStreamOpen = false;
}
}
Is there a set of setting I am missing? is it possible to duplicate the original file exactly using only stream or other methods of not writing to files?
Thanks!