查资料看了2种解决方法:
1.通过办公软件dll转换,用flans去看
2.通过Aspose转换成pdf格式,在用js前台读pdf(我用的pdf.js)
今天我解决的就是WORD/EXCEL/PPT 转化成 PDF ,然后 PDF在线阅读
1.WORD/PPT/EXCEL转PPT类(很简单的)
using Aspose.Words; using Aspose.Cells; using Aspose.Slides;/// <summary> /// Office2Pdf 将Office文档转化为pdf /// </summary> public class Office2Pdf {public Office2Pdf(){//// TODO: 在此处添加构造函数逻辑// }/// <summary>/// Word转换成pdf/// </summary>/// <param name="sourcePath">源文件路径</param>/// <param name="targetPath">目标文件路径</param>/// <returns>true=转换成功</returns>public bool DOCConvertToPDF(string sourcePath, string targetPath){bool result = false; try{Document doc = new Document(sourcePath);doc.Save(targetPath, Aspose.Words.SaveFormat.Pdf);result = true;}catch{result = false;}finally{ }return result;}/// <summary>/// 把Excel文件转换成PDF格式文件 /// </summary>/// <param name="sourcePath">源文件路径</param>/// <param name="targetPath">目标文件路径</param>/// <returns>true=转换成功</returns>public bool XLSConvertToPDF(string sourcePath, string targetPath){bool result = false;try{//ExcelWorkbook excel = new Workbook(sourcePath);excel.Save(targetPath, Aspose.Cells.SaveFormat.Pdf);result = true;}catch{result = false;}finally{}return result;}///<summary> /// 把PowerPoint文件转换成PDF格式文件 ///</summary> ///<param name="sourcePath">源文件路径</param> ///<param name="targetPath">目标文件路径</param> ///<returns>true=转换成功</returns> public bool PPTConvertToPDF(string sourcePath, string targetPath){bool result;try{//PPTPresentation ppt = new Presentation(sourcePath);ppt.Save(targetPath, Aspose.Slides.Export.SaveFormat.Pdf);result = true;}catch{result = false;}finally{ }return result;} }View Code
2.做一个上传页面(核心代码)
private string upFile(){int iTotal = Request.Files.Count;if (iTotal == 0){_msg = "没有数据";}else{HttpPostedFile file = Request.Files[0];string path = "file\" + DateTime.Now.ToString("yyyy-MM-dd") + "\";string viewPath = "PDF\web\" + path;string ArticlePath = System.Web.HttpContext.Current.Server.MapPath("~") + viewPath;if (file.ContentLength > 0 || !string.IsNullOrEmpty(file.FileName)){//建立图片主文件夹if (!Directory.Exists(ArticlePath)){Directory.CreateDirectory(ArticlePath);}saveName = Path.GetFileName(file.FileName);string extension = Path.GetExtension(file.FileName).ToLower();string fileName = DateTime.Now.ToString("HH-mm-ss") + extension;ArticlePath += fileName;//保存文件 file.SaveAs(ArticlePath);string pdfpath = ArticlePath.Substring(0, ArticlePath.Length - extension.Length) + ".pdf";if (extension == ".doc" || extension == ".docx"){office2pdf.DOCConvertToPDF(ArticlePath, pdfpath);}else if (extension == ".ppt" || extension == ".pptx"){office2pdf.PPTConvertToPDF(ArticlePath, pdfpath);}else if (extension == ".xls" || extension == ".xlsx"){office2pdf.XLSConvertToPDF(ArticlePath, pdfpath);}else if (extension == ".pdf"){}else{this.RegisterStartupScript("newWindow", "<script language='javascript'>alert('非法文件!')</script>");return "";}DelFile(ArticlePath);savePath = path + fileName.Substring(0, fileName.Length - extension.Length) + ".pdf";return savePath;}}return "";}View Code
3.效果如下
PPT :
WORD:
4. DEMO: 下载 (新手上路,希望大家多多指点 )
转载于:.html
本文发布于:2024-02-01 12:03:09,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170676018836457.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |