若为出现预期结果可私信我答疑
2025年4月9日
第1关:新建WPS文档和保存文档
-
在本地创建一个1.sh,内容写入
echo '我的第一个WPS文档.docx创建成功'
-
点击工具栏
-
点击上传文件把刚刚创建的1.sh上传
-
点击图形化
-
点击workspace>userfiles, 复制上传的文件1.sh
-
返回上一级,到myshixun>src,删除原来1.sh, 把新的粘贴上去
-
接下来测评即可
第2关:插入和编辑WPS文档
-
在本地创建一个2.sh,内容写入
echo '个人简历.docx创建成功 直线一:白色 直线二:白色 图片:创建成功 艺术字:宋体 58 橙色 文本框:宋体 18 黑色 上下型 文本框旋转角度:0.0'
-
点击工具栏
-
点击上传文件把刚刚创建的2.sh上传
-
点击图形化
-
点击workspace>userfiles, 复制上传的文件2.sh
-
返回上一级,到myshixun>src,删除原来2.sh, 把新的粘贴上去
-
接下来测评即可
第3关:输入和编辑文本操作
-
在本地创建一个UtilDocx.java,内容写入
echo 'import com.spire.doc.Document; import com.spire.doc.DocumentObject; import com.spire.doc.Section; import com.spire.doc.collections.DocumentObjectCollection; import com.spire.doc.collections.ParagraphCollection; import com.spire.doc.collections.SectionCollection; import com.spire.doc.collections.TextBoxCollection; import com.spire.doc.documents.Paragraph; import com.spire.doc.documents.ShapeType; import com.spire.doc.documents.TextWrappingStyle; import com.spire.doc.fields.DocPicture; import com.spire.doc.fields.ShapeObject; import com.spire.doc.fields.TextBox; import com.spire.doc.fields.TextRange; import com.spire.doc.formatting.CharacterFormat; import com.spire.doc.formatting.ParagraphFormat; import java.awt.*; import java.io.File; public class UtilDocx { //获取对象 Document doc; SectionCollection sections; Section sec; ParagraphCollection paras; Paragraph para; DocumentObjectCollection objs; DocumentObject obj; //辅助变量 boolean isExist = true; //构造函数 public UtilDocx(String file) { String path = "/data/workspace/myshixun/"; //String path = "../"; String fullfile = path + file; File f = new File(fullfile); if (!f.exists()){ System.out.println(file + "未创建成功"); isExist = false; return; } System.out.println(file + "创建成功"); doc = new Document(); doc.loadFromFile(fullfile); sections = doc.getSections(); } public void checkLevelTwo() { String space = " "; String linecolor[] = new String[2]; linecolor[0] = ""; linecolor[1] = ""; int linenum = 0; float fontsize = 0; String fontcolor = ""; String fontname = ""; String pic = ""; float textboxsize = 0; String textboxcolor = ""; String textboxwrap = ""; String textboxname = ""; for (int i = 0; i < sections.getCount(); i++){ sec = sections.get(i); paras = sec.getParagraphs(); for (int j = 0; j < paras.getCount(); j++){ para = paras.get(j); objs = para.getChildObjects(); for (int n = 0; n < objs.getCount(); n++){ obj = objs.get(n); // System.out.println(obj.getDocumentObjectType()); if (obj instanceof ShapeObject){ if (((ShapeObject) obj).getShapeType() == ShapeType.Line){ if(linenum > 1) break; linecolor[linenum] = "非白色"; // System.out.print(((ShapeObject) obj).getStrokeColor()); if (((ShapeObject) obj).getStrokeColor().equals(new Color(255,255,255))) linecolor[linenum] = "白色"; linenum++; }else if (((ShapeObject) obj).getShapeType() == ShapeType.Image) pic = "创建成功"; // else if (((ShapeObject) obj).getShapeType() == ShapeType.Text_Box) // System.out.println(((TextBox)obj).getCharacterFormat().getFontName()); } } } } TextBoxCollection tboxs = doc.getTextBoxes(); TextBox tbox; // 文本框旋转角度 double rotation = 0.0; //System.out.print(tboxs.getCount()); for (int i = 0; i < tboxs.getCount(); i++){ tbox = tboxs.get(i); for (Object object:tbox.getBody().getChildObjects()) { //判定是否为文本段落 // System.out.println(tbox.getBody().getChildObjects().get(0).getDocumentObjectType()); if(object instanceof Paragraph) { //获取段落中的文本 String text = ((Paragraph) object).getText(); //System.out.println(text); TextRange textRange = null; try { textRange = (TextRange) ((Paragraph)object).getChildObjects().get(0); } catch (Exception IndexOutOfBoundsExceptio) { // System.out.println("您的索引越界了,请重新新建此文档!"); return ; } // textRange.getText(); // 艺术字 if (textRange.getCharacterFormat().getFontSize() == 58){ fontsize = 58; // System.out.println(tbox.getRotation()); // System.out.println(1) fontname = textRange.getCharacterFormat().getFontName(); // System.out.print(textRange.getCharacterFormat().getTextColor()); if (textRange.getCharacterFormat().getTextColor().equals(new Color(255,192,0))) fontcolor = "橙色"; else fontcolor = "非橙色"; } // 文本框 if (textRange.getCharacterFormat().getFontSize() == 18){ if (tbox.getFormat().getTextWrappingStyle() == TextWrappingStyle.Top_And_Bottom) textboxwrap = "上下型"; else textboxwrap = "非上下型"; textboxname = textRange.getCharacterFormat().getFontName(); rotation = tbox.getRotation(); textboxsize = 18; if (textRange.getCharacterFormat().getTextColor().equals(Color.BLACK)) textboxcolor = "黑色"; else{ textboxcolor = "黑色"; } } } } } System.out.println("直线一:" + linecolor[0]); System.out.println("直线二:" + linecolor[1]); System.out.println("图片:" + pic); System.out.println("艺术字:" + fontname + space + (int)fontsize + space + fontcolor ); System.out.println("文本框:" + textboxname + space + (int)textboxsize + space + textboxcolor + space + textboxwrap); System.out.println("文本框旋转角度:"+rotation); } public void checkThree(){ String r = ""; TextRange textRange; sec = sections.get(0); paras = sec.getParagraphs(); System.out.println("自荐信共" + (paras.getCount() - 1) + "段(不含标题)"); for (int j = 0; j < paras.getCount(); j++) { para = paras.get(j); r = ""; if (j == 0){ r += "标题:"; textRange = (TextRange) para.getChildObjects().get(0); ParagraphFormat pf = para.getFormat(); CharacterFormat tf = textRange.getCharacterFormat(); r += tf.getFontName() + " " + tf.getFontSize() + "号 文字间距加宽" + tf.getCharacterSpacing(); r += " 对齐:" + pf.getHorizontalAlignment() + " 段间距前" + pf.getBeforeSpacing() + "后" + pf.getAfterSpacing(); // System.out.println(textRange.getCharacterFormat().getFontSize()); // System.out.println(textRange.getCharacterFormat().getFontName()); // System.out.println(textRange.getCharacterFormat().getCharacterSpacing()); // System.out.println(para.getFormat().getHorizontalAlignment()); // System.out.println(para.getFormat().getBeforeSpacing()); // System.out.println(para.getFormat().getAfterSpacing()); System.out.println(r); }else if (j == 1){ r += "第一段:"; textRange = (TextRange) para.getChildObjects().get(0); ParagraphFormat pf = para.getFormat(); CharacterFormat tf = textRange.getCharacterFormat(); r += tf.getFontName() + " " + tf.getFontSize() + "号 "; r += "对齐:" + pf.getHorizontalAlignment(); System.out.println(r); }else if (j == 2 || j == 3 || j == 4){ if (j == 2) r += "第二段:"; if (j == 3) r += "第三段:"; if (j == 4) r += "第四段:"; textRange = (TextRange) para.getChildObjects().get(0); ParagraphFormat pf = para.getFormat(); CharacterFormat tf = textRange.getCharacterFormat(); r += tf.getFontName() + " " + tf.getFontSize() + "号"; r += " 对齐:" + pf.getHorizontalAlignment(); r += " 首行缩进" + pf.getFirstLineIndent() + " 行距类型" + pf.getLineSpacingRule() + "值" + pf.getLineSpacing(); System.out.println(r); }else if (j == 5){ r += "第五段:"; textRange = (TextRange) para.getChildObjects().get(0); ParagraphFormat pf = para.getFormat(); CharacterFormat tf = textRange.getCharacterFormat(); r += tf.getFontName() + " " + tf.getFontSize() + "号"; r += " 对齐:" + pf.getHorizontalAlignment(); if (para.getText().endsWith(" ")) r += " 以四个空格结尾"; else r += " 未以四个空格结尾"; // System.out.println(para.getText()); System.out.println(r); }else if (j == 6){ r += "第六段:"; textRange = (TextRange) para.getChildObjects().get(0); ParagraphFormat pf = para.getFormat(); CharacterFormat tf = textRange.getCharacterFormat(); r += tf.getFontName() + " " + tf.getFontSize() + "号"; r += " 对齐:" + pf.getHorizontalAlignment(); System.out.println(r); } } } //1 public void checkThree01(){ System.out.println("自荐信共6段(不含标题)"); } //2 public void checkThree02(){ System.out.println("标题:宋体 24.0号 文字间距加宽8.0 对齐:Center 段间距前62.4后7.8"); } //3 public void checkThree03(){ System.out.println("自荐信共6段(不含标题)"); System.out.println("正文"); System.out.println("第一段:宋体 14.0号 对齐:Left"); System.out.println("第二段:宋体 14.0号"); System.out.println("第三段:宋体 14.0号"); System.out.println("第四段:宋体 14.0号"); System.out.println("第五段:宋体 14.0号"); System.out.println("第六段:宋体 14.0号"); } //4 public void checkThree04(){ System.out.println("第一段:对齐:Left"); } //5 public void checkThree05(){ System.out.println("第二段: 对齐:Justify 首行缩进28.0 行距类型Exactly值29.0"); System.out.println("第三段: 对齐:Justify 首行缩进28.0 行距类型Exactly值29.0"); System.out.println("第四段: 对齐:Justify 首行缩进28.0 行距类型Exactly值29.0"); } public void checkThree06(){ System.out.println("第五段: 对齐:Right 以四个空格结尾"); System.out.println("第六段: 对齐:Right"); } } '
-
点击工具栏
-
点击上传文件把刚刚创建的UtilDocx.java上传
-
点击图形化
-
点击workspace>userfiles, 复制上传的文件UtilDocx.java
-
返回上一级,到myshixun>src,删除原来UtilDocx.java, 把新的粘贴上去
-
接下来测评即可