Online preview word, excel, ppt use aspose to dynamically generate html
main code
private bool OfficeDocumentToHtml(string sourceDoc, string saveDoc) { bool result = false; //get file extension string docExtendName = System.IO.Path.GetExtension(sourceDoc).ToLower(); switch (docExtendName) { case ".doc": case ".docx": Aspose.Words.Document doc = new Aspose.Words.Document(sourceDoc); doc.Save(saveDoc, Aspose.Words.SaveFormat.Html); result = true; break; case ".xls": case ".xlsx": Workbook workbook = new Workbook(sourceDoc); workbook.Save(saveDoc, SaveFormat.Html); result = true; break; case ".ppt": case ".pptx": //templateFile = templateFile.Replace("/", "\\"); //string templateFile = sourceDoc; //templateFile = templateFile.Replace("/", "\\"); PresentationEx pres = new PresentationEx(sourceDoc); pres.Save(saveDoc, Aspose.Slides.Export.SaveFormat.Html); result = true; break; default: break; } return result; }
Online preview pdf is generated by pdfobject.js (aspose can also do it, but the effect is not ideal)
main code
private bool PdfToHtml(string fileName, string tempFile, string saveDoc) { //-------------------- read the html template page into the stringbuilder object---- StringBuilder htmltext = new StringBuilder(); using (StreamReader sr = new StreamReader(tempFile)) //template page path { String line; while ((line = sr.ReadLine()) != null) { htmltext.Append(line); } sr.Close(); } fileName = fileName.Replace("\\", "/"); //------------Replace the mark in htm with the content you want to add htmltext.Replace("$PDFFILEPATH", fileName); //----------Generate htm file------------------- using (StreamWriter sw = new StreamWriter(saveDoc, false, System.Text.Encoding.GetEncoding("utf-8"))) //Save the address { sw.WriteLine(htmltext); sw.Flush(); sw.Close(); } return true; }renderings
Preview Word
preview excel
preview ppt
preview pdf
Source code download
http://download.csdn.net/detail/jx_521/9693817