在线预览word、excel、ppt
原理:主要是引用第三方Dll使本地word、excel、ppt文件转换成Html
需要引用 :Aspose.Cells.dll
Aspose.Slides.dll
Aspose.Words.dll
生成Html代码privateboolOfficeDocumentToHtml(stringsourceDocPath,stringsaveDocPath)
{
boolresult=fa
//获取文件扩展名
stringdocExtendName=System.IO.Path.GetExtension(sourceDocPath).ToLower();
switch(docExtendName)
{
case".doc":
case".docx":
Aspose.Words.Documentdoc=newAspose.Words.Document(sourceDocPath);
doc.Save(saveDocPath,Aspose.Words.SaveFormat.Ht
result=true;
break;
case".xls":
case".xlsx":
Workbookworkbook=newWorkbook(sourceDocPath);
workbook.Save(saveDocPath,SaveFormat.Ht
result=true;
break;
case".ppt":
case".pptx":
//templateFile=templateFile.Replace("/","\\");
//stringtemplateFile=sourceDoc;
//templateFile=templateFile.Replace("/","\\");
PresentationExpres=newPresentationEx(sourceDocPath);
pres.Save(saveDocPath,Aspose.Slides.Export.SaveFormat.Ht
result=true;
break;
default:
break;
returnresult;
}
在线预览pdf
原理:利用pdfobject.js将pdf转换成Html(Aspose也可以做到,但效果不理想)
生成Html主要代码privateboolPdfToHtml(stringfileName,stringtempFile,stringsaveDocPath)
{
//---------------------读html模板页面到stringbuilder对象里----
StringBuilderhtmltext=newStringBuilder();
using(StreamReadersr=newStreamReader(tempFile))//模板页路径
{
Stringline;
while((line=sr.ReadLine())!=null)
{
htmltext.Append(line);
}
sr.Close();
fileName=fileName.Replace("\\","/");
//----------替换htm里的标记为你想加的内容
htmltext.Replace("$PDFFILEPATH",fileNa
//----------生成htm文件------------------――
using(StreamWritersw=newStreamWriter(saveDocPath,false,
System.Text.Encoding.GetEncoding("utf-8")))//保存地址
{
sw.WriteLine(htmltext);
sw.Flush();
sw.Clos
returntrue;
}