精华内容
下载资源
问答
  • vue对word文档处理思路
    2021-01-06 19:45:09

    1.转成PDF文档

    使用vue-pdf插件阅读更加推荐

    更多相关内容
  • word文档处理

    2014-06-14 15:05:20
    word文档处理要么用itext写word文档,要么用Poi读word文档,还有用jacob 或者那个java2word ,但是java2word和jacob 不太好的一点就是容易在服务器上生成多个关闭不了的winword.exe线程
  • WORD文档处理习题.doc

    2020-04-01 15:12:54
    word资料可编辑 学习参考 WORD文档处理习题2011-05-12 18:38 1 . 填空题 (1)Word 窗口由? ? ? ? ? ? ? 滚动条标尺编辑区状态栏等元素组成 (2)在Word 中编辑文档时,每按一次Enter 键就形成一个段落,并产生一个_ (3)...
  • 好用的office word文档处理.net组件,尤其服务器端批量读取office word文档,不再安装Microsoft office,不再困扰进程问题
  • 微软公司的office word软件是一个通用的功能强大的文字处理软件,本实例是采用QT5开发的类似于word文字处理的软件,代码完整,方便学习,可以编辑出精美的文档
  • 处理Word文档,接口不全,在前人基础上进行了简单修改和注释。请大家酌情使用。
  • 2.菜单栏和工具栏具有基本的Word文档功能: a) 文件有新建、打开、保存、打印等功能; b) 文件编辑有撤销、重做、复制、剪切、粘贴的功能; c) 文本编辑格式有:字体(粗体、下划线、斜体)、字体大小、字体颜色、段落...
  • word文档批量处理大师(含授权文件),批量处理word文件,改格式,改页眉页脚,替换文字等
  • word文档批量处理大师软件特色  多任务集中处理,一次完成所有任务,效率高,处理速度更快。处理完毕后,可自动生成压缩文件。处理过程有提示,对于无法处理的文档进行标记,方便用户进行特殊处理
  • word文档批量处理大师是一款非常实用的办公文档批量处理软件,他的占用面积小,并且简单快捷,针对性强,特别是对Word文档进行批量处理。现在Word文档办公已经涉及到了我们方方面面,用这款软件可以快速的提供效率,...
  • word文档批量处理大师软件精致,简单易用,针对性强,是特别针对Office办公软件中的Word文档进行批量处理的软件。可针对Word中的绝大多数功能进行批量操作,速度快,进行简单设置即可让计算机自动处理海量word文档,...
  • Word文档批量处理大师软件精致小巧,简单易用,针对性强,是特别针对Office办公软件中的Word文档进行批量处理的软件。可针对Word中的绝大多数功能进行批量操作,速度快,进行简单设置即可让计算机自动处理海量word...
  • Batchdoc用于批量处理WORD文档,能够对WORD文档进行合并、格式转换、批量打印与批量设置面眉面脚、批量转换简繁、批量设置WORD密码等操作。Batchdoc具体功能有:批量统计WORD文档的页数与字数、统计段落数行数、将...
  • 解决思路:通过读取word文档处理成html,再获取html富文本内容,拼接成sql,导入数据库。 要点 1:读取word文件夹会递归读取,只要文件夹下有word文档即可,程序中有过滤word文档的代码,可根据需要修改; 2、可...

    问题:需要将大量的已存在的word文档导入到web项目里在网站展示,不可能通过编辑录入的方式处理,通过程序实现。
    解决思路:通过读取word文档处理成html,再获取html富文本内容,拼接成sql,导入数据库。

    要点
    1:读取word文件夹会递归读取,只要文件夹下有word文档即可,程序中有过滤word文档的代码,可根据需要修改;
    2、可同时处理word2003和word2007+版本的word文档;
    3、读取word2007生成的html文档内中文是unicode编码的,放到数据库或浏览器直接打开,不影响页面显示;
    4、对word文档中图片做了处理,存储到单独的文件夹,导入mysql或其它数据库后,正确显示图片,要注意路径处理;
    5、只处理word2007文档可不生成html直接获取富文本内容,但2003版本不可以,因此统一将doc文档都生成html页面再用java读取html文档获取body元素下的富文本内容。

    不足之处,欢迎交流和指正。

    可能用到的pom如下:

    <!--poi处理word文档-->
    		<dependency>
    			<groupId>org.apache.poi</groupId>
    			<artifactId>poi</artifactId>
    			<version>3.15</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.poi</groupId>
    			<artifactId>poi-scratchpad</artifactId>
    			<version>3.15</version>
    		</dependency>
    		<dependency>
    			<groupId>fr.opensagres.xdocreport</groupId>
    			<artifactId>fr.opensagres.xdocreport.document</artifactId>
    			<version>2.0.1</version>
    		</dependency>
    		<dependency>
    			<groupId>fr.opensagres.xdocreport</groupId>
    			<artifactId>org.apache.poi.xwpf.converter.xhtml</artifactId>
    			<version>1.0.6</version>
    		</dependency>
    
    		<dependency>
    			<groupId>fr.opensagres.xdocreport</groupId>
    			<artifactId>org.apache.poi.xwpf.converter.core</artifactId>
    			<version>1.0.6</version>
    		</dependency>
    
    		<dependency>
    			<groupId>fr.opensagres.xdocreport</groupId>
    			<artifactId>org.apache.poi.xwpf.converter.pdf</artifactId>
    			<version>1.0.6</version>
    		</dependency>
    
    

    完整的java代码如下:

    package test;
    
    import org.apache.commons.lang.StringUtils;
    import org.apache.poi.hwpf.HWPFDocument;
    import org.apache.poi.hwpf.converter.WordToHtmlConverter;
    import org.apache.poi.hwpf.usermodel.Picture;
    import org.apache.poi.xwpf.converter.core.FileImageExtractor;
    import org.apache.poi.xwpf.converter.core.FileURIResolver;
    import org.apache.poi.xwpf.converter.xhtml.XHTMLConverter;
    import org.apache.poi.xwpf.converter.xhtml.XHTMLOptions;
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    import org.junit.Test;
    import org.w3c.dom.Document;
    
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import java.io.*;
    import java.util.*;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    /*
     * @Desc word转化为html
     * @Author ls 2019/3/19 0019 11:21
     */
    public class Word2Html {
    
    
        @Test
        public void handleWordToSql() {
            String path = "F:\\word文档\\";
            List<String> fileNames = new ArrayList<>();
            Map<String, String> contentsMap = new HashMap<>();
    
            getAllFileName(path, fileNames);
    //        fileNames.forEach(System.out::println);
    //        System.out.println(fileNames.size());
            Map<String, String> map = handleFileName(fileNames);
            String imagePath = "F:\\images\\";
            String htmlPath = "F:\\html\\";
            map.forEach((k, v) -> {
                String content = "";
                String articleName = k.substring(0, k.lastIndexOf("."));
                String htmlName = articleName + ".html";
                if (k.contains(".doc") && !k.contains(".docx")) {
                    try {
                        content = word2003ToHtml(imagePath + generateImageName() + "\\", v, htmlPath + htmlName);
                    } catch (TransformerException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    } catch (ParserConfigurationException e) {
                        e.printStackTrace();
                    }
    
                } else if (k.contains(".docx")) {
                    try {
                        content = word2007ToHtml(imagePath + generateImageName() + "\\", v, htmlPath + htmlName);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
    
                } else {
                    System.out.println("word文档格式不正确->" + k);
                }
    
                if (StringUtils.isNotBlank(content)) {
                    contentsMap.put(articleName, content);
                }
    
            });
            System.out.println("文章总条数: " + contentsMap.size());
    //        contents.forEach(System.out::println);
            handleInsertSql(contentsMap);
    
        }
    
        /**
         * 处理sql
         *
         * @param contentsMap
         * @return
         */
        public String handleInsertSql(Map<String, String> contentsMap) {
            StringBuffer sb = new StringBuffer();
            int id = 161;
            for (String k : contentsMap.keySet()) {
                sb.append("INSERT INTO `article` VALUES (" + id + ", '2019-03-19 14:24:56', '2019-03-19 10:53:56', '0', '网络文章', \"" + contentsMap.get(k).replace("\"", "\\\'") + "\", '0', '', '', null, null, null, '" + k + "', '1', null, '0', null)");
                sb.append(" ;");
                sb.append("\r\n");
                id++;
            }
    
            String data = sb.toString();
            data = data.replace("F:\\images\\", "/images/");
            writeFile(new StringBuffer(data));
    //        System.out.println(data);
            return data;
        }
    
        /**
         * 路径处理为map key-> word文件名 value-> 全路径
         *
         * @param list
         * @return
         */
        public Map<String, String> handleFileName(List<String> list) {
            if (list.size() == 0) {
                System.out.println("没有需要处理的文件!");
            }
    
            // 过滤非word文档路径
            for (int i = 0; i < list.size(); i++) {
                String str = list.get(i);
                if (str.contains(".doc") || str.contains(".docx")) {
    
                } else {
                    list.remove(str);
                    i--;
                }
    
            }
    
            Map<String, String> map = new HashMap<>();
            for (String path : list) {
                if (StringUtils.isNotBlank(path)) {
                    String[] arr = path.split("\\\\");
                    for (String value : arr) {
                        if (value.contains(".doc") || value.contains(".docx")) {
                            // 文件名 全路径
                            map.put(value, path);
                        }
                    }
                }
            }
            return map;
        }
    
    
        /**
         * 获取所有文件夹及文件
         *
         * @param path
         * @param listFileName
         */
        public void getAllFileName(String path, List<String> listFileName) {
            File file = new File(path);
            File[] files = file.listFiles();
            String[] names = file.list();
            if (names != null) {
                String[] completNames = new String[names.length];
                for (int i = 0; i < names.length; i++) {
    //                if(path.contains(".doc") || path.contains(".docx"))
                    completNames[i] = path + names[i];
                }
                listFileName.addAll(Arrays.asList(completNames));
            }
            for (File a : files) {
                if (a.isDirectory()) {
                    //如果文件夹下有子文件夹,获取子文件夹下的所有文件全路径。
                    getAllFileName(a.getAbsolutePath() + "\\", listFileName);
                }
            }
        }
    
        /**
         * word2003转换
         *
         * @param imgPath
         * @param fileName
         * @param outPutFile
         */
        public String word2003ToHtml(String imgPath, String fileName, String outPutFile)
                throws TransformerException, IOException,
                ParserConfigurationException {
            HWPFDocument wordDocument = new HWPFDocument(new FileInputStream(fileName));
            WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(
                    DocumentBuilderFactory.newInstance().newDocumentBuilder()
                            .newDocument());
            wordToHtmlConverter.setPicturesManager((content, pictureType, suggestedName, widthInches, heightInches) -> suggestedName);
            wordToHtmlConverter.processDocument(wordDocument);
            //save pictures
            List pics = wordDocument.getPicturesTable().getAllPictures();
            if (pics != null) {
                for (int i = 0; i < pics.size(); i++) {
                    Picture pic = (Picture) pics.get(i);
                    System.out.println();
                    try {
                        pic.writeImageContent(new FileOutputStream(imgPath
                                + pic.suggestFullFileName()));
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    }
                }
            }
            Document htmlDocument = wordToHtmlConverter.getDocument();
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            DOMSource domSource = new DOMSource(htmlDocument);
            StreamResult streamResult = new StreamResult(out);
    
            TransformerFactory tf = TransformerFactory.newInstance();
            Transformer serializer = tf.newTransformer();
            serializer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
            serializer.setOutputProperty(OutputKeys.INDENT, "yes");
            serializer.setOutputProperty(OutputKeys.METHOD, "html");
            serializer.transform(domSource, streamResult);
            out.close();
            writeFile(new String(out.toByteArray()), outPutFile);
            String body = readHtml(new File((outPutFile)));
    //        System.out.println(out.toString());
            body = replaceBreak(body);
    //        System.out.println(body);
            return body;
        }
    
        /**
         * word2007转html
         *
         * @throws IOException
         */
        public String word2007ToHtml(String imgPath, String fileName, String htmlName) throws IOException {
            File f = new File(fileName);
            String content = "";
            if (!f.exists()) {
                System.out.println("Sorry File does not Exists!");
            } else {
                if (f.getName().endsWith(".docx") || f.getName().endsWith(".docx")) {
    
                    // 1) 加载word文档生成 XWPFDocument对象
                    InputStream in = new FileInputStream(f);
                    if (in.available() == 0) {
                        return content;
                    }
                    XWPFDocument document = new XWPFDocument(in);
    
                    // 2) 解析 XHTML配置 (这里设置IURIResolver来设置图片存放的目录)
                    File imageFolderFile = new File(imgPath);
                    XHTMLOptions options = XHTMLOptions.create().URIResolver(new FileURIResolver(imageFolderFile));
                    options.setExtractor(new FileImageExtractor(imageFolderFile));
                    options.setIgnoreStylesIfUnused(false);
                    options.setFragment(true);
    
                    // 3) 将 XWPFDocument转换成XHTML
                    OutputStream out = new FileOutputStream(new File(htmlName));
                    XHTMLConverter.getInstance().convert(document, out, options);
    
                    //也可以使用字符数组流获取解析的内容
                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    XHTMLConverter.getInstance().convert(document, baos, options);
                    if (baos.size() == 0) {
                        return content;
                    }
                    content = baos.toString();
                    // 输出转化后的文本
                    // System.out.println(content);
                    baos.close();
                } else {
                    System.out.println("Enter only MS Office 2007+ files");
                }
            }
    
            return content;
        }
    
        /**
         * 解析html文件 获得body内容
         *
         * @param file
         * @return
         */
        public String readHtml(File file) {
            String body = "";
            try {
                FileInputStream iStream = new FileInputStream(file);
                Reader reader = new InputStreamReader(iStream);
                BufferedReader htmlReader = new BufferedReader(reader);
    
                String line;
                boolean found = false;
                while (!found && (line = htmlReader.readLine()) != null) {
                    if (line.toLowerCase().indexOf("<body") != -1) { // 在<body>的前面可能存在空格
                        found = true;
                    }
                }
    
                found = false;
                while (!found && (line = htmlReader.readLine()) != null) {
                    if (line.toLowerCase().indexOf("</body") != -1) {
                        found = true;
                    } else {
                        // 如果存在图片,则将相对路径转换为绝对路径
                        String lowerCaseLine = line.toLowerCase();
                        if (lowerCaseLine.contains("src")) {
                            //这里是定义图片的访问路径
                            String directory = "D:/test";
                            // 如果该行存在多个<img>元素,则分行进行替代
                            String[] splitLines = line.split("<img\\s+"); // <img后带一个或多个空格
                            // 因为java中引用的问题不能使用for each
                            for (int i = 0; i < splitLines.length; i++) {
                                if (splitLines[i].toLowerCase().startsWith("src")) {
                                    splitLines[i] = splitLines[i].substring(0, splitLines[i].toLowerCase().indexOf("src") + 5)
                                            + directory
                                            + splitLines[i].substring(splitLines[i].toLowerCase().indexOf("src") + 5);
                                }
                            }
    
                            // 最后进行拼接
                            line = "";
                            for (int i = 0; i < splitLines.length - 1; i++) { // 循环次数要-1,因为最后一个字符串后不需要添加<img
                                line = line + splitLines[i] + "<img ";
                            }
                            line = line + splitLines[splitLines.length - 1];
                        }
    
                        body = body + line + "\n";
                    }
                }
                htmlReader.close();
                //        System.out.println(body);
    
            } catch (Exception e) {
                e.printStackTrace();
            }
            return body;
        }
    
        /**
         * 去掉换行
         *
         * @param str
         * @return
         */
        public String replaceBreak(String str) {
            String dest = "";
            if (str != null) {
                Pattern p = Pattern.compile("\\t|\n");
                Matcher m = p.matcher(str);
                dest = m.replaceAll("");
            }
            return dest;
        }
    
        /**
         * sql写入文件
         * @param content
         * @param path
         */
        public static void writeFile(String content, String path) {
            FileOutputStream fos = null;
            BufferedWriter bw = null;
            try {
                File file = new File(path);
                fos = new FileOutputStream(file);
                bw = new BufferedWriter(new OutputStreamWriter(fos, "utf-8"));
                bw.write(content);
            } catch (FileNotFoundException fnfe) {
                fnfe.printStackTrace();
            } catch (IOException ioe) {
                ioe.printStackTrace();
            } finally {
                try {
                    if (bw != null)
                        bw.close();
                    if (fos != null)
                        fos.close();
                } catch (IOException ie) {
                }
            }
        }
    
        /**
         * sql写入文件
         */
        public static void writeFile(StringBuffer sb) {
            String sqlTxtFile = "F:\\articleSql.sql";
            try {
                File writeName = new File(sqlTxtFile); // 相对路径,如果没有则要建立一个新的output.txt文件
                writeName.createNewFile(); // 创建新文件,有同名的文件的话直接覆盖
                try (FileWriter writer = new FileWriter(writeName);
                     BufferedWriter out = new BufferedWriter(writer)
                ) {
                    out.write(sb.toString()); // \r\n即为换行
                    out.flush(); // 把缓存区内容压入文件
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println("sql文件写入完成");
        }
    
        // 生成6位随机数
        public static String randomCode(){
            int num = (int)((Math.random()*9+1)*100000);
            return String.valueOf(num);
        }
    
        /**
         * 生成随机字符串 时间戳_6位随机数
         * @return
         */
        public static String generateImageName(){
            String name = String.valueOf(System.currentTimeMillis()) + "_" + randomCode();
            return name;
        }
    
    }
    
    
    

    运行handleWordToSql测试方法即可!

    效果图:
    原word文档

    处理后的html

    对应的html图片文件夹

    生成的sql

    转载于:https://my.oschina.net/u/2301293/blog/3024592

    展开全文
  • 之前项目里遇到一个需求,需要前端上传一个word文档,然后后端提取出该文档的指定位置的内容并保存。这里后端用的是nodejs,开始接到这个需求,发现无从下手,主要是没有处理过word这种类型的文档,怎么解析? Excel...
  • 文档批量处理大师,批量处理文件,批量更新文档内容
  • 将word转为RTF 将word转为PDF 将word转为图片 将word转为txt 将.docx转为.doc 插入水印 插入下标和上标 删除宏 插入脚注 插入尾注 设置高亮 加密word文档 插入注释 页面设置 查看模式邮件合并 邮件合并事件处理程序...
  • Word文档批量处理大师》软件精致小巧,简单易用,针对性强,是特别针对Office办公软件中的Word文档进行批量处理的软件。可针对Word中的绝大多数功能进行批量操作,速度快,进行简单设置即可让计算机自动处理海量...
  • Python技巧篇:如何巧妙运用Python处理Word文档

    千次阅读 多人点赞 2022-05-05 19:32:45
    平时在工作与学习中都会操作到Word文件格式,特别是很多数据的时候,靠人力去识别操作非常容易出错。今天就带大家用python来处理Word文件。

    前言

    大家好,我是辣条
    之前有给大家分享了一篇:《Python实例篇:自动操作Excel文件(既简单又特别实用)》

    根据很多粉丝反馈是有用处的,于是乎应广大群众号召,今天给大家再来一波Python操作Word文档,我可是长期更新分享的,订阅一下我的博客不会错的

    大家平时在工作与学习中都会操作到Word文件格式,特别是很多数据的时候,靠人力去识别操作非常容易出错。今天就带大家用python来处理Word文件。

    在这里插入图片描述

    工具

    python3.7
    Pycharm
    Excel
    python-docx


    生成Word案例

    ​ 创建一个demo.doc文档,代码如下:

    from docx import Document
    from docx.shared import Cm,Pt
    from docx.document import Document as Doc
    
    #构建doc对象
    document = Document()
    
    #操作文档标题
    document.add_heading('这是python写的!',0)
    
    #操作段落文本
    p = document.add_paragraph('我喜欢python,因为python可以做许多事情...')
    #段落添加内容
    run = p.add_run('大家也可以来学习!')
    #对run内容加粗
    run.bold = True
    #设置run字体
    run.font.size = Pt(18)
    
    #标题级别设置
    document.add_heading('我是一级标题',level=1)
    
    #操作图片(图片所在路径)
    document.add_picture('刘亦菲.png', width=Cm(5.2))
    
    # 添加有序列表
    document.add_paragraph(
        '我是有序列表1', style='List Number'
    )
    document.add_paragraph(
        '我是有序列表1', style='List Number'
    )
    
    
    # 添加无序列表
    document.add_paragraph(
        '我是无序列表1', style='List Bullet'
    )
    document.add_paragraph(
        '我是无序列表2', style='List Bullet'
    )
    
    # 设置表格内容
    records = (
        ('孙悟空', '男', '1111-1-1'),
        ('白骨精', '女', '2222-2-2')
    )
    # 添加表格,rows设置行 cols设置列
    table = document.add_table(rows=1, cols=3)
    hdr_cells = table.rows[0].cells
    #设置列名
    hdr_cells[0].text = '姓名'
    hdr_cells[1].text = '性别'
    hdr_cells[2].text = '出生日期'
    # 操作写入行
    for name, sex, birthday in records:
        row_cells = table.add_row().cells
        row_cells[0].text = name
        row_cells[1].text = sex
        row_cells[2].text = birthday
    
    #保存doc文档
    document.save('demo.docx')
    
    

    ​ 效果如下:

    在这里插入图片描述

    更多属性设置可以参考官方文档:https://python-docx.readthedocs.io/en/latest/index.html

    读取操作word文档

    ​ 现有文档如下:

    在这里插入图片描述

    ​ 读取代码:

    from docx import Document
    from docx.document import Document as Doc
    
    #获取文档路径,循环读取内容
    doc = Document('离职证明.docx')  # type: Doc
    for no, p in enumerate(doc.paragraphs):
        print(no, p.text)
    

    ​ 效果如下:

    在这里插入图片描述

    ​ 如果需要批量操作,则可以使用字典形式组织数据类型,比如name,start_time,end_time,job等,再使用循环写入文件即可批量生成该类文档。

    总结:

    ​ 当需要批量操作文档时候,可以使用python-docx库来操作,可以较大提升工作效率。如果需要更多属性操作,请参考上面官方文档。

    展开全文
  • 《高效能办公必修课:Word图文处理(基础、图文表格、排版、商务文档)》内容以清晰的结构,丰富、实用的实例,详尽的图解步骤,对Word 2007的功能与应用技巧进行讲解,以通俗易懂的语言讲解日常工作中常用商务文档...
  • 可以进行单个文档或多个文档处理和合并,格式转化等,用于批量修改文档内容,批量转pdf或转图片等系列操作
  • 为您提供BatchDoc Word文档批量处理工具下载,BacthDoc是一款基于Microsoft Word内核的文档批量处理工具,功能强大,简单易用。主要功能 Word文档合并:将多种类型的多个Word文档合并为一个文档; Word文档类型...
  • 解决方法是给word模板里的替换变量指定字体,比如我在word模板里定义了一个{{test}},因为在word文档里如果字体设置为Wingdings 2时,按下R键会自动出现符号,所以可以在某个替换变量指定值为R,设置字体为Wingdings...

    解决方法是给word模板里的替换变量指定字体,比如我在word模板里定义了一个{{test}},因为在word文档里如果字体设置为Wingdings 2时,按下R键会自动出现符号,所以可以在某个替换变量的地方指定值为R,设置字体为Wingdings 2。
    word模板内容如下

    关键代码如下

    Map<String,Object> map = new HashMap<String, Object>();
    
    map.put("test",new TextRenderData("R",new Style("Wingdings 2",14)));

    这样生成word后就出现了前面的勾号同理,其它特殊符号也可以这么使用(其它符号就不是R键了,需要自己去查询对应的键位)

    这边提供一些常用的键位

    ​​​​​​​

     

     

     

    PS:生成的word文件在打开的电脑上一定要安装Wingdings 2 字体,否则会显示问号

    补充一点:如果是想最终生成pdf文件的话,按照上面的设置,有时候字体可能会出现不能正常显示的问题,可以按照下面这样来解决

    替换成下面

    这样pdf里面看到的效果就是正常的了

    展开全文
  • PHPWord - 纯PHP库读写Microsoft Word 文档
  • 最近在开发一个答题类的小程序,到了录入试题进行测试的时候了,发现一个问题,试题都是word文档格式的,每份有100题左右,拿到的第一份试题,光是段落数目就有800个。而且可能有几十份这样的试题。 而word文档是...
  • 非常好用的word文档批量替换、查找工具,支持多个目录的批量处理。序列号
  • 基于DELPHI的WORD文档处理技术研究
  • 电话营销处理话术Word文档.docx
  • 基于Python实现Excel数据处理自动化生成Word文档(含索引目录 分页).zip
  • word文档批量处理工具

    2018-09-03 11:08:21
    一个word文档批量处理工具,此工具很难找到了,推荐使用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 168,147
精华内容 67,258
关键字:

word文档处理