文件在线预览方案
C#在线预览文档(word,excel,pdf,txt,png)
C#在线预览⽂档(word,excel,pdf,txt,png) C#在线预览⽂档(word,excel,pdf,txt,png)1、预览⽅式:将word⽂件转换成html⽂件然后预览html⽂件2、预览word⽂件:需要引⼊Interop.Microsoft.Office.Interop.Word.dll(Com组件)3、预览Excel⽂件:需要引⼊Interop.Microsoft.Office.Interop.Excel.dll(Com组件,Microsoft Excel 12.0(or other version) Object Library)4、PDF⽂件直接嵌⼊到浏览器中进⾏查看,⽆需转换(需安装pdf阅读器)5、⽂本⽂件直接嵌⼊到浏览器进⾏查看,⽆需转换6、图⽚⽂件直接嵌⼊到浏览器进⾏查看,⽆需转换Excel预览⽅法using Microsoft.Office.Interop.Excel;using System;using System.Collections;using System.Collections.Generic;using System.Diagnostics;using System.Linq;using System.Web;///<summary>/// Summary description for ExcelPreview///</summary>public class ExcelPreview{public static void Priview(System.Web.UI.Page p, string inFilePath, string outDirPath = ""){Microsoft.Office.Interop.Excel.Application excel = null;Microsoft.Office.Interop.Excel.Workbook xls = null;excel = new Microsoft.Office.Interop.Excel.Application();object missing = Type.Missing;object trueObject = true;excel.Visible = false;excel.DisplayAlerts = false;string randomName = DateTime.Now.Ticks.ToString(); //output fileNamexls = excel.Workbooks.Open(inFilePath, missing, trueObject, missing,missing, missing, missing, missing, missing, missing, missing, missing,missing, missing, missing);//Save Excel to Htmlobject format = Microsoft.Office.Interop.Excel.XlFileFormat.xlHtml;Workbook wsCurrent = xls;//(Workbook)wsEnumerator.Current;String outputFile = outDirPath + randomName + ".html";wsCurrent.SaveAs(outputFile, format, missing, missing, missing,missing, XlSaveAsAccessMode.xlNoChange, missing,missing, missing, missing, missing);excel.Quit();//Open generated HtmlProcess process = new Process();eShellExecute = true;process.StartInfo.FileName = outputFile;process.Start();}}Pdf类using Microsoft.Office.Interop.Word;using System;using System.Collections.Generic;using System.Diagnostics;using System.IO;using System.Linq;using System.Web;///<summary>/// Summary description for WordPreview///</summary>public class PDFPreview{public static void Priview(System.Web.UI.Page p, string inFilePath){p.Response.ContentType = "Application/pdf";string fileName = inFilePath.Substring(stIndexOf('\\') + 1);p.Response.AddHeader("content-disposition", "filename=" + fileName);p.Response.WriteFile(inFilePath);p.Response.End();}}Word预览⽅法using Microsoft.Office.Interop.Word;using System;using System.Collections.Generic;using System.Diagnostics;using System.IO;using System.Linq;using System.Web;///<summary>/// Summary description for WordPreview///</summary>public class WordPreview{public static void Priview(System.Web.UI.Page p, string inFilePath, string outDirPath = ""){object missingType = Type.Missing;object readOnly = true;object isVisible = false;object documentFormat = 8;string randomName = DateTime.Now.Ticks.ToString();object htmlFilePath = outDirPath + randomName + ".htm";string directoryPath = outDirPath + randomName + ".files";object filePath = inFilePath;//Open the word document in backgroundApplicationClass applicationclass = new ApplicationClass();applicationclass.Documents.Open(ref filePath,ref readOnly,ref missingType, ref missingType, ref missingType,ref missingType, ref missingType, ref missingType,ref missingType, ref missingType, ref isVisible,ref missingType, ref missingType, ref missingType,ref missingType, ref missingType);applicationclass.Visible = false;Document document = applicationclass.ActiveDocument;//Save the word document as HTML filedocument.SaveAs(ref htmlFilePath, ref documentFormat, ref missingType,ref missingType, ref missingType, ref missingType,ref missingType, ref missingType, ref missingType,ref missingType, ref missingType, ref missingType,ref missingType, ref missingType, ref missingType,ref missingType);//Close the word documentdocument.Close(ref missingType, ref missingType, ref missingType);#region Read the Html File as Byte Array and Display it on browser//byte[] bytes;//using (FileStream fs = new FileStream(htmlFilePath.ToString(), FileMode.Open, FileAccess.Read)) //{// BinaryReader reader = new BinaryReader(fs);// bytes = reader.ReadBytes((int)fs.Length);// fs.Close();//}//p.Response.BinaryWrite(bytes);//p.Response.Flush();//p.Response.End();#endregionProcess process = new Process();eShellExecute = true;process.StartInfo.FileName = htmlFilePath.ToString();process.Start();#region Delete the Html File and Diretory 删除⽣成的⽂件//File.Delete(htmlFilePath.ToString());//foreach (string file in Directory.GetFiles(directoryPath))//{// File.Delete(file);//}//Directory.Delete(directoryPath);#endregion}}⽂本预览⽅法using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web;///<summary>/// Summary description for TextFilePreview///</summary>public class TextFilePreview{public static void Preview(System.Web.UI.Page p, string inFilePath){string fileName = inFilePath.Substring(stIndexOf('\\') + 1);p.Response.ContentType = "text/plain";p.Response.ContentEncoding = System.Text.Encoding.UTF8; //保持和⽂件的编码格式⼀致p.Response.AddHeader("content-disposition", "filename=" + fileName);p.Response.WriteFile(inFilePath);p.Response.End();}}图⽚预览⽅法using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web;///<summary>/// Summary description for TextFilePreview///</summary>public class TextFilePreview{public static void Preview(System.Web.UI.Page p, string inFilePath){string fileName = inFilePath.Substring(stIndexOf('\\') + 1);p.Response.ContentType = "images/*";p.Response.ContentEncoding = System.Text.Encoding.UTF8;p.Response.AddHeader("content-disposition", "filename=" + fileName);p.Response.WriteFile(inFilePath);p.Response.End();}}以上的pdf,txt,图⽚这个三种⽅式在MVC下不可⽤,在aspx界⾯可⽤。
php在线预览word
php在线预览word⼀般类似oa或者crm等管理系统可能都会遇到需要再线查看word⽂档的功能,类似百度⽂库。
记得去年⼩组中的⼀个成员负责的项⽬就需要这个的功能,后⾯说是实现⽐较困难,就将就着⽤chm格式替代了。
今天看到⽹上⼀遍⽂章《LINUX下⾯PHP⽂件转换》,介绍怎么样在linux下使⽤Openoffice 3 , Pdf2Swf tool , Jodconverter , FlexPaper,实现⽂档在线查看。
⾃⼰再ubuntu下进⾏的尝试安装,步骤如下:因为ubuntu版本为10.0.4,openoffice已经默认安装。
如果没有安装openoffice的话⾃⾏⾕歌安装。
第⼀步:安装jodconverter,安装之后可以实现doc⽂档转成pdf。
1. java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /home/php/1.doc /home/php/1.pdf这⾥提⽰缺少java软件包,并会提⽰⼏个安装包供。
选择我安装openjdk-6-jre-headless,命令如下:1. sudo apt_get openjdk-6-jre-headless安装之后再运⾏上⾯doc转pdf的命名,会提⽰openoffice进程未启动,因为JODConverter是通过OpenOffice來做转换的,所以使⽤前需要先安裝OpenOffice, 並且將OpenOffice的Service启动, 才可以使⽤. 启动命令1. /usr/lib/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &到此运⾏上⾯的doc转pdf的命令已经可以成功。
第⼆步:安装swftools,安装之后可以实现pdf⽂件转成swf1. wget /swftools-0.9.1.tar.gz2. tar xzf swftools-0.9.1.tar.gz3. cd swftools-0.9.14. ./configure5. make6. make install测试是否可以使⽤1. pdf2swf -o /home/php/1.swf -T -z -t -f /home/php/1.pdf -s flashversion=9第三步:⽤FlexPaper实现在线预览,⾥⾯有详细的demo。
知识库中文档在线预览功能的实现-2019年精选文档
知识库中文档在线预览功能的实现1 文档预览方案知识库中文档以附件的形式上传后,以 flash 的形式在网页上展示。
文档需要先转化为 pdf ,再从 pdf 转化为 flash 。
本文采用 JODConverter 和 OpenOffice 将 Txt、Word Excel、PPT格式的文件转换为 PDF文件,再通过 SWFTools中的PDF2SW工具将PDF 文件转换为SWF文件,最终在页面显示,实现在线预览功能。
OpenOffice 是一套跨平台的办公室软件套件,能在 Windows、Linux 等操作系统上执行。
它与各个主要的办公室软件套件兼容,支持XML微软的 Word Excel、PPT文件等格式。
为了把文档转换PDF格式,需将 变成一个转换引擎,可以通过网络接口或命令行工具对文件的格式进行转换。
JODConverter 能够将 Word Excel、PPT转换 PDF SWFTools是种与Adobe Flash ( SWF文件工作的实用工具包,主要包括用于读取、编译以及生成 SWF文件的程序。
其中,P DF2SW工具可以将PDF文件转换成SWF文件。
Flex Player是一款高性能的、轻量型且极具表现力的客户端运行时播放器,能够在各种主流操作系统、浏览器上使用,使得在没有安装PDF阅读器软件的情况下浏览PDF文件成为可能。
本文采用 Java语言对其进行编程实现,具有与 Java 语言相同的跨平台性,可在不同的操作系统上运行。
2 实现步骤2.1 用 JODConverter 调用 服务转换文档为PDF格式首先,启动 OpenOffice 服务。
设定DefaultOfficeManagerConfiguration 相关参数,并得到OfficeManager 。
调用 OfficeManager 实现类的 start 方法启动服务。
主要代码如下:DefaultOfficeManagerConfigurationconfiguration =newDefaultOfficeManagerConfiguration);configuration.setOfficeHome (OPENOFFICE_HO)M;E // OP ENOFFICE_HO 为EO penO 安装目录configuration.setPortNumbers (port ); // 实例运行的端口号,默认为 8100officeManager =configuration.buildOfficeManager);officeManager.start (); // 启动服务其次,将 doc、 ppt 、 excele 、txt 转化为 pdf 文档。
使用pdf.js在线预览PDF(本地文件,服务器文件)
使⽤pdf.js在线预览PDF(本地⽂件,服务器⽂件)前⾔不使⽤插件直接进⾏pdf预览时,对于⼩⽂件没有任何问题,但在预览⼀个305M,近400页的pdf⽂件时,打开pdf直接拉到最后⼏页,会造成浏览器崩溃,于是尝试使⽤pdf.js的插件⽅式进⾏pdf预览,解决⼤⽂件浏览器崩溃的问题。
1、下载地址主要⽤到⾥边的 viewer.js 和 viewer.html ⽂件2、打开⽂件夹,把这两个⽂件放进程序,⼀个是 build,⼀个是 web ⽂件夹,建议整个⽂件夹都放进去!到这差不多安装过程就 ok了,viewer.html ⽂件⾥边有默认的 PDF ⽂件测试⽅法window.open(' ../pdf/web/viewer.html')3、找到刚刚放⼊程序的⽂件,打开 web ⽂件⽬录,打开 viewer.js ⽂件找到他默认展⽰的 PDF ⽂件的路径改为 value:’’ ( 也可以不修改 )4、想要调⽤这个 JS 来预览 PDF ,⽅法跟上⽅测试⽅法差不多,只不过多加了⼀个条件 调⽤⽅法:windows.open("/pdf/web/viewer.html?file=file.pdf"); 这个⽅法只能读取你 web ⽬录下的⽂件,如果想要读取你本地⽂件或者服务器⽂件就通过流的⽅式输出5、获取本地/服务器⽂件前端写法:通过点击事件触发预览previewURL: 项⽬地址路径filePath: 要打开的项⽬encodeURIComponent:⽤于 url 特殊字符的转译(⽐如: ; / ? : @ & = + $ , # 这些⽤于分隔 URI 组件的标点符号)// 点击调⽤预览⽅法function xx(filePath){var previewURL= "127.0.0.1:8080/";window.open('../pdf/web/viewer.html?file='+encodeURIComponent(previewURL+"/test?url="+filePath));}后端写法:拿到⽂件地址,通过流的⽅式输出到移动端页⾯显⽰// 通过⽂件流的⽅式预览 PDF ⽂件@RequestMapping(value = "test")public void pdfStreamHandeler(HttpServletRequest request, HttpServletResponse response, HttpSession session) {// 获取路径String filePath = request.getParameter("url");File file = new File(filePath);byte[] data = null;try {// 编辑请求头部信息// 解决请求头跨域问题(IE兼容性也可使⽤该⽅法)response.setHeader("Access-Control-Allow-Origin", "*");response.setContentType("application/pdf");FileInputStream input = new FileInputStream(file);data = new byte[input.available()];input.read(data);response.getOutputStream().write(data);input.close();} catch (Exception e) {}}下⾯是我的项⽬中的调⽤⽅式:/*** 预览PDF*/@RequiresPermissions("dagl:pdf")@Log(title = "PDF预览", businessType = BusinessType.DELETE)@GetMapping("/pdfPreview/{dh}")public String pdfPreview(@PathVariable("dh") String dh, ModelMap mmap){mmap.put("pdf_url", fileReadUrl+dazlxxb.getPdfUrl());return prefix + "/pdfPreview";}<!DOCTYPE html><html style="height: 100%" lang="zh" xmlns:th="" ><head><link th:href="@{/css/update.css}" rel="stylesheet"/><th:block th:include="include :: header('PDF预览')"/><th:block th:include="include :: datetimepicker-css"/></head><body class="white-bg"><iframe style="width: 100%;height: 100%;" frameborder="0" id="pdfView"></iframe></body><script th:src="@{/js/jquery.min.js}"></script><script th:inline="javascript">var pdf_url = [[${pdf_url}]];var prefix = "/dagl";$('#pdfView').attr('src', '/pdf/web/viewer.html?file=' + encodeURIComponent(prefix +"/pdfStreamHandeler?pdf_url=" + pdf_url)); </script></html>// 通过⽂件流的⽅式预览 PDF ⽂件@RequestMapping(value = "pdfStreamHandeler")public void pdfStreamHandeler(HttpServletRequest request, HttpServletResponse response, HttpSession session) {// 获取路径String filePath = request.getParameter("pdf_url");try {if(StringUtils.isNotBlank(filePath)) {byte[] data = fileDfsUtil.downLoadFile(filePath);// 编辑请求头部信息// 解决请求头跨域问题(IE兼容性也可使⽤该⽅法)response.setHeader("Access-Control-Allow-Origin", "*");response.setContentType("application/pdf");response.getOutputStream().write(data);}} catch (Exception e) {e.printStackTrace();}}@Componentpublic class FileDfsUtil {private static final Logger LOGGER = LoggerFactory.getLogger(FileDfsUtil.class);@Resourceprivate FastFileStorageClient storageClient ;/*** 上传⽂件*/public String upload(MultipartFile multipartFile,String fileName) throws Exception{StorePath storePath = storageClient.uploadFile(multipartFile.getInputStream(), multipartFile.getSize(),FilenameUtils.getExtension(fileName), null);return storePath.getFullPath() ;}/*** 删除⽂件*/public String deleteFile(String fileUrl) {if (StringUtils.isEmpty(fileUrl)) {return "fileUrl == >>⽂件路径为空...";}try {StorePath storePath = StorePath.parseFromUrl(fileUrl);storageClient.deleteFile(storePath.getGroup(), storePath.getPath());} catch (Exception e) {return e.getMessage();}return "OK";}public byte[] downLoadFile(String filePath){StorePath storePath = StorePath.parseFromUrl(filePath);return storageClient.downloadFile(storePath.getGroup(), storePath.getPath(), new DownloadByteArray());}}6、测试界⾯7、常见问题1).跨域错误:file origin does not match viewer’s解决⽅式:找到 viewer.js 中下⽅的这段代码注释掉2).找不到⽂件错误:这个问题原因是因为没有获取到你本地或者服务器⽂件,也就是 pdf > web ⽬录⾥没有这个 pdf ,因为它默认是获取这个⽬录下的 pdf ⽂件解决⽅式:获取本地⽂件或者服务器⽂件路径,通过流的⽅式输出到页⾯上3).⽂件损坏⽆法显⽰问题:出现这个问题⼀般都是你的 url 没有进⾏转码就直接请求到浏览器了,然后 url 存在的特殊字符会会让浏览器误认为你这个不是⼀个完整的链接解决⽅式:查看前端访问的路径是否使⽤ encodeURIComponent 转码8、如何隐藏插件⾃带的下载和打印功能?打开 viewer.html ⽂件,搜索<button id="download"在这个 button 按钮加上⼀个属性style="visibility:hidden"就 ok 了,如下图。
SpringBoot实现文件在线预览功能的全过程
SpringBoot实现⽂件在线预览功能的全过程⽬录背景系统设计⽂件类型及⽅案流程设计系统实现识别⽂件后缀⽂件解析系统效果使⽤⽅法项⽬源码地址预览界⾯总结背景最近公司内部oa系统升级,需要增加⽂件在线预览服务,最常见的⽂件就是office⽂档,⼀开始构思⼏个⽅案,⽐如office软件⾃带的⽂件转换,openoffice转换,offce365服务,aspose组件转换,最终采⽤了aspose转换,原因是组件功能完善,不依赖其它软件安装环境系统设计⽂件类型及⽅案⽂件类型预览⽅案word aspsoe-word转换图⽚预览(版本21.1)ppt aspose-slides转化你图⽚预览(版本20.4)excel aspose-cell转换html预览(版本20.4)pdf pdfbox缓缓图⽚预览(版本2.0.15)png,jpg,gif整合viewer.js预览(版本1.5.0)mp4整合vedio.js预览(js版本7.10.2)txt读取⽂件内容预览注:aspose因版权问题,⼯程⽰例代码中全部使⽤试⽤版,转换图⽚会出现⽔印流程设计系统实现识别⽂件后缀URL指向⽂件真实路径时根据后缀名判断public static String getTypeByExtenssion(String linkUrl) {if (linkUrl == null)return null;linkUrl = linkUrl.toLowerCase();for (String ext : extensions) {if (linkUrl.endsWith(ext)) {return ext;}}return null;}URL为⽂件输出流时根据⽂件输出流的dispositionprivate static String getTypeByDisposition(String disposition) {String ext = null;if (!StringUtils.isEmpty(disposition)) {disposition = StringUtils.replace(disposition, "\"", "");String[] strs = disposition.split(";");for (String string : strs) {if (string.toLowerCase().indexOf("filename=") >= 0) {ext = StringUtils.substring(string, stIndexOf("."));break;}}}return ext;}根据⽂件输出流content-typetypes = new HashMap<String, String>();types.put("application/pdf", ".pdf");types.put("application/msword", ".doc");types.put("text/plain", ".txt");types.put("application/javascript", ".js");types.put("application/x-xls", ".xls");types.put("application/-excel", ".xls");types.put("text/html", ".html");types.put("application/x-rtf", ".rtf");types.put("application/x-ppt", ".ppt");types.put("image/jpeg", ".jpg");types.put("application/vnd.openxmlformats-officedocument.wordprocessingml.template", ".docx"); types.put("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", ".xlsx");types.put("application/vnd.openxmlformats-officedocument.presentationml.presentation", ".pptx"); types.put("message/rfc822", ".eml");types.put("application/xml", ".xml");根据stream的固定字节判断FILE_TYPE_MAP.put(".pdf", "255044462D312E"); // Adobe Acrobat (pdf)FILE_TYPE_MAP.put(".doc", "D0CF11E0"); // MS WordFILE_TYPE_MAP.put(".xls", "D0CF11E0"); // MS Excel 注意:word 和 excel的⽂件头⼀样FILE_TYPE_MAP.put(".jpg", "FFD8FF"); // JPEG (jpg)FILE_TYPE_MAP.put(".png", "89504E47"); // PNG (png)FILE_TYPE_MAP.put(".gif", "47494638"); // GIF (gif)FILE_TYPE_MAP.put(".tif", "49492A00"); // TIFF (tif)FILE_TYPE_MAP.put(".bmp", "424D"); // Windows Bitmap (bmp)FILE_TYPE_MAP.put(".dwg", "41433130"); // CAD (dwg)FILE_TYPE_MAP.put(".html", "68746D6C3E"); // HTML (html)FILE_TYPE_MAP.put(".rtf", "7B5C727466"); // Rich Text Format (rtf)FILE_TYPE_MAP.put(".xml", "3C3F786D6C");FILE_TYPE_MAP.put(".zip", "504B0304"); // docx的⽂件头与zip的⼀样FILE_TYPE_MAP.put(".rar", "52617221");FILE_TYPE_MAP.put(".psd", "38425053"); // Photoshop (psd)FILE_TYPE_MAP.put(".eml", "44656C69766572792D646174653A"); // EmailFILE_TYPE_MAP.put(".dbx", "CFAD12FEC5FD746F"); // Outlook Express (dbx)FILE_TYPE_MAP.put(".pst", "2142444E"); // Outlook (pst)FILE_TYPE_MAP.put(".mdb", "5374616E64617264204A"); // MS Access (mdb)FILE_TYPE_MAP.put(".wpd", "FF575043"); // WordPerfect (wpd)FILE_TYPE_MAP.put(".eps", "252150532D41646F6265");FILE_TYPE_MAP.put(".ps", "252150532D41646F6265");FILE_TYPE_MAP.put(".qdf", "AC9EBD8F"); // Quicken (qdf)FILE_TYPE_MAP.put(".pwl", "E3828596"); // Windows Password (pwl)FILE_TYPE_MAP.put(".wav", "57415645"); // Wave (wav)FILE_TYPE_MAP.put(".avi", "41564920");FILE_TYPE_MAP.put(".ram", "2E7261FD"); // Real Audio (ram)FILE_TYPE_MAP.put(".rm", "2E524D46"); // Real Media (rm)FILE_TYPE_MAP.put(".mpg", "000001BA"); //FILE_TYPE_MAP.put(".mov", "6D6F6F76"); // Quicktime (mov)FILE_TYPE_MAP.put(".asf", "3026B2758E66CF11"); // Windows Media (asf)FILE_TYPE_MAP.put(".mid", "4D546864"); // MIDI (mid)⽂件解析word分页转换图⽚Document doc = new Document(fileConvertInfo.getFilePath());for (int i = 0; i < doc.getPageCount(); i++) {Document extractedPage = doc.extractPages(i, 1);extractedPage.save(fileConvertInfo.getFileDirPath() + "split_" + (i + 1) + ".jpeg", SaveFormat.JPEG);}ppt分页转换图⽚Presentation ppt = new Presentation(fileConvertInfo.getFilePath());for (int i = 0; i < ppt.getSlides().size(); i++) {ISlide slide = ppt.getSlides().get_Item(i);int height = (int) (ppt.getSlideSize().getSize().getHeight() - 150);int width = (int) (ppt.getSlideSize().getSize().getWidth() - 150);BufferedImage image = slide.getThumbnail(new java.awt.Dimension(width, height));//每⼀页输出⼀张图⽚File outImage = new File(fileConvertInfo.getFileDirPath() + "split_" + (i + 1) + ".jpeg");ImageIO.write(image, "jpeg", outImage);}excel转换htmlWorkbook wb = new Workbook(fileConvertInfo.getFilePath());HtmlSaveOptions opts = new HtmlSaveOptions();opts.setExportWorksheetCSSSeparately(true);opts.setExportSimilarBorderStyle(true);Worksheet ws = wb.getWorksheets().get(0);wb.save(fileConvertInfo.getFileDirPath() + "convert.html", opts);excel分页转换图⽚(另⼀种预览⽅式)Workbook wb = new Workbook(fileConvertInfo.getFilePath());ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();imgOptions.setImageFormat(ImageFormat.getJpeg());for (int i = 0; i < wb.getWorksheets().getCount(); i++) {Worksheet sheet = wb.getWorksheets().get(i);SheetRender sr = new SheetRender(sheet, imgOptions);sr.toImage(i, fileConvertInfo.getFileDirPath() + "split_" + (i + 1) + ".jpeg");}pdf分页转换图⽚PDDocument pdf = PDDocument.load(new File((fileConvertInfo.getFilePath())));int pageCount = pdf.getNumberOfPages();PDFRenderer renderer = new PDFRenderer(pdf);for (int i = 0; i < pageCount; i++) {BufferedImage image = renderer.renderImage(i, 1.25f); // 第⼆个参数越⼤⽣成图⽚分辨率越⾼,转换时间也就越长 ImageIO.write(image, "JPEG", new File(fileConvertInfo.getFileDirPath() + "split_" + (i + 1) + ".jpeg"));}pdf.close();预览图⽚<body><div id="app"><img id="image" style="display: none"></div></body></html><script>$(function () {$("#image").attr("src", getQueryString("file"));var image = new Viewer(document.getElementById('image'),{url: 'data-original',button:false,navbar:false,backdrop: false});document.getElementById('image').click();})</script>预览视频<body><div id="app"><video id="myvideo" class="video-js vjs-big-play-centered" controls data-setup="{}" width="1366" height="768" preload="auto"><source id="vedio" src="///v/oceans.mp4" type="video/mp4"></source></video></div></body></html><script>$(function () {$("#vedio").attr("src", getQueryString("file"));})</script>系统效果使⽤⽅法直接运⾏项⽬,输⼊预览地址⽂件地址⽀持⽂件访问路径与流输出项⽬源码地址预览界⾯wordexcelpptpdfimagevediotxt总结到此这篇关于SpringBoot实现⽂件在线预览功能的⽂章就介绍到这了,更多相关SpringBoot实现⽂件在线预览内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
docx-preview使用方法
docx-preview使用方法
要预览.docx文件,你可以尝试以下方法:
1. 使用Microsoft Word:将.docx文件双击打开,它将自动在Microsoft Word中打开,并显示文件的内容。
你可以滚动或翻页来查看文件的不同部分。
2. 使用在线预览工具:有一些在线工具可以直接预览.docx文件,例如Google Docs、Zamzar等。
你可以将文件上传到这些工具中,然后它们会提供一个预览按钮,点击即可在网页上以可读格式显示文件内容。
3. 使用专门的.docx预览工具:有些软件专门用于预览.docx文件,例如File Viewer Plus、QuickLook等。
这些工具可以让你直接在文件资源管理器中预览.docx文件,而无需打开其他程序。
4. 将.docx文件转换为PDF格式:如果你无法找到合适的.docx 预览工具,你可以尝试将文件转换为PDF格式,因为PDF文件可以在许多平台上轻松预览。
你可以使用在线转换工具或专业的PDF转换软件来完成转换。
无论你选择哪种方法,都可以轻松地预览.docx文件的内容。
请根据自己的需要选择最合适的方法。
实现word在线预览和编辑
实现word在线预览和编辑⽬的实现word⽂件的预览以及简单的在线编辑⼯具ckeditor5是⼀款富⽂本编辑器,它可以实现常⽤word的操作,下载安装⽹上⼀⼤堆就不再这细说了。
原理ckeditor可以提前使⽤setData函数载⼊数据,但如果直接载⼊word格式的⽂件会把word⽂件的特征消失掉,但通过研究发现他其中的数据最后是转换成HTML格式输出,那么直接输⼊HTML格式就能完整的显⽰了,⽽且能实时的更改。
java的poi包,poi是第三⽅包可以针对word⽂档进⾏⼀系列的操作,现在我要⽤到的是html与word的转换。
实现前端代码<meta charset="UTF-8"><title>Title</title><script>function f() {//向后端发送请求var xhttp= new XMLHttpRequest();xhttp.onreadystatechange=function(){if (this.readyState == 4 && this.status == 200){myEditor.setData(this.responseText)//后端返回HTML字符串}}xhttp.open("post","/返回⽂件",true);xhttp.send();}function f1() {}</script><textarea name="content" id="editor">//编辑器</textarea><script src="/HTML/⽂本编辑插件/ckeditor.js"></script> <!--改成⾃⼰项⽬的路径--><script src="/HTML/⽂本编辑插件/translations/zh-cn.js"></script>//改成中⽂<script>var myEditor = null;//先设置⼀个全局变量ClassicEditor.create( document.querySelector( '#editor' ) ,{language: 'zh-cn',//设置成中⽂} ).then(editor=>{myEditor=editor;//获得编辑器对象}).catch( error => {console.error( error );} );</script><br><input type="button" value="显⽰" onclick="f()">后端代码框架spring boot@PostMapping("/返回⽂件")public String 返回⽂件() throws IOException {//获取要访问的⽂件File file = new File("E:\\测试\\云盘\\src\\main\\resources\\templates\\ckeditor5-build-classic\\市场调研报告.docx");FileInputStream fileInputStream= new FileInputStream(file);//获取⽂件的字符流XWPFDocument re = new XWPFDocument(fileInputStream);//docx格式要求StringWriter stringWriter = new StringWriter();//创建⼀个新的字符流对象XHTMLConverter xhtmlConverter = (XHTMLConverter)XHTMLConverter.getInstance();XHTMLOptions options = XHTMLOptions.getDefault();xhtmlConverter.convert(re, stringWriter,options);//注⼊String html = new String (stringWriter.toString().getBytes("utf-8"),"utf-8");编码赋值System.out.println(html);//显⽰re.close();return html;//返回给前端}展⽰字体格式,间距都保存了下来。
java在线预览方案
Java在线预览方案在现代Web应用程序中,我们经常需要对各种文档格式进行在线预览。
尤其是对于Java开发人员来说,如何实现Java在线预览方案是一个常见的问题。
本文将介绍一些常用的Java在线预览方案,以帮助开发人员选择适合自己项目的解决方案。
方案一:使用第三方工具库第一种方案是使用第三方开源工具库来实现Java在线预览。
这些工具库通常提供了丰富的API和工具,可以轻松地将各种文档格式转换为可预览的HTML或其他格式。
以下是一些常用的第三方工具库:Apache POIApache POI是一个Java类库,用于读取和写入Microsoft Office格式的文档。
它支持预览.doc、.docx、.xls、.xlsx等文件格式,并提供了用于将这些文件转换为HTML的API。
使用Apache POI,开发人员可以轻松地将Office文档转换为HTML,并在Web应用程序中进行在线预览。
PDFBoxPDFBox是一个用于处理PDF文件的Java库。
它可以读取和写入PDF文件,并提供了将PDF文档转换为图片或HTML的功能。
使用PDFBox,开发人员可以将PDF文件转换为HTML,并在Web应用程序中进行在线预览。
Apache TikaApache Tika是一个Java工具库,用于提取和分析文档中的元数据和内容。
它支持广泛的文档格式,包括Word文档、Excel文件、PDF文件等。
开发人员可以使用Apache Tika从不同的文档格式中提取内容,并将其转换为HTML进行在线预览。
方案二:使用在线预览服务另一种方案是使用在线预览服务来实现Java在线预览。
在线预览服务通常是基于云服务提供的,开发人员可以通过API将文档上传到服务中进行预览。
以下是一些常用的在线预览服务:Google Docs ViewerGoogle Docs Viewer是一个由Google提供的在线预览服务。
它支持多种文档格式,包括Word文档、Excel文件、PDF文件等。
文档在线预览的实现
⽂档在线预览的实现最近在研究企业⽂档管理,这个是基本上所有企业都需要的软件,当然也是有很多种解决⽅案。
对于企业⽂档来说,最基本的需求就是独⽴存储,共享。
这种需求只需要建⽴⼀个Windows共享⽂件夹或者架⼀个Samba服务器即可实现,⽆法做复杂的权限管理,统计等。
另⼀种⽅案就是架⼀个Web应⽤,⽐如SharePoint,就可以实现。
既然是WEB应⽤,进⼀步的需求是能够在线查看⽂档,根据⽤户需求可能不允许下载,不允许打印⽂档。
这⼀点微软的⾼级解决⽅案是使⽤RMS,能够设置每个⽤户的打开权限,是否打印等,要求必须是域内,⽽且只管理Office⽂件的权限,对txt,pdf就没办法了。
另外⼀个解决⽅案是在线⽂档预览,⽤户在⽹页中查看⽂档内容,⽤户⽆需拿到原始⽂档,如果有权限的话,可以允许⽤户下载⽂档。
这就就是百度⽂库,⾖丁之类的⽹站的功能。
下⾯来说说怎么实现。
1.⽂档统⼀转换为pdf这⾥的⽂档我们要看是什么格式,不同的格式有不同的转换⽅法。
1.1 Office⽂档转换pdf对于Office⽂档(Word,Excel,PowerPoint),那么可以调⽤Office提供的COM接⼝,把⽂档另存为PDF。
这个要求服务器上必须安装Office,同时要注意权限,不然很容易导致在本地调试时可以转换为PDF,但是⼀旦部署到服务器上去就不⾏。
另外还需要注意的是,如果Office转换pdf时发⽣异常,可能导致Office的进程驻留在服务器,不断驻留Office进程会导致服务器资源耗尽。
这是Office⽂档转换为pdf的代码:///<summary>///将word⽂档转换成PDF格式///</summary>///<param name="sourcePath"></param>///<param name="targetPath"></param>///<returns></returns>public static bool ConvertWord2Pdf(string sourcePath, string targetPath){bool result;Word.WdExportFormat exportFormat= Word.WdExportFormat.wdExportFormatPDF;object paramMissing = Type.Missing;Word.Application wordApplication = new Word.Application();Word.Document wordDocument = null;try{object paramSourceDocPath = sourcePath;string paramExportFilePath = targetPath;Word.WdExportFormat paramExportFormat = exportFormat;Word.WdExportOptimizeFor paramExportOptimizeFor =Word.WdExportOptimizeFor.wdExportOptimizeForPrint;Word.WdExportRange paramExportRange = Word.WdExportRange.wdExportAllDocument;int paramStartPage = 0;int paramEndPage = 0;Word.WdExportItem paramExportItem = Word.WdExportItem.wdExportDocumentContent;Word.WdExportCreateBookmarks paramCreateBookmarks =Word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;wordDocument = wordApplication.Documents.Open(ref paramSourceDocPath, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing, ref paramMissing, ref paramMissing,ref paramMissing);if (wordDocument != null)wordDocument.ExportAsFixedFormat(paramExportFilePath,paramExportFormat, false,paramExportOptimizeFor, paramExportRange, paramStartPage,paramEndPage, paramExportItem, true,true, paramCreateBookmarks, true,true, false,ref paramMissing);result = true;}finally{if (wordDocument != null){wordDocument.Close(ref paramMissing, ref paramMissing, ref paramMissing);wordDocument = null;}if (wordApplication != null){wordApplication.Quit(ref paramMissing, ref paramMissing, ref paramMissing);wordApplication = null;}GC.Collect();GC.WaitForPendingFinalizers();GC.Collect();GC.WaitForPendingFinalizers();}return result;}///<summary>///将excel⽂档转换成PDF格式///</summary>///<param name="sourcePath"></param>///<param name="targetPath"></param>///<returns></returns>public static bool ConvertExcel2Pdf(string sourcePath, string targetPath){bool result;object missing = Type.Missing;Excel.XlFixedFormatType targetType= Excel.XlFixedFormatType.xlTypePDF;Excel.Application application = null;Excel.Workbook workBook = null;try{application = new Excel.Application();object target = targetPath;workBook = application.Workbooks.Open(sourcePath, missing, missing, missing, missing, missing,missing, missing, missing, missing, missing, missing, missing, missing, missing);workBook.ExportAsFixedFormat(targetType, target, Excel.XlFixedFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing); result = true;}catch{result = false;}finally{if (workBook != null){workBook.Close(true, missing, missing);workBook = null;}if (application != null){application.Quit();application = null;}GC.Collect();GC.WaitForPendingFinalizers();GC.Collect();GC.WaitForPendingFinalizers();}return result;}///<summary>///将ppt⽂档转换成PDF格式///</summary>///<param name="sourcePath"></param>///<param name="targetPath"></param>///<returns></returns>public static bool ConvertPowerPoint2Pdf(string sourcePath, string targetPath){bool result;PowerPoint.PpSaveAsFileType targetFileType= PowerPoint.PpSaveAsFileType.ppSaveAsPDF;PowerPoint.Application application = null;PowerPoint.Presentation persentation = null;try{application = new PowerPoint.Application();persentation = application.Presentations.Open(sourcePath, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse);persentation.SaveAs(targetPath, targetFileType, MsoTriState.msoTrue);result = true;}catch{result = false;}finally{if (persentation != null){persentation.Close();persentation = null;}if (application != null){application.Quit();application = null;}GC.Collect();GC.WaitForPendingFinalizers();GC.Collect();GC.WaitForPendingFinalizers();}return result;}1.2 纯⽂本转换pdf如果是⽂本需要转换为PDF,我们可以使⽤iTextSharp这个组件,对于纯⽂本,注意的是源⽂件中没有设置字体之类的,需要在转换成PDF时指定字体,否则对于中⽂可能由于没有设置字体⽽转换不出来。
实现在线预览PDF的几种解决方案
实现在线预览PDF的⼏种解决⽅案因客户需要实现PDF的预览处理,在⽹上找了⼀些PDF在线预览的解决⽅案,有的⽤PDFJS的在线预览⽅式,有的使⽤PDFObject的嵌⼊式显⽰,有的通过转换JPG/PNG⽅式实现间接显⽰的⽅式,开始是想通过简单的⽅式,能够使⽤JS插件实现预览最好,可是在线预览总是有⼀些不⾜,如不同浏览器的兼容问题,甚⾄不同的⼿机平台中展⽰的效果也不⼀样,不过最好还是采⽤了间接的⽅式,把PDF转换为图⽚展⽰效果,达到客户的要求。
1、在线实现预览的⽅式⼀开始我还是很倾向使⽤这种⽅式,希望能采⽤⼀个较为好的JS插件的⽅式,实现PDF的在线预览(通过Web预览),因此在Github上找到排名⽐较⾼的PDF插件⼀看排名还是很⾼的,那么采⽤它应该不错,查看⾃带的PDF⽂件,效果还是杠杠的。
不过客户的要求是显⽰正常的发票PDF⽂件,换⼀下⽂件地址,有部分信息显⽰不了,找了⼀下没有看到解决⽅法,所以效果不达标。
连基本的发票也显⽰不了,那我这个就不能⽤它来显⽰发票PDF⽂件了。
最后,测试了使⽤PDFObject()的⽅式实现在线嵌⼊PDF显⽰的⽅式,这个JS插件也是不错的,同样可以在GitHub上可以找到。
它的使⽤也是很简单的,如下代码所⽰。
<script src="/js/pdfobject.js"></script><script>PDFObject.embed("/pdf/sample-3pp.pdf", "#example1");</script>如果需要设置预览窗⼝的⼤⼩,通过设置样式即可。
<style>.pdfobject-container { height: 500px;}.pdfobject { border: 1px solid #666; }</style>显⽰的效果是正常的了,不过我在苹果⼿机打开Safari浏览器测试发现,不能正常显⽰。
实现预览doc文件的方法
实现预览doc文件的方法
要实现预览doc文件,可以采取以下几种方法:
1. 使用Microsoft Word软件,最直接的方法是安装Microsoft Word软件,然后直接打开doc文件进行预览。
Word软件是最常用的文档处理软件,支持doc格式,可以完整地预览和编辑doc文件。
2. 在线文档预览工具,有许多在线文档预览工具可以帮助你预览doc文件,例如Google Docs、Zoho Docs、Microsoft OneDrive 等。
你可以将doc文件上传到这些平台,然后在网页上进行预览,无需安装任何软件。
3. 使用专门的文档预览软件,有些第三方软件专门用于文档预览,例如Adobe Acrobat Reader、WPS Office等,它们通常支持多种文档格式,包括doc格式,可以提供良好的预览体验。
4. 转换为其他格式进行预览,如果以上方法都不可行,你可以考虑将doc文件转换为其他常见格式,如PDF,然后使用PDF阅读器进行预览。
许多文档转换工具可以帮助你轻松完成这一步骤。
总的来说,实现预览doc文件的方法有很多种,你可以根据具体情况选择最适合你的方法来进行预览。
希望以上信息能够帮助到你。
前端实现文件在线预览txt,pdf,doc,xls,ppt几种格式
前端实现⽂件在线预览txt,pdf,doc,xls,ppt⼏种格式做法就是使⽤iframe标签1.text,pdf的⽂件预览<iframe class="filename" :src="⽂件的地址" width='100%' height='600' frameborder='1' ></iframe>2.doc,xls,ppt等office的预览<iframe class="filename" :src="https:///op/view.aspx?src=后⾯是⽂件的地址" width='100%' height='600' frameborder='1' ></iframe>3.我们可以看出,差别只有src的属性,所以要设置⽂件预览同时可以满⾜txt,pdf,和office类型格式的⽂件,只需要配置src就可以,根据⽂件后缀判断如果是office的类型就在url前加上https:///op/view.aspx?src=for (let i=0;i<this.data.quoteInfo.goodsList.length;i++) {for(let j=0;j<this.data.quoteInfo.goodsList[i].goodsAttachments.fileAttachmentList.length;j++){let value = this.data.quoteInfo.goodsList[i].goodsAttachments.fileAttachmentList[j]let valueFormat = .substring(stIndexOf('.') + 1)//前⾯逻辑不⽤看,⾄此拿到⽂件后缀if(valueFormat=='doc'|| valueFormat=='docx'|| valueFormat=='xls' || valueFormat=='xlsx') {//根据后缀判断如果是office格式的,做路径的拼接,拼接微软在线预览地址即可要预览的⽂件地址='https:///op/view.aspx?src='+要预览的⽂件地址}}}4.iframe 的宽⾼边框都是可配的,:width=宽的变量;:height=⾼的变量;:frameborder=边框的变量,no则是⽆边框这些格式之外的⽂件没有办法预览如RAR,ZIP,会直接提醒你下载,基本完成预览的需求,重点就是预览⽂件前,把office⽂件的路径配置下,使⽤微软提供的在线office预览。
电脑文件预览功能使用技巧快速查看文件内容
电脑文件预览功能使用技巧快速查看文件内容在日常的电脑使用中,我们常常需要处理大量的文件,如何快速查看文件内容,提高工作效率就成为了一个重要的问题。
电脑文件预览功能就是一个非常实用的工具,它可以让我们在不打开文件的情况下,快速了解文件的大致内容。
下面,我将为大家详细介绍电脑文件预览功能的使用技巧。
一、什么是电脑文件预览功能电脑文件预览功能是指在操作系统中,用户无需打开文件,只需在文件资源管理器中选中文件,即可在窗口中直接查看文件的部分内容,如文本文件的内容、图片的缩略图、文档的部分页面等。
这一功能极大地提高了我们查找和浏览文件的效率,节省了时间。
二、常见操作系统中的文件预览功能1、 Windows 系统在 Windows 10 及以上版本中,文件预览功能默认是开启的。
当您在文件资源管理器中选中一个文件时,右侧的预览窗格会自动显示文件的预览内容。
对于常见的文件格式,如 Word 文档、Excel 表格、PowerPoint 演示文稿、TXT 文本文件、图片等,都可以进行预览。
如果您发现预览窗格没有显示,可以通过以下步骤开启:点击“查看”选项卡,然后勾选“预览窗格”。
2、 macOS 系统在 macOS 中,选中文件后按下空格键,即可快速预览文件内容。
支持预览的文件类型也非常丰富,包括文档、图片、音频、视频等。
三、文件预览功能的优势1、提高效率无需逐个打开文件,就能快速筛选出所需的文件,节省了大量时间。
特别是在处理大量相似文件时,能够迅速找到目标文件。
2、节省系统资源避免了同时打开多个文件占用过多的内存和 CPU 资源,使电脑运行更加流畅。
3、方便快捷在不改变文件原有状态的情况下,轻松查看文件内容,方便做出决策,如是否需要进一步打开编辑或删除。
四、不同类型文件的预览技巧1、文本文件对于 TXT、DOC、DOCX 等文本文件,预览功能可以显示部分文字内容。
在预览窗格中,您可以快速浏览文件的开头部分,了解文件的主题和大致内容。
文档管理系统支持的在线预览格式
身体内所有神经都在跳动,恍如某种力量,或是说某种意识正在复苏,正在觉醒
用户上传的,可以自动生成缩略图形式,避 免过大导致下载速度缓慢,影响查看效果(系统 支持各种格式:bmp、jpg、png、gif、tiff、pcx
等。)
3、矢量图在线预览 对于设计类型的,大量存在的是矢量图格 式,系统提供快速预览的功能,大大方便了这些
面、手机、平板多种浏览器环境,速度甚至比本
地打开更快、体验更友好。 易度常见办公文档在线预览 1、系统持常见办公文档格式文件内容的
身体内所有神经都 直接在线预览,无须安装任何插件。(由于使用 了边看边下载的文档流式播放技术 类似视频播 放 所有可在线预览的文档,都能够自动生成 式。这样无需另行转换、保存和更新,管理更轻 松),不档多大,都能够瞬间打开阅读。另外, 。 系 统 支 持 常 见 办 (公 文 PDF 档 形 :
身体内所有神经都在跳动,恍如某种力量,或是说某种意识正在复苏,正在觉醒
5、2D/3D 图纸在线预览 系统可自动将 AutoCAD 图纸生成形式,用户 可以快速在线预览查看。同时采用插件架构,可 方便扩展支持其他的格式。 安装 eDrawing 或者 autovue,可实现 2D/3D 图纸的在线查看:(具体支持的格式包括:电路 板:Protel/PCB
设计稿件的查找。 (格式包括: CoralDraw(.cdr)、 PhotoShop(.psd)、AI(.ai)、svg/wmf) 4、压缩包文件查看 系统支持压缩包文件的直接在线查看。无须 安装插件即可查看压缩包内的文件清单,同时支 (支持 rar、 zip、 tar、 tgz 持下载压缩包内文档。 等)
SolidWorks:SLDASM,SLDPRTEDA:PCB,SCH,STP 等)
excel文档在线预览系统需求规格说明书
一.引言1.1编写目的在完成了针对《excel文档在线预览系统》软件市场的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。
此需求规格说明书对《excel文档在线预览系统》软件做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。
本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。
1.2背景许多的信息和数据都是以文件的形式保存在网络上,但是很多情况下,我们只是想打开文档浏览其中的关键信息,并不需要文件中所有的内容,也不需要对文件进行编辑操作。
另外很多文档之中的信息具有即时性,我们看过一次之后以后便不会再打开,并没有将这些文件下载到本地的意愿。
鉴于大多数用户下载下来文件之后并没有即时删除的习惯,下载下来的文件也需要安装相应的Excel编辑文件才能查看,给用户造成了不必要的负担。
在小组协同工作或者开发时,需要共享很多Excel文档系统的团体,在线预览系统将会给每个成员提供极大的方便。
为此我们受谢晓园女士的委托,开发了一个可用于在线预览Excel文件的系统,即是Excel文档在线预览系统。
本系统只需要通过浏览器发起访问,不需要额外安装其他的软件,配置其他的环境。
1.3定义在线预览:列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
1.4参考资料a.Excel文档在线预览系统的可行性分析文档;b.软件项目需求分析规格说明书国家标准版;二.获取流程我们小组选择了探索性访谈法的需求获取技术对用户的需求进行了详细的访问和探求。
2.1准备访谈目标访谈的目标是对“Excel在线预览系统”的愿景进行精化。
为此,应当抽取受访者对于该愿景的意图和想法。
访谈的结果将是精化愿景的一组目标。
此外,应在访谈中开发出Excel在线预览系统详细功能的一些基本需求。
在线文档预览用户手册【模板】
在线文档预览用户手册I Doc View2014年10月I Doc View在线文档预览支持以下格式文件的在线预览:文档:doc,docx,wps,odt,rtf,xls,xlsx,et,ods,csv,ppt,pptx,dps,odp,pdf,txt图片:jpg, jpeg, gif, png, bmp, tif, tiff音频:mp3, m4a, mid, wma视频:mp4压缩文件:zip, rar, tar, 7z图纸:dwg, dxf, dwf编程:html,htm,xml,js,css,java,php,sql附加功能:word在线编辑,word、ppt同步预览I Doc View在线文档预览分为单机版和集群版。
单机版适用场景用户量5万以下日预览量百万级以下上传并发平均150个文档/秒预览并发平均1000个文档/秒单个文档转换平均2秒转换并发平均3~10个文档/秒(单机,如集群部署N台服务器,则速度提升接近N倍)注:以上参数根据带宽和机器配置有所不同硬件配置:内存:8G或以上(中小规模预览)如果预览量大,建议配置SSD,并且将Office安装在SSD硬盘中。
如果超过以上访问量,建议配置集群版。
系统环境:Windows Server 2016 64位(推荐)、2012 64位或2008 R2 64位(最低版本,不推荐)特别提示:请自行进行数据冗余备份1. 预览本地文档您可以上传并在线查看您计算机的文档。
2. 预览网络文档您可以对网络文档进行预览。
3. 阅读进度条doc, docx, ppt, pptx和txt文档大于约3页时,预览页面底部会出现阅读进度条。
4. 页面定位doc, docx和txt文档大于约3页时,预览页面底部会出现一个页面定位区域,区域内每个圆点“·”代表一个页面,从左到右依次增加,圆点“·”越多,文档越大。
鼠标移动到页面定位区域后会变为手形,点击即可跳转到对应页面;ppt, pptx文档预览时,电脑端可使用“↑”、“←”箭头向上翻页,“→”、“↓”或空格键向下翻页,或直接点击左侧缩略图跳转到对应页面,手机端则既可通过页面选择器定位页面,也可左右滑动来切换幻灯片,pad端则既可通过左侧缩略图定位页面,也可在右侧预览图上左右滑动来切换幻灯片。