package com.aspsystem.util;
import java.io.FileOutputStream;
import java.util.List;
import com.aspsystem.entity.Exam;
import com.aspsystem.entity.Questions;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.rtf.RtfWriter2;
import com.lowagie.text.rtf.style.RtfParagraphStyle;
public class WordUtil {
private Exam exam;
private List<Questions> questions;
private String separator;
private String Path;
private int i=0;
private String type;
public WordUtil(){}
public WordUtil(Exam exam,List<Questions> questions,String separator,String Path){
this.exam=exam;
this.questions=questions;
this.separator=separator;
this.Path=Path;
}
public void WriteWord(){
Document document ;
try {
document = new Document(PageSize.A2.rotate(),80,80,80,80);
RtfWriter2.getInstance(document, new FileOutputStream(Path+exam.getExam_wordPath()+".doc"));
document.open();
Font titleFont = new Font(Font.STRIKETHRU,14, Font.BOLD);
/* 设置标题1格式 */
RtfParagraphStyle rtfGsBt1 = RtfParagraphStyle.STYLE_NORMAL;
rtfGsBt1.setAlignment(Element.ALIGN_CENTER);
rtfGsBt1.setStyle(Font.BOLD);
rtfGsBt1.setSize(12);
/* 设置正文格式 */
RtfParagraphStyle rtfGsBt2 = RtfParagraphStyle.STYLE_HEADING_2;
rtfGsBt2.setAlignment(Element.ALIGN_LEFT);
rtfGsBt2.setStyle(Font.NORMAL);
rtfGsBt2.setSize(10);
Paragraph title = new Paragraph(exam.getExam_name());
title.setAlignment(Element.ALIGN_CENTER);
title.setFont(titleFont);
document.add(title);
//正文
//setParagraph(document,rtfGsBt2,"编号:"+exam.getExam_id());
setParagraph(document,rtfGsBt2,"名称:"+exam.getExam_name());
setParagraph(document,rtfGsBt2,"科目:"+exam.getCourse().getCourse_name());
//setParagraph(document,rtfGsBt2,"考试班级:"+exam.getClass_id());
for(Questions question:questions){
if(question.getType()==1){
type="单选题";
}else if(question.getType()==2){
type="多选题";
}else{
type="不定选题";
}
Paragraph Topic=new Paragraph(++i +"."+question.getTopic()+"("+type+")");
Topic.setFont(rtfGsBt2);
document.add(Topic);
List<String> list=StringUtil.getOption(question.getOptions(),separator);
for(String option:list){
Paragraph Options=new Paragraph(option);
Options.setFont(rtfGsBt2);
document.add(Options);
}
list.clear();
Paragraph answer=new Paragraph("答案:"+question.getAnswer());
answer.setFont(rtfGsBt2);
document.add(answer);
Paragraph analysis=new Paragraph("问题解析:"+question.getAnalysis());
analysis.setFont(rtfGsBt2);
document.add(analysis);
}
// }
// }
document.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void setParagraph(Document document,RtfParagraphStyle rtfGsBt,String message) throws DocumentException{
Paragraph paragraph = new Paragraph(message);
paragraph.setFont(rtfGsBt);
document.add(paragraph);
}
// public List<String> getOption(String options,String separator){
// int index=0;
// String option;
//
// while(index<options.lastIndexOf(separator)){
// option=options.substring(index, options.indexOf(separator,index)).trim();
// list.add(option);
// index= options.indexOf(separator,index)+1;
// if((index-1)==options.lastIndexOf(separator)){
// option=options.substring(index).trim();
// list.add(option);
// }
// }
// return list;
// }
}相关推荐
CATIA CAA开发环境搭建避坑指南:从授权服务到VS配置全流程
本文提供了一份详尽的CATIA CAA开发环境搭建避坑指南,涵盖从授权服务(DSLS)安装、Visual Studio版本匹配与集成配置,到编译调试全流程。重点解析了授权服务无法连接、模块加载失败等典型问题的解决方案,强调版本严格对应与纯英文环境是成功搭建的关键。
itext 导出word
Rectangle rectPageSize = new Rectangle(PageSize.A4); // 创建word文档,并设置纸张的大小 Document document = new Document(rectPageSize); try { // 文件名称 String
【从零开始学Skynet】实战篇《球球大作战》(一):功能设计
为了能把之前在基础篇中学习到的Skynet的各种知识结合起来,所以在实战篇中,我们准备开发一个完整的游戏案例《球球大作战》,介绍分布式游戏服务端的实现方法。
利用IText导出Word
生成Word文档的类库有很多,常用的有jacob,poi,itext等等,jacob操作office的能力是不错的,但是对于我个人来说,我不喜欢它的两方面:一、jacob只能应用于windows平台。二、除了要把相应的ar包加载到类路径下,还需要把jacob.dll复制到windows/system32目录中。poi操作excel方面的能力非常强大,对于word方面的操作能力还是不够的。 现
Oracle数据库安装及配置(Oracle19c)
Windows 10安装Oracle 19c教程
fsQCA实战:从数据校准到结果解读的完整流程(附R代码示例)
本文提供了一份完整的模糊集定性比较分析(fsQCA)实战指南,详细阐述了从数据校准、必要条件分析、真值表构建到布尔最小化与结果解读的全流程。通过R语言代码示例,帮助研究者掌握如何将理论转化为可操作的分析步骤,并产出稳健的中间解,以揭示导致结果的复杂条件组合。
导出文件:使用lowagie.itext导出数据为Word文件
背景 日常工作中,曾遇到过导出数据为 Word 的需求,这里做个简单总结。 前面分别总结了导出数据为 PDF , Excel 的实现方式,有时候需要在导出文件后进行编辑,那么这时候仅仅导出 PDF 文件是不够的。 下面的实战是基于之前导出数据库表结构为 Word 用到的,后面有 一键导出PostgreSQL数据库表设计为word文档 的实战代码链接。 涉及的技术有: SpringBoot 、 MyBatis 、 lowagie.itext 。 依赖 <!--输出word包start--> <
ESP32-S3模组上跑通esp32-camera(32)
ESP32-S3模组上跑通esp32-camera(32)
Java通过IText导出word和pdf
最近做的项目中需要用到导出word和pdf的功能(还有图表),在网上找了
Android 13.0 app进程保活白名单功能实现
在13.0的系统rom产品开发中,在某些重要的app即使进入后台,产品需求要求也不想被系统杀掉进程,需要app长时间保活,就是app进程保活白名单功能的实现, 所以需要在系统杀进程的时候不杀掉白名单的进程,接下来就看怎么样来实现这些功能
流体动力学仿真软件:Star-CCM+_(1).Star-CCM+基础及入门
Star-CCM+的用户界面(UI)分为多个部分,包括菜单栏、工具栏、工作区、视图窗口和控制台。菜单栏包含文件、编辑、视图、工具等常用菜单。例如,“File”菜单可以用于打开、保存和退出项目。工具栏提供常用的工具按钮,如新建项目、打开项目、保存项目等。也可以自定义工具栏,添加常用的功能按钮。工作区显示当前项目的结构和各个对象。可以通过拖拽方式组织和管理项目中的各个部分。视图窗口显示几何模型、网格、结果等。可以通过不同的视图模式查看和分析数据。控制台显示软件的运行日志和输出信息。
HTML to word
首先下载iText-2.0.8.jar包。 可将HTML内容转化成word文件,包括图片,可设置图片的像素。 详细代码如下: import java.io.FileOutputStream; import java.io.OutputStream; import java.io.StringReader; import java.util.List; import org.apache
骑砍Ⅱ霸主MOD开发(5)-2D界面
本文介绍了2D界面开发的技术框架,主要包括以下内容: 2D界面架构:由多个GauntletLayer(菜单/对话框/定制页面)和SceneLayer(3D页面)组成,支持屏幕切换和管理。 GauntletLayer实现:采用Movie(HTML页面)+ViewModel(动态数据)模式,支持优先级管理、焦点控制和事件响应。 2D控件系统:包括颜色字体、坐标布局、背景图(Sprite/Texture)等配置方式,支持自定义控件开发。 定制化页面开发:详细说明了游戏菜单和对话框的实现方法,包括状态管理、事件回调
java项目导出word文档,itext导出word文档常用方法汇总,itext导出word文档,在实际项目中经常需要导出...
itext导出word文档常用方法汇总,itext导出word文档,在实际项目中经常需要导出在实际项目中经常需要导出Word文档,Itext是其中一种选择,使用Itext导出Word文档时需要导入iText-2.1.7.jar和iText-rtf-2.1.7.jar两个jar,具体实现如下代码所示:package cn.outofmemory.utils.file; import java.aw...
IDEA的使用指南
IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.
怀旧版电脑GBC模拟器
再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。
itext导出word文档常用方法汇总
2019独角兽企业重金招聘Python工程师标准>>> ...
IMSL CNL 7.0.0 (x86-64)Crack
IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件
Itext导出Word文档的例子
在实际项目中经常需要导出Word文档,Itext是其中一种选择,使用Itext导出Word文档时需要导入iText-2.1.7.jar和iText-rtf-2.1.7.jar两个jar,具体实现如下代码所示: [code] package com.myclover.utils.file; import java.awt.Color; import com.lowagie.t...
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
使用IText实现office Word文档导出
package officeWordDoc; import java.awt.Color; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLExcep
java通过itext导出word文档
首先导入itext相关jar包 itext-asian-5.2.0.jar itext-rtf-2.1.7.jar itext-2.1.7.jar 创建word文档 // 设置纸张的大小 Document document = new Document(PageSize.A4); // 创建word文档 RtfWriter2.getInstance(document, new FileOutputStream(filePath)); // 打开文档 document.open(); //设置段落
Struts2利用iText导出word文档(包含表格)以提供下载
在公司实习期间,带我的老师让我实现一功能——在显示课表的页面上上点击“导出文件“时能以word文档形式下载课表。将课表导出到excel里的功能他们已经实现了,用的是Struts2+poi实现的。poi对excel表格操作能力很强,但是对word文档的支持一直没有更新,操作能力有限。 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个...
IText导出Word文档
IText导出Word文档 在开发过程中,经常使用一些导出功能,如Excel,Word,PDF等,今天项目中需要做一个Word文档的导出功能,使用了一个开源工具IText。 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、H
使用itext导出含表格的word文档
今天尝试使用itext导出数据库中所有表的列信息,效果还可以。 首先需要引入两个jar包 iText-2.1.7.jar itext-rtf-2.1.7.jar 下面是导出方法,一个很小的例子,只用到了表格 /** * * @param fname 文件名 * @param tl 数据 * @th
Java导出Word文档使用iText操作
import com.lowagie.text.*; import com.lowagie.text.Font; import com.lowagie.text.rtf.RtfWriter2; import com.lowagie.text.rtf.style.RtfFont; import com.test.action.monitor.service.CommonService; import
java用iText导出word文档
1.需要导入的jar包 2.导出word并下载其实是分两步的。 第一步是将需要导出的数据导出(上传)到服务器上 第二步是将服务器上的文档下载到本地 3. 第一步。上传文档 (1)设置响应信息以及构造上传路径 (2)设置字体样式,创建生成文档的对象 (3)WordUtils工具类 (4)写入文档标题 (5)写入文档的目录以及文档内容在上面的...
Struts2利用iText导出word文档(包含表格)
struts.xml里的配置如下: <!-- 保存为word文件 --> <action name="studentCurriculumWord" class="studentCurriculumWordAction"> <result name="success" type="stream">
使用itext导出多个 数据库中的富文本html标签(带占位符可替换的)的word文档并压缩
首先引入 itext 需要的jar包 <dependency> <groupId>com.lowagie</groupId> <artifactId>iText</artifactId> <version>2.1.3</version> </d...
572



被折叠的 条评论
为什么被折叠?



