1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package com.wzkj.zhai.contact;
- import com.spire.doc.Document;
- import com.spire.doc.FileFormat;
- import com.spire.doc.Section;
- import com.spire.doc.documents.Paragraph;
- import org.apache.commons.io.FilenameUtils;
- import java.io.File;
- import java.nio.file.Paths;
- public class Application {
- public static void main(String[] args) {
- String dir = "";
- String origin = "";
- if (args.length == 2) {
- origin = args[0];
- dir = args[1];
- } else {
- System.out.printf("参悟不足,origin(%s), dir(%s)\n", origin, dir);
- return;
- }
- parseOrigin(origin, dir);
- }
- public static void parseOrigin(String origin, String dir) {
- Document document = new Document(origin);
- Document newDoc = new Document();
- String text = document.getText();
- String[] lines = text.split("\n");
- String source = "";
- String target = "";
- int index = 0;
- Section section = newDoc.addSection();
- for (int i = 0; i < lines.length; i ++, index ++) {
- String line = lines[i].trim();
- if (line.equals("")) {
- continue;
- }
- Paragraph paragraph = section.addParagraph();
- paragraph.appendText(line);
- System.out.printf("index: %d, line: %s, source: %s, target: %s\n", index, line, source, target);
- if (index < 2) {
- continue;
- }
- if (2 == index) {
- source = line;
- continue;
- }
- if (3 == index) {
- target = line;
- index = -1;
- }
- System.out.printf("source: %s, target: %s\n", source, target);
- merge(newDoc, dir, source, target);
- source = "";
- target = "";
- }
- String newName = origin.replace(".docx", "-r.docx") ;;
- newDoc.saveToFile(newName, FileFormat.Docx_2013);
- }
- public static void merge(Document newDoc, String dir, String source, String target) {
- source = source + ".docx";
- target = target + ".docx";
- //获取第一个文档的路径
- String filePath1 = Paths.get(dir, source).toString();
- //获取第二个文档的路径
- String filePath2 = Paths.get(dir, target).toString();
- //使用insertTextFromFile方法将第二个文档的内容插入到第一个文档
- newDoc.insertTextFromFile(filePath1, FileFormat.Docx_2013);
- newDoc.insertTextFromFile(filePath2, FileFormat.Docx_2013);
- }
- }
|