精华内容
下载资源
问答
  • .doc则无法这样实现,上网查询很多资料,大概思路是正确,既将.doc文档转成html,再将html转成pdf,具体实现时候,却发现很多方法都不完善,要么转换html标签不闭合,无法转pdf,要么是转pdf时中文不显示,...

    word文档有需要兼容.doc和.docx两种文档格式。其中.docx通过poi直接就可以将word转成pdf,.doc则无法这样实现,上网查询很多资料,大概思路是正确的,既将.doc文档转成html,再将html转成pdf,具体实现的时候,却发现很多方法都不完善,要么转换的html标签不闭合,无法转pdf,要么是转pdf时中文不显示,在下将方法汇总之后,整理出一套亲测可用的代码,现附上,如下:

     

    maven依赖:

            <!-- word转html -->
            <dependency> 
                 <groupId>org.apache.poi</groupId> 
                 <artifactId>poi</artifactId> 
                 <version>3.14</version> 
                </dependency> 
                <dependency> 
                 <groupId>org.apache.poi</groupId> 
                 <artifactId>poi-scratchpad</artifactId> 
                 <version>3.14</version> 
                </dependency> 
                <dependency> 
                 <groupId>org.apache.poi</groupId> 
                 <artifactId>poi-ooxml</artifactId> 
                 <version>3.14</version> 
                </dependency> 
                <dependency> 
                 <groupId>fr.opensagres.xdocreport</groupId> 
                 <artifactId>xdocreport</artifactId> 
                 <version>1.0.6</version> 
                </dependency> 
                <dependency> 
                 <groupId>org.apache.poi</groupId> 
                 <artifactId>poi-ooxml-schemas</artifactId> 
                 <version>3.14</version> 
                </dependency> 
                <dependency> 
                 <groupId>org.apache.poi</groupId> 
                 <artifactId>ooxml-schemas</artifactId> 
                 <version>1.3</version> 
                   </dependency>
            <!-- https://mvnrepository.com/artifact/com.lowagie/itext -->
    <!-- <dependency>
        <groupId>com.lowagie</groupId>
        <artifactId>itext</artifactId>
        <version>2.0.8</version>
    </dependency> -->
                 <!-- https://mvnrepository.com/artifact/org.xhtmlrenderer/core-renderer -->
                 <!-- html转pdf -->
                <dependency>
                    <groupId>org.xhtmlrenderer</groupId>
                    <artifactId>core-renderer</artifactId>
                    <version>R8</version>
                </dependency>
                                    
            <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
            <!-- html转xhtml -->
                <dependency>
                    <groupId>org.jsoup</groupId>
                    <artifactId>jsoup</artifactId>
                    <version>1.11.3</version>
                </dependency>
            
     

     

     

    代码:

    /**
     * 
     */
    package cn.test.util.utils;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;

    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;

    import org.apache.commons.collections.MapUtils;
    import org.apache.commons.lang.StringUtils;
    import org.apache.poi.hwpf.HWPFDocument;
    import org.apache.poi.hwpf.converter.PicturesManager;
    import org.apache.poi.hwpf.converter.WordToHtmlConverter;
    import org.apache.poi.hwpf.usermodel.Picture;
    import org.apache.poi.hwpf.usermodel.PictureType;
    import org.apache.poi.xwpf.converter.pdf.PdfConverter;
    import org.apache.poi.xwpf.converter.pdf.PdfOptions;
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    import org.apache.poi.xwpf.usermodel.XWPFParagraph;
    import org.apache.poi.xwpf.usermodel.XWPFRun;
    import org.apache.poi.xwpf.usermodel.XWPFTable;
    import org.apache.poi.xwpf.usermodel.XWPFTableCell;
    import org.apache.poi.xwpf.usermodel.XWPFTableRow;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Entities;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.w3c.dom.Document;
    import org.xhtmlrenderer.pdf.ITextFontResolver;
    import org.xhtmlrenderer.pdf.ITextRenderer;

    import com.itextpdf.text.DocumentException;
    import com.itextpdf.text.pdf.PdfCopy;
    import com.itextpdf.text.pdf.PdfImportedPage;
    import com.itextpdf.text.pdf.PdfReader;
    import com.lowagie.text.pdf.BaseFont;


    /**
     * @author gsxs
     *    <li>word转pdf工具类<li>
     *    @since 2019年2月26日15:52:21
     */
    public class Word2PDFUtils {

        private static final Logger logger = LoggerFactory
                .getLogger(Word2PDFUtils.class);

        public static void main(String[] args) {
            try {
                word2PDF("D://Test/test.doc",
                        "D:/Test/test.pdf");
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        /**
         * word文档转pdf,自动匹配.doc和.docx格式
         * 
         * @param wordFilePath
         *            word文档路径
         * @param pdfFilePath
         *            欲输出pdf文档路径
         * @throws Exception
         */
        public static File word2PDF(String wordFilePath, String pdfFilePath)
                throws Exception {
            if (StringUtils.isBlank(pdfFilePath)
                    || StringUtils.isBlank(wordFilePath)) {
                logger.info("word2PDF 文件路径为空,wordFilePath={},pdfFilePath={}",
                        wordFilePath, pdfFilePath);
                return null;
            }
            File wordFile = new File(wordFilePath);
            File pdfFile = new File(pdfFilePath);
            return word2PDF(wordFile, pdfFile);
        }

        /**
         * word文档转pdf,自动匹配.doc和.docx格式
         * 
         * @param wordFile
         *            word文档File对象
         * @param pdfFile
         *            pdfFile对象
         * @throws Exception
         * @throws FileNotFoundException
         */
        public static File word2PDF(File wordFile, File pdfFile) throws Exception {
            if (null == wordFile || null == pdfFile) {
                logger.info("word2PDF 文件对象为空,wordFile={},pdfFile={}", wordFile,
                        pdfFile);
                return null;
            }
            String wordName = wordFile.getName();
            if (!wordName.endsWith(".doc") && !wordName.endsWith(".docx")) {
                // 格式不对
                logger.info("不是word文档格式,文件路径={}", wordFile.getAbsolutePath());
                return null;
            }
            File pdfParentFile = pdfFile.getParentFile();
            if (!pdfParentFile.exists()) {
                pdfParentFile.mkdirs();
            }
            String absolutePath = pdfParentFile.getAbsolutePath();
            wordName = wordName.substring(0, wordName.indexOf("."));
            String pdfPath = absolutePath + "/pdf/" + wordName + ".pdf";
            File tempPdfFile = new File(pdfPath);
            if (wordFile.getName().endsWith("doc")) {
                String htmlPath = absolutePath + "/html/" + wordName + ".html";
                File htmlFile = new File(htmlPath);
                // doc格式word文档,先转成html,再格式化标签成xhtml,最后转成pdf
                wordDocToHtml(wordFile, htmlFile);
                convertHtmlToPdf(htmlFile, tempPdfFile);
                // 删除html文件
                boolean delete = htmlFile.delete();
                logger.info("删除htmlFile路径path={},结果={}",
                        htmlFile.getAbsolutePath(), delete);
            } else if (wordFile.getName().endsWith("docx")) {
                // docx格式转pdf
                wordConverterToPdf(new FileInputStream(wordFile),
                        new FileOutputStream(tempPdfFile), null);
            }
            // 抽取第一页
            splitPDFFile(tempPdfFile.getAbsolutePath(), pdfFile.getAbsolutePath(),
                    1, 2);
            // 删除临时的pdf文件
            boolean delete = tempPdfFile.delete();
            logger.info("删除tempPdfFile路径path={},结果={}",
                    tempPdfFile.getAbsolutePath(), delete);
            return pdfFile;
        }

        /**
         * 将word文档, 转换成pdf, 中间替换掉变量
         * 
         * @param source
         *            源为word文档, 必须为docx文档
         * @param target
         *            目标输出
         * @param params
         *            需要替换的变量
         * @throws Exception
         */
        private static void wordConverterToPdf(InputStream source,
                OutputStream target, Map<String, String> params) throws Exception {
            wordConverterToPdf(source, target, null, params);
        }

        /**
         * 将word文档, 转换成pdf, 中间替换掉变量
         * 
         * @param source
         *            源为word文档, 必须为docx文档
         * @param target
         *            目标输出
         * @param params
         *            需要替换的变量
         * @param options
         *            PdfOptions.create().fontEncoding( "windows-1250" ) 或者其他
         * @throws Exception
         */
        private static void wordConverterToPdf(InputStream source,
                OutputStream target, PdfOptions options, Map<String, String> params)
                throws Exception {
            XWPFDocument doc = new XWPFDocument(source);
            paragraphReplace(doc.getParagraphs(), params);
            // 存在需要替换的再循环
            if (MapUtils.isNotEmpty(params)) {
                for (XWPFTable table : doc.getTables()) {
                    for (XWPFTableRow row : table.getRows()) {
                        for (XWPFTableCell cell : row.getTableCells()) {
                            paragraphReplace(cell.getParagraphs(), params);
                        }
                    }
                }
            }
            PdfConverter.getInstance().convert(doc, target, options);
        }

        /**
         * 替换数据
         * 
         * @param paragraphs
         * @param params
         */
        private static void paragraphReplace(List<XWPFParagraph> paragraphs,
                Map<String, String> params) {
            if (MapUtils.isNotEmpty(params)) {
                for (XWPFParagraph p : paragraphs) {
                    for (XWPFRun r : p.getRuns()) {
                        String content = r.getText(r.getTextPosition());
                        if (StringUtils.isNotEmpty(content)
                                && params.containsKey(content)) {
                            r.setText(params.get(content), 0);
                        }
                    }
                }
            }
        }

        /**
         * .doc文档转html
         * 
         * @param wordFile
         *            word File对象
         * @param htmlFile
         *            html File对象
         */
        private static void wordDocToHtml(File wordFile, File htmlFile) {

            if (null == wordFile || null == htmlFile) {
                return;
            }
            File parentFile = htmlFile.getParentFile();
            if (!parentFile.exists()) {
                parentFile.mkdirs();
            }
            String absolutePath = parentFile.getAbsolutePath();
            HWPFDocument wordDocument;
            final String imagepath = absolutePath + "/temp/wordimage/";
            try {
                // 根据输入文件路径与名称读取文件流
                InputStream in = new FileInputStream(wordFile);
                // 把文件流转化为输入wordDom对象
                wordDocument = new HWPFDocument(in);
                // 通过反射构建dom创建者工厂
                DocumentBuilderFactory domBuilderFactory = DocumentBuilderFactory
                        .newInstance();
                // 生成dom创建者
                DocumentBuilder domBuilder = domBuilderFactory.newDocumentBuilder();
                // 生成dom对象
                Document dom = domBuilder.newDocument();
                // 生成针对Dom对象的转化器
                WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(
                        dom);
                // 转化器重写内部方法
                wordToHtmlConverter.setPicturesManager(new PicturesManager() {
                    @Override
                    public String savePicture(byte[] content,
                            PictureType pictureType, String suggestedName,
                            float widthInches, float heightInches) {
                        File imgPath = new File(imagepath);
                        if (!imgPath.exists()) {// 图片目录不存在则创建
                            imgPath.mkdirs();
                        }
                        File file = new File(imagepath + suggestedName);
                        try {
                            OutputStream os = new FileOutputStream(file);
                            os.write(content);
                            os.close();
                        } catch (FileNotFoundException e) {
                            e.printStackTrace();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                        return imagepath + suggestedName;
                    }
                });
                // 转化器开始转化接收到的dom对象
                wordToHtmlConverter.processDocument(wordDocument);
                // 保存文档中的图片
                List<?> pics = wordDocument.getPicturesTable().getAllPictures();
                if (pics != null) {
                    for (int i = 0; i < pics.size(); i++) {
                        Picture pic = (Picture) pics.get(i);
                        try {
                            pic.writeImageContent(new FileOutputStream(imagepath
                                    + pic.suggestFullFileName()));
                        } catch (FileNotFoundException e) {
                            e.printStackTrace();
                        }
                    }
                }
                // 从加载了输入文件中的转换器中提取DOM节点
                Document htmlDocument = wordToHtmlConverter.getDocument();
                // 从提取的DOM节点中获得内容
                DOMSource domSource = new DOMSource(htmlDocument);

                // 字节码输出流
                OutputStream out = new FileOutputStream(htmlFile);
                // 输出流的源头
                StreamResult streamResult = new StreamResult(out);
                // 转化工厂生成序列转化器
                TransformerFactory tf = TransformerFactory.newInstance();
                Transformer serializer = tf.newTransformer();
                // 设置序列化内容格式
                serializer.setOutputProperty(OutputKeys.ENCODING, "Unicode");//此处根据你 的word文档的编码格式进行设置
                serializer.setOutputProperty(OutputKeys.INDENT, "yes");
                serializer.setOutputProperty(OutputKeys.METHOD, "html");

                serializer.transform(domSource, streamResult);
                out.close();
                in.close();
            } catch (FileNotFoundException e1) {
                e1.printStackTrace();
            } catch (IOException e1) {
                e1.printStackTrace();
            } catch (TransformerConfigurationException e) {
                e.printStackTrace();
            } catch (TransformerException e) {
                e.printStackTrace();
            } catch (ParserConfigurationException e) {
                e.printStackTrace();
            }

        }

        /**
         * .doc转html
         * 
         * @param wordFilePath
         * @param htmlFilePath
         */
        private static void wordDocToHtml(String wordFilePath, String htmlFilePath) {

            if (org.apache.commons.lang3.StringUtils.isAnyBlank(wordFilePath,
                    htmlFilePath)) {
                return;
            }
            File wordFile = new File(wordFilePath);
            File htmlFile = new File(htmlFilePath);
            wordDocToHtml(wordFile, htmlFile);
        }

        /**
         * html转pdf
         * 
         * @param htmlFile
         * @param pdfFile
         * @return
         * @throws Exception
         */
        private static boolean convertHtmlToPdf(File htmlFile, File pdfFile)
                throws Exception {
            if (null == htmlFile || null == pdfFile) {
                logger.info("html转pdf时,有file为空,htmlFile={},pdfFile={}", htmlFile,
                        pdfFile);
                return false;
            }
            String absoluteFilePath = htmlFile.getParentFile().getAbsolutePath();
            if (!pdfFile.getParentFile().exists()) {
                pdfFile.getParentFile().mkdirs();
            }

            // .doc转成的html中有些标签:例如<mate>不严谨,会出现标签不闭合问题,在转pdf时会报异常,故此处用jsoup将html转化成xhtml,将标签严谨化
            // 格式化html标签
            org.jsoup.nodes.Document parse = Jsoup.parse(htmlFile, "utf-8");
            parse.outputSettings()
                    .syntax(org.jsoup.nodes.Document.OutputSettings.Syntax.xml)
                    .escapeMode(Entities.EscapeMode.xhtml);
            String html = parse.html();
            // 此处将body标签中的字体设置为SimSun,必须是这种样式,才会识别中文支持的文件,如果不设置,会出现转成的pdf中文不显示问题(此处需要替换的字段,可用将自己转成的html打印出来,查看是否是宋体,如不是,将宋体改为你转换成html的字体格式)
            html = html.replace("font-family:宋体", "font-family: SimSun");
            OutputStream os = new FileOutputStream(pdfFile);
            ITextRenderer renderer = new ITextRenderer();
            renderer.setDocumentFromString(html);
            // 解决中文支持问题
            ITextFontResolver fontResolver = renderer.getFontResolver();
            String path = Word2PDFUtils.class.getClassLoader()
                    .getResource("simsun.ttc").getPath();
            logger.info(path);
            fontResolver.addFont(path, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
            // 解决图片的相对路径问题
            renderer.getSharedContext().setBaseURL(
                    "file:" + absoluteFilePath + "/temp/htmlimage");
            renderer.layout();
            renderer.createPDF(os);
            os.flush();
            os.close();
            return true;

        }

        /**
         * html转pdf
         * 
         * @param inputFile
         * @param outputFile
         * @return
         * @throws Exception
         */
        private static boolean convertHtmlToPdf(String inputFile, String outputFile)
                throws Exception {
            if (org.apache.commons.lang3.StringUtils.isAnyBlank(inputFile,
                    outputFile)) {
                logger.info("html转pdf是,路径为空,inputFile={},outputFile={}", inputFile,
                        outputFile);
                ;
                return false;
            }
            File htmlFile = new File(inputFile);
            File pdfFile = new File(outputFile);
            return convertHtmlToPdf(htmlFile, pdfFile);
        }

        /**
         * 截取pdfFile的第from页至第end页,组成一个新的文件名
         * 
         * @param pdfFile
         *            需要分割的PDF
         * @param savepath
         *            新PDF
         * @param from
         *            起始页
         * @param end
         *            结束页
         */
        private static void splitPDFFile(String respdfFile, String savepath,
                int from, int end) {
            com.itextpdf.text.Document document = null;
            PdfCopy copy = null;
            try {
                PdfReader reader = new PdfReader(respdfFile);
                int n = reader.getNumberOfPages();
                if (end == 0) {
                    end = n;
                }
                ArrayList<String> savepaths = new ArrayList<String>();
                savepaths.add(savepath);
                document = new com.itextpdf.text.Document(reader.getPageSize(1));
                copy = new PdfCopy((com.itextpdf.text.Document) document,
                        new FileOutputStream(savepaths.get(0)));
                document.open();
                for (int j = from; j < end; j++) {
                    document.newPage();
                    PdfImportedPage page = copy.getImportedPage(reader, j);
                    copy.addPage(page);
                }
                document.close();
                reader.close();
                copy.close();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (DocumentException e) {
                e.printStackTrace();
            }
        }

    }
     

     

    其中.doc文档转html方法与其他一样,只是转完html时需要用jsoup转一遍xhtml,使标签严谨化,然后转pdf,转pdf时加入中文字体支持,

    如果报没有搜索到方法的异常,可能是jar包版本的问题,就将<!-- <dependency>
        <groupId>com.lowagie</groupId>
        <artifactId>itext</artifactId>
        <version>2.0.8</version>
    </dependency> -->依赖放开试试,我开始的时候遇见过这个异常,后来随着导入的依赖增多,这个依赖注掉也不会有这个异常了。可能是其他的依赖里有这个版本--2.0.8的itext的jar包,但是不确定你的其他依赖里是否存在,故此说明

     

     

    另外附上文件simsun.ttc百度云下载地址:

    链接:https://pan.baidu.com/s/1iH4iqJB2X_0gB7T4_CClzA 
    提取码:7rmn

    展开全文
  • 在工作中,总是有着各种问题出现,就拿文件转换来说,在办公中各种文件都有接触,那如何将Word转换成pdf文档了,可能大多数人会使用电脑进行转换,但是我想说就是,这个是不用,只需要给我一部手机,就能快速为...

    在工作中,总是有着各种问题出现,就拿文件转换来说,在办公中各种文件都有接触,那如何将Word转换成pdf文档了,可能大多数人会使用电脑进行转换,但是我想说的就是,这个是不用的,只需要给我一部手机,就能快速为你转换。

    d137aad0bcfd273c0cd7853e514454a0.gif

    工具:迅捷PDF转换器

    大小:11.7MB

    版本:2.0.1

    应用标签:商务、办公软件

    下载方法:在各大应用市场中搜索【迅捷PDF转换器】,然后点击下载即可。

    cf182b90ce732b87fbbe1a9918f87e8c.png

    办公室中的Word转pdf文档,不用其他,只用一款APP即可搞定,简单方便又迅速,下面就来一起看看文件之间是如何转换的吧。

    1.打开安装完成后的迅捷PDF转换器,然后挑选自己需要用到的功能,进入其中添加需要用到的文件。

    c1c0f7b7f7385305f84eba1e36aa39dd.png

    2.添加完成后,点击【确认转换】然后等待转换完成,可以直接点击【预览】,也能点击【进入文件库】。

    a7bf1bb9139fbb706364cb5762e51553.png

    3.返回到在文件库中,就会看到文件后面有一个【新】的标记,点击进入就可以查看文档了。

    c0987aaec02986826fc57b90d105dfe0.png

    根据以上操作就可以完成Word转pdf文档啦。若是想要实现其他稳定之间的转换,也都是可以按照此方法操作哟!

    展开全文
  • 此方法适用于直接转换cccc.pdf文档到WORD文档为乱码情况 1、剪裁PDF文档:在文电通PDF Gold中打开cccc.pdf,在菜单栏上选择工具/标准/剪裁,然后在文档显示页面上双击,就打开了剪裁区域对话框,按照要求剪裁就...
    此方法适用于直接转换cccc.pdf文档到WORD文档为乱码的情况
    

    1、剪裁PDF文档:文电通PDF Gold中打开cccc.pdf,在菜单栏上选择工具/标准/剪裁,然后在文档显示页面上双击,就打开了剪裁区域对话框,按照要求剪裁就可以了,然后另存为ccccnew.pdf。

    2、文字识别到txt:在OCR识别软件汉王PDF识别软件中打开ccccnew.pdf,选择全部,然后开始识别,就将识别出的文件保存在ccccnew文件夹下了。

    3、合并txt文档。在ccccnew文件夹下新建文本文件合并.bat,文件内容编辑为type  *.txt       >>   all.txt,保存并双击运行它,就将识别输出的一组txt文件合并到了all.txt文件。

    4、在WORD中编辑整理文档:将all.txt文件内容拷贝到cccc.doc,然后利用查找替换功能批量编辑整理word文档,如合并段落、去除空行、设置章节字体标题、整理表格等。

    注: 1、整理word文档的方法见《Word高级查找与替换》。

    2、图表和科学式可以在PDF中剪裁图片(如QQ中Ctrl+Alt+A)粘贴到 word中。

         

    展开全文
  • 本书可作为高等院校电子工程 通信 工业自动化 计算机应用技术 电子对抗仪器仪表 数字信号处理 图像处理等学科领域和专业高年级本科生或研究生 VHDL或 EDA 技术课程教材及实验指导 也可作为相关专业技术人员...
  • word分词是一个Java实现分布式中文分词组件,提供了多种基于词典分词算法,并利用ngram模型来消除歧义。能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名等未登录词。能通过...
  • 第一种用H5标签<iframe>标签实现 返回的文件类型,文件流,文件流返回...关于office文档,网上有很多文档,office系列可以在服务端将 word,pptx文件转换为pdf的文件流或者文件进行显示。 excel文本类型,...
    第一种用H5标签<iframe>标签实现
      返回的文件类型,文件流,文件流返回必须在设置 contentType对应的Mime Type,
      返回文件的物理位置。
      已经实测可以支持的文件类型 txt,pdf。关于office文档,网上有很多文档,office系列可以在服务端将 word,pptx文件转换为pdf的文件流或者文件进行显示。
      excel文本类型,在网上有sheet.js进行excel的文件预览,暂未实测
     <iframe  src='' width='100%' height='100%' >
     <iframe  src="test.docx" width='100%' height='100%' >

     

      

    第二种app端的文件下载,
    
       需引入“cordova.js”进行文件下载,此段代码调用app端默认浏览器,进行文件下载。需要设置后对应的contentType,文件头等信息。
    
       navigator.app.loadUrl(encodeURI(url), { openExternal:true}); 使用这段脚本进行后台的下载,在实测过程中,后台需要设置好对应的头部文件描述信息

    在安卓上面以上方法可以实现,在ios情况下,上面的方法不支持
    文档地址:https://cordova.apache.org/docs/zh-cn/3.1.0/cordova/inappbrowser/window.open.html
         window.open(encodeURI('downloadurl') ,'_system');
         在ios 和安卓window.open 都可以打开系统内置浏览器实现文件的预览功能,亲测在safari浏览器的情况下,可以直接预览各类文件,只不过safari对MIME TYPE比较严  格,需要区别xls ,xlsx等。

     

    转载于:https://www.cnblogs.com/MasterLin/p/10882087.html

    展开全文
  • 仅当Pdf是加标签的Pdf时,方可将注释导出到Word文档。 在这个“导航栏”右键选择“添加/编辑工具集”,中选择添加“辅助工具”里面“添加标签到文档”就会在“导航栏”中出现下面用红色圈“按钮”:点击这个...
  • 5. 输出为PDF文档

    千次阅读 2011-05-02 22:02:00
    同一份PDF文档,在Linux和在Windows下的排版效果是一样的,而且我感觉PDF的显示效果要比Word的好一些。PDF的阅读软件几乎都是免费的(当然,如果只是阅读Word/Excel/PowerPoint文档,也有免费的Viewer阅读器)。桌面...
  • java生成word

    2015-07-21 13:33:56
    项目要搞word,pdf导出,一开始用itext直接写,可是word内容太复杂,那家伙确实不敢恭维...①:新建一个word文档,设计好word样式及文件内容,需要动态插入到word中内容用标签先定义好,另存为xml格式 ②:打开xml文
  • vue 预览本地pdf等文件

    千次阅读 2020-09-01 19:28:01
    新窗口预览pdf文件等,直接使用a标签即可(word文档直接下载...项目中遇到的问题是,预览放在项目中的本地pdf,无论如何都显示不出pdf的内容。后来发现,要预览的文件要放在public下, 使用绝对路径加载就可以了。 ...
  • 4. 标题瞬间搜索和全文快速搜索:支持“a b .doc”查找同时包括a和b 关键字的word文档等 5. 集成google桌面搜索 二、针式PKM 和 Evernote、Wiz、mybase等笔记软件是互补类软件,建议同时使用; 因为针式PKM 主要...
  • .Net NPOI Word模板关键内容替换

    千次阅读 2019-04-26 17:34:32
    在开发的一个项目中,需要根据给定的文档模板,将数据库中的数据形成模板样式的pdf文件,刚开始使用的是itext创建table的方式创建生成pdf,后来在调试中发现使用itext创建的pdf的样式与模板差别很大,比如封面固定为...
  • 如何优雅地在 microsoft word 插入代码块标签:插入代码优雅microsoft word文档如何优雅地在 microsoft word 插入代码块此步骤适用于文档中需要插入代码或者某些特定段落1. 选择菜单表格2. 选择1*1表格3. 设置字体...
  • 1. 建议转pdf的时候用word2010转,另存为里面有pdf选项。(03没有该选项)。里面会有一个默认选项是 什么什么用位图显示,不要选这个默认选项,选第一个选项就是用iso标准什么的(具体记不太清楚) 2. 转成pdf之后...
  • 1. Taggie会自动获得当前文件的特定属性,例如文件创建日期、pdf的页数、已有关键词等,并根据这些信息为该文件创建一个UUID.lnk,如果开启了Distributed Link Tracking Client服务,在本地计算机你可以随意重命名...
  • 宏病毒可感染 Word或Excel 制作的文档文件 214. 在Excel 中进行单元格复制时无论单元格是什么内容复制出来的内容与原单元格总是完 215. 在Excel 中如果一个数据清单需要打印多页且每页有相同的标
  • 主要内容有C#开发环境使用、C#语言基础应用、字符串处理技术、数组和...使用、DataGridView数据控件、自定义用户控件、文件基本操作、文件夹基本操作、文件流操作、加密、解密及解压缩文件、C#与Word互操作、高效...
  • WinEdt(LaTeX/TeX文档编辑器) 破解版 32bit & 64bit是一个Windows平台下强大通用文本编辑器,其更倾向于LaTeX/TeX文档的编辑。WinEdt被应用于诸如TeX、HTML或NSIS等编译器和排版系统前端软件。WinEdt突出...
  •  cc实例070 利用RichEdit显示Word文档   cc实例071 利用RichEdit控件实现文字定位与标识   cc实例072 利用RichEdit控件显示图文数据   2.8 图形类控件典型实例   cc实例073 图文数据录入   cc实例...
  • 介绍了应用Java Web进行程序开发各个方面知识和技巧,主要包括Java Web编程基础、文件操作管理、图形图像与多媒体技术、窗体应用技术、JSP操作Word与Excel等。全书分6篇23章,共计600个实例和600个经验技巧。每...
  • 3.9.1 将网页保存为Word文档 3.9.2 学生管理系统中用户登录模块 3.10 疑难解惑 3.10.1 表单提交中文数据乱码 3.10.2 如何在超链接中传递多个参数 3.10.3 重定向后出现404错误 3.11 精彩回顾 第4章 体验面向对象 1...
  • (4)在 “ _start_armboot: .word start_armboot ”后加入: .align 2 DW_STACK_START: .word STACK_BASE+STACK_SIZE-4 三、创建 board/fs2410/nand_read.c 文件,加入读 NAND Flash 操作。 #include ...
  • 3.9.1 将网页保存为Word文档 3.9.2 学生管理系统中用户登录模块 3.10 疑难解惑 3.10.1 表单提交中文数据乱码 3.10.2 如何在超链接中传递多个参数 3.10.3 重定向后出现404错误 3.11 精彩回顾 第4章 体验面向对象 1...
  • 实例249 始终在桌面最顶层显示的窗体 11.2 设置窗体大小 实例250 设置窗体大小 实例251 根据桌面大小调整窗体大小 实例252 自定义最大化、最小化和关闭按钮 实例253 禁止改变窗体大小 11.3 设置窗体标题...
  • 实例249 始终在桌面最顶层显示的窗体 11.2 设置窗体大小 实例250 设置窗体大小 实例251 根据桌面大小调整窗体大小 实例252 自定义最大化、最小化和关闭按钮 实例253 禁止改变窗体大小 11.3 设置窗体标题...
  • 3.3 文本换行显示-word-wrop属性 实战体验:防止表格标题行换行 3.4 CSS 3文本模块解析 3.5 CSS 3不同版本之间文本规范差异 3.6 HSL色彩模式 实战体验:网页配色解决方案表 3.7 HSLA色彩模式 ...
  • 近期,开发了一个后台管理项目,主要功能是后台录入文本数据,前台页面展示,同时生成word文档;后台录入没有涉及到富文本编辑框,只有textarea,但要求保留textarea中输入换行符;此时显示到web页面上时可以用...
  • Qt5开发及实例(完整版PDF)part1

    热门讨论 2015-03-06 13:35:41
    第17章 综合实例:Qt版Word字处理软件 535 17.1 核心功能界面演示 535 17.2 界面设计与开发 537 17.2.1 建立MDI程序框架 537 17.2.2 菜单系统设计 542 17.2.3 工具栏设计 556 17.2.4 子窗口管理 561 17.2.5 界面生成...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 121
精华内容 48
关键字:

word文档显示pdf的标