精华内容
下载资源
问答
  • 文件预览 类似相册

    2013-05-23 15:12:19
    请加上jq库文件再调试 模拟点击列表及缩略图模式时均能正确调用到文件预览
  • wing 开着的情况下,我在源文件价目录下使用svn更新了文件,然后回到wing,打开一些exml文件,发现设计模式和预览模式都不可见了(有些还是正常可视的……)! 然而源码都还在,只是界面不可视了!运行编译一下,...

    问题描述:

    wing 开着的情况下,我在源文件价目录下使用svn更新了文件,然后回到wing,打开一些exml文件,发现设计模式和预览模式都不可见了(有些还是正常可视的……)!

    然而源码都还在,只是界面不可视了!运行编译一下,界面都正常!

    解决办法:

    我尝试关掉exml文件再重新打开,都没用。

    然后尝试关掉wing,再重启wing,再打开exml,发现一切又都正常了!

    在egret社区内搜索这个问题,貌似这是一个bug,社区链接地址:http://bbs.egret.com/thread-29488-1-1.html

    转载于:https://www.cnblogs.com/WentingC/p/8708426.html

    展开全文
  • 非常简单,看图即会

    非常简单,看图即会

    在这里插入图片描述

    展开全文
  • 下面是文件预览的方法 文件预览(固定方式) 文件上传(固定方式)

    在这里插入图片描述

    下面是文件预览的方法

    在这里插入图片描述

    文件预览(固定方式)

    在这里插入图片描述

    文件上传(固定方式)

    文件上传的方式

    展开全文
  • 使用openoffice实现office文件预览

    千次阅读 2019-04-19 12:58:33
    项目中需要使用到office文件的预览服务,开发过程中使用[office365](http://www.officeweb365.com/)作文件预览,但是实际生产环境为内网,所以只能使用自己的文件预览。后来发现网上的openoffice组件可以提供文件的...
      项目中需要使用到office文件的预览服务,开发过程中使用[office365](http://www.officeweb365.com/)
      作文件预览,但是实际生产环境为内网,所以只能使用自己的文件预览。后来发现网上的openoffice组件可以提供文件的在线预览。
     1.在openoffice官网下载[windows安装包](http://www.openoffice.org/download/index.html)(也可以支持linux等,
     我开发时选择的是windows)
    

    在这里插入图片描述
    下载后直接基本一直点下一步就可以,在中间需要记住安装的目录,会在开发中使用。安装好之后启动openoffice需要进入安装目录下的program中,按shift+鼠标右键选择打开windows命令行
    执行: soffice -headless -accept=“socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard
    查看是否启动成功:netstat -ano|findstr “8100”
    2.下载swfttools,用于将pdf转换成swf文件,并安装。
    3.下载pdf.js文件,用于前端展示转换成pdf的文件。
    4.在项目中引入openoffice相关的jar

     <!--文件预览相关jar-->
            <dependency>
                <groupId>com.hand.hap</groupId>
                <artifactId>jodconverter</artifactId>
                <version>2.2.2</version>
            </dependency>
    
            <dependency>
                <groupId>org.openoffice</groupId>
                <artifactId>juh</artifactId>
                <version>4.1.2</version>
            </dependency>
    
            <dependency>
                <groupId>org.openoffice</groupId>
                <artifactId>jurt</artifactId>
                <version>4.1.2</version>
            </dependency>
    
            <dependency>
                <groupId>org.openoffice</groupId>
                <artifactId>ridl</artifactId>
                <version>4.1.2</version>
            </dependency>
    
            <dependency>
                <groupId>org.openoffice</groupId>
                <artifactId>unoil</artifactId>
                <version>4.1.2</version>
            </dependency>
    
            <dependency>
                <groupId>com.thoughtworks.xstream</groupId>
                <artifactId>xstream</artifactId>
                <version>1.4.10</version>
            </dependency>
    

    其中jodconverter2.2.2在仓库中没有,需要自己上传后引入。可以网上搜索后下载。
    5.将pdf.js解压后引入项目中。我在项目中引入的路径为如下。
    在这里插入图片描述
    6.编写预览文件的页面,其实就是通过ifram引入pdf中的viewer.html。我的代码如下:

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>预览</title>
    </head>
    <body>
    <!--内容-->
    <div class="mim_content">
        <iframe id="filePreview" width="100%"height="700px" src="../../static/pdf/viewer.html?file=${fileurl}"></iframe>
    </div>
    </body>
    </html>
    <script src="../../static/js/jquery.js"></script>
    <script charset="UTF-8">
        //向后台发送请求用于将文件转换成pdf后返回路径,由于是测试,文件名称和路径固定死的
        $.ajax({
            url:"http://localhost:8080/shenmu_war_exploded/filePreview/onlinefile",
            type:"POST",
            data:{
                "fileUrl":"attached/class_culture/1127模式下修改最新控制模式.xls",
                "fileLocation":"attached/class_culture/",
            },
            success:function(data){
               //将iframe的src指到viewer.html并将文件路径附上
                $("#filePreview").attr("src","../../static/pdf/viewer.html?file=/shenmu_war_exploded/"+data)
            },
            error:function(data){
            }
        });
    </script>
    

    7.后台controller代码:

    package com.acat.controller.filepreview;
    
    import com.acat.util.DocConverter;
    import org.springframework.web.bind.annotation.*;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * @Description:文件转换成pdf
     * @Author:
     * @Date: Created in 15:48 2019-04-18
     * @Modified By:
     */
    @RestController
    @RequestMapping("/filePreview")
    public class FilePreviewController {
    
        /**
         * 将文件转换成pdf并返回路径 produces = "text/plain;charset=utf-8"用于解决返回中文文件名乱码问题,如果spring中已经配置过就不需要
         * @param fileUrl 文件的url
         * @param fileLocation 文件地址
         * @param request
         * @param response
         * @return 返回生成的pdf文件地址
         */
        @ResponseBody
        @PostMapping(value = "/onlinefile",produces = "text/plain;charset=utf-8")
        public String onlinefile(@RequestParam(value = "fileUrl")String fileUrl,@RequestParam(value = "fileLocation")String fileLocation,HttpServletRequest request, HttpServletResponse response) {
            String pdfFileLocation;
            response.setHeader("Access-Control-Allow-Origin", "*");
            String filePath = request.getSession().getServletContext().getRealPath("/");
            //源文件地址调用的方法同样需要传文件的绝对路径
            DocConverter d = new DocConverter(filePath+fileUrl);
            //d.getPdfName()是返回的文件名 需要加上项目绝对路径 不然会以相对路径访问资源
            d.conver();
            pdfFileLocation = fileLocation+d.getPdfName();
            return pdfFileLocation;
        }
    }
    
    

    8.文件转换类的代码:(linux的代码后期逐步完善)

    package com.acat.util;
    
    import com.artofsolving.jodconverter.DocumentConverter;
    import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
    import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
    import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
    
    import java.io.*;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    import java.util.Properties;
    
    import com.lowagie.text.Document;
    import com.lowagie.text.Image;
    import com.lowagie.text.PageSize;
    import com.lowagie.text.pdf.PdfWriter;
    import org.apache.log4j.Logger;
    
    /**
     * @Description:openoffice将文件转换为pdf的工具类
     * @Author:
     * @Date: Created in 16:07 2019-04-18
     * @Modified By:
     */
    public class DocConverter {
        private static final Logger logger = Logger.getLogger(DocConverter.class);
    
        /**
         * 环境 1:windows 2:linux
         */
        private static final Integer WINDOWS_ENVIROMENT=1;
        private static final Integer LINUX_ENVIROMENT=2;
        private static final int environment = WINDOWS_ENVIROMENT;
        /**
         * (只涉及pdf2swf路径问题)
         */
        private String fileString;
        /**
         * 输入路径 ,如果不设置就输出在默认的位置
         */
        private String outputPath = "";
        private String fileName;
        /**
         *  office办公软件格式
         */
        private static String[] docFileLayouts = { ".txt", ".doc", ".docx", ".wps", ".xls", ".xlsx", ".et", ".ppt", ".pptx",
                ".dps" };
        /**
         * 图片格式
         */
        private static String[] imgFileLayouts = { ".jpg", ".gif", ".jpeg", ".png", ".bmp" };
        /**
         * pdf格式
         */
        private static String[] pdfFileLayouts = { ".pdf" };
        private File imgFile;
        /**
         * 原文件
         */
        private File oldFile;
        private File pdfFile;
        private File swfFile;
        private File docFile;
    
        private String pdf2swfPath;
    
        /**
         * 可预览的文件格式
         *
         * @param
         */
        public static String getPreviewFileExt() {
            List list = new ArrayList(Arrays.asList(docFileLayouts));
            list.addAll(Arrays.asList(imgFileLayouts));
            list.addAll(Arrays.asList(pdfFileLayouts));
            Object[] c = list.toArray();
            return Arrays.toString(c);
        }
    
        public DocConverter(String fileurl) {
            ini(fileurl);
        }
    
        /**
         * 重新设置file
         * @param fileurl
         */
        public void setFile(String fileurl) {
            ini(fileurl);
        }
    
        /**
         * 初始化
         * @param fileurl
         */
        private void ini(String fileurl) {
            this.fileString = fileurl;
            fileName = fileString.substring(0, fileString.lastIndexOf("."));
            int type = fileString.lastIndexOf(".");
            String typeStr = fileString.substring(type);
            if (Arrays.toString(docFileLayouts).contains(typeStr)) {
                docFile = new File(fileString);
            } else if (Arrays.toString(imgFileLayouts).contains(typeStr)) {
                imgFile = new File(fileString);
            } else if (Arrays.toString(pdfFileLayouts).contains(typeStr)) {
                oldFile = new File(fileString);
            }
            pdfFile = new File(fileName + ".pdf");
        }
    
        /**
         * 转为PDF
         */
        private void doc2pdf() throws Exception {
            if (docFile != null && docFile.exists()) {
                if (!pdfFile.exists()) {
                    //openoffice的连接地址及端口
                    OpenOfficeConnection connection = new SocketOpenOfficeConnection("localhost", 8100);
                    try {
                        connection.connect();
                        DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
                        converter.convert(docFile, pdfFile);
                        connection.disconnect();
                        logger.info("pdf转换成功,PDF输出地址为:" + pdfFile.getPath());
                    } catch (java.net.ConnectException e) {
                        e.printStackTrace();
                        logger.info("swf转换器异常,openoffice服务未启动!");
                        throw e;
                    } catch (com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException e) {
                        e.printStackTrace();
                        logger.info("swf转换器异常,读取转换文件失败");
                        throw e;
                    } catch (Exception e) {
                        e.printStackTrace();
                        throw e;
                    }
                } else {
                    logger.info("已经转换为pdf,不需要再进行转化");
                }
            } else {
                logger.info("swf转换器异常,需要转换的文档不存在,无法转换");
            }
        }
    
        /**
         * 将图片转换成pdf文件 imgFilePath 需要被转换的img所存放的位置。
         * 例如imgFilePath="D:\\projectPath\\55555.jpg"; pdfFilePath 转换后的pdf所存放的位置
         * 例如pdfFilePath="D:\\projectPath\\test.pdf";
         * @return
         * @throws IOException
         * @throws Exception
         */
        private void imgToPdf() throws Exception {
            if (imgFile != null && imgFile.exists()) {
                if (!pdfFile.exists()) {
                    Document document = new Document();
                    FileOutputStream fos = null;
                    try {
                        fos = new FileOutputStream(pdfFile.getPath());
                        PdfWriter.getInstance(document, fos);
                       // 添加PDF文档的某些信息,比如作者,主题等等
                        document.addAuthor("神朔铁路机务段");
    //                    document.addSubject("test pdf.");
                        // 设置文档的大小
                        document.setPageSize(PageSize.A4);
                        // 打开文档
                        document.open();
                        // 写入一段文字document.add(new Paragraph("JUST TEST ..."));
                        // 读取一个图片
                        Image image = Image.getInstance(imgFile.getPath());
                        float imageHeight = image.getScaledHeight();
                        float imageWidth = image.getScaledWidth();
                        int i = 0;
                        while (imageHeight > 500 || imageWidth > 500) {
                            image.scalePercent(100 - i);
                            i++;
                            imageHeight = image.getScaledHeight();
                            imageWidth = image.getScaledWidth();
                        }
                        image.setAlignment(Image.ALIGN_CENTER);
                        document.add(image);
                    } catch (Exception de) {
                        System.out.println(de.getMessage());
                    }
                    document.close();
                    fos.flush();
                    fos.close();
                }
            }
        }
    
        /**
         * 转换成 pdf
         */
        @SuppressWarnings("unused")
        private void pdfTopdf() throws Exception {
            Runtime r = Runtime.getRuntime();
            if (!pdfFile.exists() && oldFile.exists()) {
                // windows环境处理
                if (environment == WINDOWS_ENVIROMENT) {
                    try {
                        int bytesum = 0;
                        int byteread = 0;
                        File oldfile = new File(oldFile.getPath());
                        // 文件存在时
                        if (oldfile.exists()) {
                            // 读入原文件
                            InputStream inStream = new FileInputStream(oldFile.getPath());
                            FileOutputStream fs = new FileOutputStream(pdfFile.getPath());
                            byte[] buffer = new byte[1444];
                            int length;
                            while ((byteread = inStream.read(buffer)) != -1) {
                                // 字节数 文件大小
                                bytesum += byteread;
                                fs.write(buffer, 0, byteread);
                            }
                            inStream.close();
                        }
                    } catch (Exception e) {
                        logger.info("复制单个文件操作出错");
                        e.printStackTrace();
    
                    }
                    // linux环境处理 TODO参照windows下进行操作
                } else if (environment == LINUX_ENVIROMENT) {
    
                }
            } else {
                logger.info("pdf不存在,无法转换");
            }
        }
    
        /**
         * 转换成 swf
         */
        @SuppressWarnings("unused")
        private void pdf2swf() throws Exception {
            Runtime r = Runtime.getRuntime();
            if (!swfFile.exists()) {
                if (pdfFile.exists()) {
                    // windows环境处理
                    if (environment == WINDOWS_ENVIROMENT) {
                        try {
                            // 从配置文件获取swfFile.exe 安装路径
                            InputStream in = DocConverter.class.getClassLoader()
                                    .getResourceAsStream("flow/pdf2swfPath.properties");
                            Properties config = new Properties();
                            try {
                                config.load(in);
                                in.close();
                            } catch (IOException e) {
                                System.err.println("加载配置文件失败");
                            }
                            if (config != null && config.getProperty("pdf2swfPath") != null) {
                                pdf2swfPath = config.getProperty("pdf2swfPath").toString();
                            }
    
                            Process p = r
                                    .exec(pdf2swfPath + " " + pdfFile.getPath() + " -o " + swfFile.getPath() + " -T 9");
                            swfFile = new File(swfFile.getPath());
                        } catch (IOException e) {
                            e.printStackTrace();
                            throw e;
                        }
                        // linux环境处理TODO参照windows下进行操作
                    } else if (environment == LINUX_ENVIROMENT) {
                        try {
                            Process p = r.exec("pdf2swf " + pdfFile.getPath() + " -o " + swfFile.getPath() + " -T 9");
                        } catch (Exception e) {
                            e.printStackTrace();
                            throw e;
                        }
                    }
                } else {
                    System.out.println("pdf不存在,无法转换");
                }
            } else {
                System.out.println("swf已经存在不需要转换");
            }
        }
    
        static String loadStream(InputStream in) throws IOException {
            int ptr = 0;
            in = new BufferedInputStream(in);
            StringBuffer buffer = new StringBuffer();
            while ((ptr = in.read()) != -1) {
                buffer.append((char) ptr);
            }
            return buffer.toString();
        }
    
        /**
         * 转换主方法
         */
        @SuppressWarnings("unused")
        public boolean conver() {
            if (pdfFile.exists()) {
                logger.info("swf转换器开始工作,该文件已经转换为swf");
                return true;
            }
            if (environment == WINDOWS_ENVIROMENT) {
                logger.info("swf转换器开始工作,当前设置运行环境windows");
            } else {
                logger.info("****swf转换器开始工作,当前设置运行环境linux");
            }
            try {
                doc2pdf();
                imgToPdf();
                pdfTopdf();
            } catch (Exception e) {
                e.printStackTrace();
                return false;
            }
    
            if (pdfFile.exists()) {
                return true;
            } else {
                return false;
            }
        }
    
        /**
         * 返回文件路径
         */
        public String getPdfName() {
            String tempString = pdfFile.getName();
            return tempString;
        }
    
        /**
         * 设置输出路径
         */
        public void setOutputPath(String outputPath) {
            this.outputPath = outputPath;
            if (!outputPath.equals("")) {
                String realName = fileName.substring(fileName.lastIndexOf("/"), fileName.lastIndexOf("."));
                if (outputPath.charAt(outputPath.length()) == '/') {
                    swfFile = new File(outputPath + realName + ".swf");
                } else {
                    swfFile = new File(outputPath + realName + ".swf");
                }
            }
        }
    
    }
    

    文件中有一个配置文件flow/pdf2swfPath.properties,用于配置pdf2swfPath的安装目录:

    ##pdf2swfPath的安装目录
    pdf2swfPath=D:/openoffice/soft/swfttools/pdf2swf.exe
    

    到这里文件转换就完成了,这里需要注意,进行转换时候,需要将openoffice开启。我尝试过txt,docx,pptx,xlsx文件均正常。
    我将需要的相关jar及js上传到我的下载中,需要的可以去下载。

    展开全文
  • 只读模式打开"c:\a.xlsx"目录下的文件。   Dim ex AS New Microsoft.Office.Interop.Excel.Application Dim wb AS Microsoft.Office.Interop.Excel.WorkBook = ex.WorkBooks.Open("c:\a.xlsx", , True) Dim sh...
  • NET网页在线批量看文件txt、jpg、word、cs、excel、ppt 预览相框模式JS
  • 微信小程序预览模式的注意事项本地设置真机调试没有问题预览模式出错 本地设置 真机调试没有问题 预览模式出错 开发工具中的本地设置 不对 import ‘wepy-async-function’,可以用async-await
  • 1、打开360浏览器极速模式 2、在地址栏输入chrome://settings/content,回车跳转到对应的内容设置页面 3、在内容设置页面找到插件部分,点击停用单个插件链接,页面跳转到插件页面 4、在插件页面找到Chromium PDF...
  • 在多可系统中,您可以采用HTML5预览、控件预览这两种方式来预览DWG、DXF 文件。 如果您的DWG、DXF文件以2D文件为主,对图纸预览的安全性要求比较高,建议启用HTML5预览方式。 一、HTML5预览方式的优点: l支持...
  • /// /// 在线预览Office文件 /// public class OfficeViewController : Controller { #region Index页面 /// /// Index页面 /// /// 例:/uploads/......XXX.xls
  • 我们的需求是将文件上传到另一个文件服务器,不存在本地,然后实现文件的增删查改和预览功能。 小白啊,IO操作什么的基本没弄过,网络学的也不好,就搞这个操作,颇费心力。在网上扒了无数的帖子,最终用了一个多周...
  • 昨晚搭建环境都花了好一会时间,主要在浪费在了安装 openoffice 这个依赖环境上(Mac 需要手动安装)。...kkFileView 是使用 spring boot 打造文件文档在线预览项目解决方案,支持 doc、docx、ppt、ppt.
  • 默认情况下,通过nginx服务器来访问pdf文件,在浏览器上是会直接打开该pdf文件呈现内容的。如果想要访问pdf文件时,实现下载文件的效果,则需要在nginx服务端做一些配置。 nginx配置如下: server { listen 80; ...
  • iOS提供技术显示您的应用程序不直接支持文件预览。的iOS还提供了文件类型关联一个系统的注册表,使您的应用程序来处理来自其他安装的应用程序文件的打开。这些强大的技术,包括UIKit框架的...
  • 使用场景,放置在附件服务器中的文件,需要用两种模式去访问,一种是浏览器直接访问,另一种是下载(采用流的方式) 附件访问代理 location / { root /data/nginx/static; } 附件下载代理 location /dl/ {...
  • office在线预览 word在线预览 ...1、word在线预览 excel在线预览,.net源代码,里面有上传word、excel文件生成在线预览文件(转html模式) 开发环境:visual studio 2010 + office 2013 在线演示地址: https://...
  • Tako是内联的可扩展文件树,带有github的文件预览。 支持新的Github暗模式! :party_popper: 发展历程 git clone cd tako yarn install yarn start 点击“加载解压”,然后选择tako/unpacked-extension 导航到...
  • VScode预览md文件

    2021-02-17 09:30:13
    Markdown文件预览(VScode) 1.打开vscode在插件寻找Markdown Preview Enhanced,并点击install. md View.PNG 2.具体按键功能: Shortcuts Functionality cmd-k v Open preview to the Side ctrl-...
  • 1.在vscode中使用md,首先应该熟悉...2.默认情况下,md文件打开是编辑模式,要再操作才能打开预览模式 "workbench.experimental.editorAssociations": [ { "viewType": "vscode.markdown.preview.editor", "file...
  • 点击文件实现WPS工具预览功能

    千次阅读 2020-07-02 17:41:40
    需要点击对应文件名弹窗WPS文件预览页面,效果如下: 一、首先在组件文件夹中建立如下文件 api.js文件如下:需与后端联调 import request from '@/router/axios' // 一键生成 export const hybgxxJsbg = ...
  • 纯JS预览PDF文件
  • vue使用FlexPaperViewer插件 预览swf文件 pdf转swf文件 项目有去右下角LOGO 右上角打印源码 可以加QQ相互学习:3179689033 链接: lhttps://github.com/loever/vue-FlexPaperViewer.git. <!DOCTYPE html PUBLIC ...
  • react文件预览

    2020-11-17 15:00:16
    react文件预览 下载插件 这里得注意一下自己的react的版本 react的版本大于等于16的react-pdf 用5.0及以上 react的版本大于等于15的react-pdf 用4.0及以上 <Document file={filePath} // file是预览文件的...
  • 实现一个文件预览的功能,FileDialog中切换不同的文件,能将文件中我们需要展示的信息显示出来。在实现过程思路就是利用Qt自带的QFileDialog 以 Qwidget 的方式添加到新的 QDialog 中,然后新增一个预览区域的...
  • 上面这段代码在本地和GitHub预览可以正常显示图片,但是在码云(gitee)预览无法正常显示 F12查看元素之后发现,在git上的元素是 <p> <img src="//github.com/{user}/{repository}/raw/***...
  • 此项目为文件文档在线预览项目解决方案,对标业内付费产品有【永中office】【office365】【idocv】等,在取得公司高层同意后以Apache协议开源出来反哺社区,在此特别感谢@唐老大的支持以及@端木详笑的贡献。...
  • Markdown),其中就有预览字体的设置,但对其中的代码块并不适用,如下图,代码注释中文字体比较难看。 如何解决呢?经过一翻研究发现如下两个方案: 解决办法 一、安装Markdown Preview Enh...
  • 网站中的上传相信大家都不陌生,也算是一个小小的技术难点,尤其时在asp.net中,上传的一些大小限制以及上传的进度的控制,以及用户体验等方面,今天在这里分享一个在asp.net mvc模式下的文件上传,同样适用于其它...
  • 使用 QuickLook 进行全屏文件预览

    万次阅读 2013-07-01 17:00:31
    此前我们一直在 UIWebView 中显示这些文件,它支持许多文件格式。幸亏有这种简单的处理方式,要不然就麻烦了。 这个办法很有效,但随后应用程序会变得迟缓,并暴露出一些可用性问题。对于需要直接面对大量用户的app...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 90,595
精华内容 36,238
关键字:

如何关闭文件预览模式