/**
* 创建word文档 步骤:
* 1,建立文档
* 2,创建一个书写器
* 3,打开文档
* 4,向文档中写入数据
* 5,关闭文档
* @Date 2020年3月18日 下午3:21:40
* tag@param fileName word文件名
* tag@param data 需要展示的数据
* tag@return
*/
public InputStream creatAndUploadTongHangWord(String fileName,Map<String, Object> data) {
//新建文档
InputStream bis=null;
Document document = new Document(PageSize.A4,80,80,80,80);
String projectType=String.valueOf(data.get("projecttype"));
try {
SFTPClientUtils sftpUtils=new SFTPClientUtils();
sftpUtils.makeConnection();
InputStream streams= sftpUtils.download(upload_tonghang_pic_path);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
byte[] dataBytes;
while ((len = streams.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
baos.flush();
dataBytes = baos.toByteArray();
Image img = Image.getInstance(dataBytes);
//创建读写器,在本地生成word文档
ByteArrayOutputStream baoss = null;
baoss = new ByteArrayOutputStream();
RtfWriter2.getInstance(document, baoss);
//打开文档
document.open();
Font shuomingfont=new Font(BaseFont.createFont(), 12, Font.NORMAL);
Font shuomingt=new Font(BaseFont.createFont(), 12, Font.UNDERLINE);
//大标题图片
if(img!=null){
img.scalePercent(32);//设置图片为原图片大小的100%
}
int jinju=5;
int jinju2=20;
//大标题
String bigtitle=this.getTongHangTitle(projectType);
Paragraph titleParagraph = new Paragraph();
titleParagraph.setAlignment(Image.ALIGN_CENTER);
titleParagraph.setSpacingAfter(8);
titleParagraph.add(img);
titleParagraph.add(new Paragraph( bigtitle,FontFactory.getFont(Constants.FONTTYPE, 22, Font.BOLD)));
document.add(titleParagraph);
//项目名称
Paragraph p1 = new Paragraph("项目名称: ", FontFactory.getFont(Constants.FONTTYPE, 12,Font.BOLD));
p1.setAlignment(Element.ALIGN_LEFT);
p1.setFont(shuomingfont);
Chunk chunk1 = new Chunk(String.valueOf(data.get("projectName")) , FontFactory.getFont(Constants.FONTTYPE, 12));
chunk1.setFont(shuomingt);
p1.add(chunk1);
document.add(p1);
//申请人姓名
Paragraph p2= new Paragraph("申请人姓名: ", FontFactory.getFont(Constants.FONTTYPE, 12,Font.BOLD));
p2.setSpacingAfter(jinju);
p2.setSpacingBefore(jinju);
p2.setAlignment(Element.ALIGN_LEFT);
p2.setFont(shuomingfont);
Chunk chunk2=new Chunk(String.valueOf(data.get("name")), FontFactory.getFont(Constants.FONTTYPE, 12));
chunk2.setFont(shuomingt);
p2.add(chunk2);
document.add(p2);
//申请人单位
Paragraph p3= new Paragraph("申请人单位: ", FontFactory.getFont(Constants.FONTTYPE, 12,Font.BOLD));
p3.setSpacingAfter(jinju);
p3.setSpacingBefore(jinju);
p3.setAlignment(Element.ALIGN_LEFT);
p3.setFont(shuomingfont);
Chunk chunk3=new Chunk(String.valueOf(data.get("completeunit")), FontFactory.getFont(Constants.FONTTYPE, 12));
chunk3.setFont(shuomingt);
p3.add(chunk3);
document.add(p3);
//推荐单位/推荐专家
Paragraph p4= new Paragraph("推荐单位/推荐专家: ", FontFactory.getFont(Constants.FONTTYPE, 12,Font.BOLD));
p4.setSpacingBefore(jinju);
p4.setAlignment(Element.ALIGN_LEFT);
p4.setFont(shuomingfont);
Chunk chunk4=new Chunk(String.valueOf(data.get("unitName")), FontFactory.getFont(Constants.FONTTYPE, 12));
chunk4.setFont(shuomingt);
p4.add(chunk4);
document.add(p4);
//建议授奖类型 科普奖无授奖类型
if(!projectType.equals(Constants.PROJECTTYPE_KP)){
Paragraph p55= new Paragraph(" ", FontFactory.getFont(Constants.FONTTYPE, 12,Font.UNDERLINE));
document.add(p55);
Paragraph p5= new Paragraph("建议授奖类型: ", FontFactory.getFont(Constants.FONTTYPE, 12,Font.BOLD));
p5.setAlignment(Element.ALIGN_LEFT);
p5.setFont(shuomingfont);
Chunk chunk5=new Chunk(String.valueOf(data.get("votetypename")), FontFactory.getFont(Constants.FONTTYPE, 12));
chunk5.setFont(shuomingt);
p5.add(chunk5);
document.add(p5);
Paragraph p56= new Paragraph(" ", FontFactory.getFont(Constants.FONTTYPE, 12,Font.UNDERLINE));
document.add(p56);
}
//具体评审意见
Table table = new Table(1);
table.setBorderWidth(1);
table.setBorderColor(Color.BLACK);
table.setPadding(0);
table.setSpacing(0);
table.setWidth(100f);
Paragraph juti = new Paragraph("具体评审意见:\n ",FontFactory.getFont(Constants.FONTTYPE, 12));
juti.setSpacingAfter(10);
juti.setAlignment(Element.ALIGN_LEFT);
juti.setFont(shuomingfont);
juti.setKeepTogether(true);
Paragraph conten=new Paragraph(String.valueOf(data.get("opinion")), FontFactory.getFont(Constants.FONTTYPE, 12));
conten.setAlignment(Element.ALIGN_LEFT);
conten.setKeepTogether(true);
conten.setSpacingAfter(300);
Paragraph gfda=new Paragraph("", FontFactory.getFont(Constants.FONTTYPE, 12));
gfda.setSpacingAfter(100);
gfda.setKeepTogether(true);
Paragraph gfda2=new Paragraph("", FontFactory.getFont(Constants.FONTTYPE, 12));
gfda2.setKeepTogether(true);
Paragraph gfda3=new Paragraph("", FontFactory.getFont(Constants.FONTTYPE, 12));
gfda3.setKeepTogether(true);
Paragraph gfda4=new Paragraph("", FontFactory.getFont(Constants.FONTTYPE, 12));
gfda4.setKeepTogether(true);
Paragraph gfda5=new Paragraph("", FontFactory.getFont(Constants.FONTTYPE, 12));
gfda5.setKeepTogether(true);
Paragraph gfda6=new Paragraph("", FontFactory.getFont(Constants.FONTTYPE, 12));
gfda6.setKeepTogether(true);
Paragraph gfda7=new Paragraph("", FontFactory.getFont(Constants.FONTTYPE, 12));
gfda7.setKeepTogether(true);
Paragraph gfda8=new Paragraph("", FontFactory.getFont(Constants.FONTTYPE, 12));
gfda8.setKeepTogether(true);
Paragraph gfda9=new Paragraph("", FontFactory.getFont(Constants.FONTTYPE, 12));
gfda9.setKeepTogether(true);
juti.add(conten);
juti.add(gfda);
juti.add(gfda2);
juti.add(gfda3);
juti.add(gfda4);
juti.add(gfda5);
juti.add(gfda6);
juti.add(gfda7);
juti.add(gfda8);
juti.add(gfda9);
Cell juticell1 = new Cell(juti);//单元格
table.addCell(juticell1);
document.add(table);
//关闭文档
document.close();
byte[] byteArray = baoss.toByteArray();
bis = new ByteArrayInputStream(byteArray);
} catch (Exception e) {
logger.error("creatAndUploadTongHangWord with error:"+e);
}
return bis;
}
详细解决方案
java itext 生成word文档
热度:0 发布时间:2023-12-11 16:04:38.0
相关解决方案
- java 乱码 汉字是 ? 如何转换成汉字
- java web 登录次数限制,该如何解决
- java 工商银行网银支付 B2B的 都亟需什么,需要注意什么
- Java Applet程序从JDK6升级到7时遇到的有关问题
- java web 视频相干
- 请教一个关于链接后缀的有关问题(java web 应用)
- java 系统单点登录解决方案
- java.lang.NumberFormatException: For input string: "id"该如何处理
- java.lang.NoSuchMethodException: setId([Ljava.lang.String;)解决方法
- java 获取客户端IP解决办法
- JAVA 后台怎么获得前台页面FCKedit编辑器中的内容以及内容的样式
- java 正则化匹配有关问题
- java web 受阻
- java.lang.IllegalStateException: No output folder,该怎么解决
- java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccess,该如何解决
- java 乱码有关问题 急求大神
- java EE错误如何解决阿,都是过了,没有能解决的!
- java 工程打包有关问题 多谢各位大神!多谢
- JAVA WEB导航条,该怎么处理
- java.sql.SQLException: Access denied for user 'root'@'localhost' (using password,该如何处理
- java 中Node 有关问题
- 关于 java 引述传递和值传递,你的知否
- 吐了,java Timer 终止不了。
- Java Web 学习中有关问题,请高手指教
- java web中的url地址小疑点。
- java web开发解决办法
- java.lang.NullPointerException解决方法
- 关于 java cast 有关问题,你明白不
- java ftp 下传和上载乱码有关问题
- java web项目上的一些文件