Asp.net MVC uses (aspose+pdfobject.js) to realize online preview of word, excel, ppt, pdf files

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


Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325350327&siteId=291194637