45
45
import com .njxz .exam .modle .Subject ;
46
46
import com .njxz .exam .modle .TempExam ;
47
47
import com .njxz .exam .modle .User ;
48
- import com .njxz .exam .service .ExamQuestionsService ;
49
48
import com .njxz .exam .service .ExamQuestiontypeService ;
50
49
import com .njxz .exam .service .ExamService ;
51
50
import com .njxz .exam .service .GeneratePaperService ;
@@ -96,9 +95,6 @@ public class TestPaperController extends Logable{
96
95
@ Autowired
97
96
private ExamQuestiontypeService eqtService ;
98
97
99
- @ Autowired
100
- private ExamQuestionsService eqService ;
101
-
102
98
// 抽取现有试卷
103
99
@ RequestMapping (value = "/get" , method = RequestMethod .GET )
104
100
public ModelAndView getPaperPage (@ RequestParam (value ="pageNum" ,required = false , defaultValue = "1" ) Integer pageNum ,
@@ -154,7 +150,7 @@ public void exportWord(@PathVariable(name="eId",required=true)Long eId,
154
150
@ PathVariable (name ="eType" ,required =true )int eType ) throws IOException {
155
151
String directoryName =Constants .WORD_TEMPLETE_DIRECTORY_NAME ;
156
152
Map <String ,Object > resultMap =new HashMap <>();
157
- Map <String , String > contentMap =new HashMap <>();
153
+ // Map<String, String> contentMap=new HashMap<>();
158
154
159
155
//模板存放的实际地址
160
156
String t =request .getSession ().getServletContext ().getRealPath ("" );
@@ -200,9 +196,7 @@ public void exportWord(@PathVariable(name="eId",required=true)Long eId,
200
196
scoreList .add ("" );
201
197
resultMap .put ("scoreList" , scoreList );
202
198
203
-
204
- StringBuilder sb = new StringBuilder ();
205
- //所有题目
199
+ //写入所有题目
206
200
//试卷题型信息--已经按照题型排列顺序排列
207
201
List <ExamQuestiontype > eqtList = eqtService .allExamQuestiontypes (eId );
208
202
List <Map <String ,Object >> quesList =new ArrayList <>();
@@ -211,8 +205,15 @@ public void exportWord(@PathVariable(name="eId",required=true)Long eId,
211
205
ExamQuestiontype tempEqt ;//试卷中题型
212
206
QuestionType tempQt ;//题型实体
213
207
List <Questions > qList ;//试题列表
208
+ String tempContent ;String tempImagesXmlHref ;String tempImagesBase64 ;
209
+ Map <String , Object > tmepResultMapMap =null ;
210
+
211
+ StringBuilder sb = new StringBuilder ();
212
+ StringBuilder imagesXmlHrefString =new StringBuilder ();
213
+ StringBuilder imagesBase64 =new StringBuilder ();
214
+
214
215
for (int i =1 ;i <=eqtCount ;i ++) {
215
- Map <String , Object > tempMap = new HashMap <>();
216
+ Map <String , Object > tempMap = new HashMap <>();
216
217
tempEqt =eqtList .get (i -1 );//当前试题类型
217
218
tempQt =qtService .getQuestionTypeById (tempEqt .getQuestionTypeId ().toString ());
218
219
tempMap .put ("fQId" ,Constants .numGetChinese (i ));
@@ -222,10 +223,27 @@ public void exportWord(@PathVariable(name="eId",required=true)Long eId,
222
223
for (int j =1 ;j <qList .size ();j ++) {
223
224
Map <String , Object > tempQuestionMap =new HashMap <>();
224
225
tempQuestionMap .put ("sQId" , j );
225
- tempQuestionMap .put ("content" , qList .get (j ).getqTitle ());
226
+ // tempQuestionMap.put("content", qList.get(j).getqTitle());
226
227
question .add (tempQuestionMap );
227
- //处理图片信息
228
+ //处理的图片信息(总)
228
229
sb .append (qList .get (j ).getqTitle ());
230
+
231
+ StringBuilder sbTemp =new StringBuilder ();
232
+ sbTemp .append (qList .get (j ).getqTitle ());
233
+
234
+ //处理数据库中富文本
235
+ tmepResultMapMap =getHandleredInfo (sbTemp );
236
+ tempContent =tmepResultMapMap .get ("docBodyBlock" ).toString ();
237
+ tempImagesXmlHref =tmepResultMapMap .get ("imagesXmlHrefString" ).toString ();
238
+ tempImagesBase64 =tmepResultMapMap .get ("iamgebase64" ).toString ();
239
+
240
+ //所有的图片信息以及图片链接信息
241
+ imagesXmlHrefString .append (tempImagesXmlHref );
242
+ imagesBase64 .append (tempImagesBase64 );
243
+
244
+ System .out .println ("======tempContent==============" );
245
+ System .out .println (tempContent );
246
+ tempQuestionMap .put ("content" ,tempContent );
229
247
}
230
248
tempMap .put ("question" ,question );
231
249
quesList .add (tempMap );
@@ -241,44 +259,10 @@ public void exportWord(@PathVariable(name="eId",required=true)Long eId,
241
259
// resultMap.put("content", contentMap);
242
260
243
261
244
-
262
+ //Map<String, Object> handlerMap=getHandleredInfo(sb);
263
+ //String imagesBase64=handlerMap.get("iamgebase64").toString();
264
+ //String imagesXmlHrefString=handlerMap.get("imagesXmlHrefString").toString();
245
265
246
- RichHtmlHandler handler = new RichHtmlHandler (sb .toString ());
247
-
248
-
249
- handler .setDocSrcLocationPrex ("file:///C:/C8FBA2D4" );
250
- handler .setDocSrcParent ("examTest.files" );
251
- handler .setNextPartId ("01D395FD.81B8E900" );
252
-
253
- handler .handledHtml (request );
254
-
255
- StringBuilder imagesBase64 =new StringBuilder ();
256
- if (handler .getDocBase64BlockResults () != null
257
- && handler .getDocBase64BlockResults ().size () > 0 ) {
258
- for (String item : handler .getDocBase64BlockResults ()) {
259
- imagesBase64 .append (item );
260
- }
261
- }
262
-
263
- System .out .println ("===========StringBuilder=========" );
264
- System .out .println (sb .toString ());
265
-
266
- System .out .println ("=========iamgebase64=========" );
267
- System .out .println (imagesBase64 .toString ());
268
-
269
- StringBuilder imagesXmlHrefString =new StringBuilder ();
270
- if (handler .getXmlImgRefs () != null
271
- && handler .getXmlImgRefs ().size () > 0 ) {
272
- for (String item : handler .getXmlImgRefs ()) {
273
- imagesXmlHrefString .append (item );
274
- }
275
- }
276
-
277
- System .out .println ("============imagesXmlHrefString==============" );
278
- System .out .println (imagesXmlHrefString .toString ());
279
-
280
- System .out .println ("==========title=================" );
281
- System .out .println (handler .getHandledDocBodyBlock ());
282
266
283
267
resultMap .put ("imagesXmlHrefString" ,imagesXmlHrefString );
284
268
resultMap .put ("imagesBase64" ,imagesBase64 );
@@ -308,6 +292,61 @@ public void exportWord(@PathVariable(name="eId",required=true)Long eId,
308
292
}
309
293
}
310
294
295
+ //得到处理过的富文本信息
296
+ public Map <String , Object > getHandleredInfo (StringBuilder sb ){
297
+ Map <String , Object > resultMap =new HashMap <>();
298
+
299
+ try {
300
+ RichHtmlHandler handler = new RichHtmlHandler (sb .toString ());
301
+
302
+ handler .setDocSrcLocationPrex ("file:///C:/C8FBA2D4" );
303
+ handler .setDocSrcParent ("examTest.files" );
304
+ handler .setNextPartId ("01D395FD.81B8E900" );
305
+
306
+ handler .handledHtml (request );
307
+
308
+ StringBuilder imagesBase64 =new StringBuilder ();
309
+ if (handler .getDocBase64BlockResults () != null
310
+ && handler .getDocBase64BlockResults ().size () > 0 ) {
311
+ for (String item : handler .getDocBase64BlockResults ()) {
312
+ imagesBase64 .append (item );
313
+ }
314
+ }
315
+
316
+ //System.out.println("===========StringBuilder=========");
317
+ //System.out.println(sb.toString());
318
+
319
+ //System.out.println("=========iamgebase64(图片的Base64编码)=========");
320
+ //System.out.println(imagesBase64.toString());
321
+
322
+ StringBuilder imagesXmlHrefString =new StringBuilder ();
323
+ if (handler .getXmlImgRefs () != null
324
+ && handler .getXmlImgRefs ().size () > 0 ) {
325
+ for (String item : handler .getXmlImgRefs ()) {
326
+ imagesXmlHrefString .append (item );
327
+ }
328
+ }
329
+
330
+ //System.out.println("============imagesXmlHrefString(图片链接)==============");
331
+ //System.out.println(imagesXmlHrefString.toString());
332
+
333
+ //System.out.println("==========docBodyBlock(处理过的主体部分)=================");
334
+ //System.out.println(handler.getHandledDocBodyBlock());
335
+
336
+ //存入结果
337
+ resultMap .put ("docBodyBlock" , handler .getHandledDocBodyBlock ());
338
+ resultMap .put ("iamgebase64" , imagesBase64 .toString ());
339
+ resultMap .put ("imagesXmlHrefString" , imagesXmlHrefString .toString ());
340
+
341
+ } catch (IOException e ) {
342
+ // TODO Auto-generated catch block
343
+ e .printStackTrace ();
344
+ return null ;
345
+ }
346
+
347
+ return resultMap ;
348
+ }
349
+
311
350
@ RequestMapping (value ="test" )
312
351
public void test () {
313
352
StringBuilder sb = new StringBuilder ();
@@ -445,10 +484,10 @@ public void test() {
445
484
FileWriter fw =new FileWriter (file );
446
485
447
486
448
- fw .write ("======handledDocBody block==========\n " );
487
+ fw .write ("======handledDocBody block(主体信息) ==========\n " );
449
488
fw .write (handler .getHandledDocBodyBlock ());
450
489
451
- fw .write ("======handledBase64Block==========\n " );
490
+ fw .write ("======handledBase64Block(图片的base64编码) ==========\n " );
452
491
if (handler .getDocBase64BlockResults () != null
453
492
&& handler .getDocBase64BlockResults ().size () > 0 ) {
454
493
for (String item : handler .getDocBase64BlockResults ()) {
@@ -457,7 +496,7 @@ public void test() {
457
496
}
458
497
if (handler .getXmlImgRefs () != null
459
498
&& handler .getXmlImgRefs ().size () > 0 ) {
460
- fw .write ("======xmlimaHref==========\n " );
499
+ fw .write ("======xmlimaHref(从主体部分链接到Base64图片部分) ==========\n " );
461
500
for (String item : handler .getXmlImgRefs ()) {
462
501
fw .write (item + "\n " );
463
502
}
0 commit comments