xhxu 3 лет назад
Родитель
Сommit
8ea999b37a
2 измененных файлов: 22 добавлений и 23 удалений
  1. +22
    -23
      mallinkBApi/src/main/java/com/iformall/utils/ImgYwsqhUtil.java
  2. Двоичные данные
      mallinkBApi/src/main/resources/imgTemp/wxjjywsqh.jpg

+ 22
- 23
mallinkBApi/src/main/java/com/iformall/utils/ImgYwsqhUtil.java Просмотреть файл

@@ -37,17 +37,17 @@ public class ImgYwsqhUtil {
boolean isSeal,String merchant_name){ boolean isSeal,String merchant_name){


try { try {
logger.info("starttime1----"+new Date().getTime());
// logger.info("starttime1----"+new Date().getTime());
// InputStream backImgUrl = ImgYwsqhUtil.class.getClassLoader().getResourceAsStream(imgTempPath); // InputStream backImgUrl = ImgYwsqhUtil.class.getClassLoader().getResourceAsStream(imgTempPath);
ClassPathResource resource = new ClassPathResource(imgTempPath); ClassPathResource resource = new ClassPathResource(imgTempPath);
InputStream backImgUrl = resource.getInputStream(); InputStream backImgUrl = resource.getInputStream();
logger.info("starttime2----"+new Date().getTime());
// logger.info("starttime2----"+new Date().getTime());
BufferedImage backImg = ImageIO.read(backImgUrl); BufferedImage backImg = ImageIO.read(backImgUrl);
logger.info("starttime3----"+new Date().getTime());
// logger.info("starttime3----"+new Date().getTime());
// backImgUrl.close(); // backImgUrl.close();
Graphics g = backImg.getGraphics(); Graphics g = backImg.getGraphics();


Font fTxtBottom = new Font("微软雅黑", Font.PLAIN, 70);
Font fTxtBottom = new Font("微软雅黑", Font.PLAIN, 35);
Color myColorTxtBottom = Color.BLACK; Color myColorTxtBottom = Color.BLACK;


g.setFont(fTxtBottom); g.setFont(fTxtBottom);
@@ -60,60 +60,59 @@ public class ImgYwsqhUtil {
if(contact_name.length() == 2){ if(contact_name.length() == 2){
contact_name = contact_name.replace("", " ").trim(); contact_name = contact_name.replace("", " ").trim();
} }
int xName = 2955 - metrics.stringWidth(contact_name)/2 ;
g.drawString(contact_name, xName , 1282);//g.drawString(文字, x 位置, y 位置);
int xName = 1496 - metrics.stringWidth(contact_name)/2 ;
g.drawString(contact_name, xName , 652);//g.drawString(文字, x 位置, y 位置);
} }
//图片加身份证号 //图片加身份证号
if(StringUtils.isNotBlank(contact_id_number)){ if(StringUtils.isNotBlank(contact_id_number)){
int xNumber = 1200 - metrics.stringWidth(contact_id_number) / 2;
g.drawString(contact_id_number, xNumber, 1500);
int xNumber = 605 - metrics.stringWidth(contact_id_number) / 2;
g.drawString(contact_id_number, xNumber, 762);
} }
//图片加部门 //图片加部门
if(StringUtils.isNotBlank(contact_department)){ if(StringUtils.isNotBlank(contact_department)){
int xDepartment = 2340 - metrics.stringWidth(contact_department) / 2;
g.drawString(contact_department, xDepartment, 1500);
int xDepartment = 1180 - metrics.stringWidth(contact_department) / 2;
g.drawString(contact_department, xDepartment, 762);
} }
//图片加职务 //图片加职务
if(StringUtils.isNotBlank(contact_job)){ if(StringUtils.isNotBlank(contact_job)){
int xJob = 3100 - metrics.stringWidth(contact_job) / 2;
g.drawString(contact_job, xJob, 1500);
int xJob = 1562 - metrics.stringWidth(contact_job) / 2;
g.drawString(contact_job, xJob, 762);
} }
//图片加法人姓名 //图片加法人姓名
if(StringUtils.isNotBlank(legal_person)){ if(StringUtils.isNotBlank(legal_person)){
if(legal_person.length() == 2){ if(legal_person.length() == 2){
legal_person = legal_person.replace("", " ").trim(); legal_person = legal_person.replace("", " ").trim();
} }
g.drawString(legal_person, 1250, 2590);
g.drawString(legal_person, 630, 1315);
} }
//图片加法人身份证号 //图片加法人身份证号
if(StringUtils.isNotBlank(id_card_number)){ if(StringUtils.isNotBlank(id_card_number)){
g.drawString(id_card_number, 1100, 2800);
g.drawString(id_card_number, 550, 1425);
} }
//图片加有效期 //图片加有效期
if(StringUtils.isNotBlank(card_period_begin) && StringUtils.isNotBlank(card_period_end)){ if(StringUtils.isNotBlank(card_period_begin) && StringUtils.isNotBlank(card_period_end)){
String card_begin_end = card_period_begin + " 至 " + card_period_end; String card_begin_end = card_period_begin + " 至 " + card_period_end;
g.drawString(card_begin_end, 1190, 3020);
g.drawString(card_begin_end, 594, 1535);
} }
//图片加商户/单位名称merchant_name //图片加商户/单位名称merchant_name
if(StringUtils.isNotBlank(merchant_name)){ if(StringUtils.isNotBlank(merchant_name)){
g.drawString(merchant_name, 2400, 4540);
g.drawString(merchant_name, 1214, 2306);
} }


//无公章 //无公章
if(!isSeal){ if(!isSeal){
Color sealColor = Color.LIGHT_GRAY; Color sealColor = Color.LIGHT_GRAY;
g.setColor(sealColor); g.setColor(sealColor);
int xSeal = 2400;
g.drawString("无公章", xSeal, 4320);
g.drawString("无公章", 1214, 2192);
} }


//调这个方法就是开始这个整合 (可以多张图片,多个文字整合成一张图片,只有把他们放在这方法里面就行) //调这个方法就是开始这个整合 (可以多张图片,多个文字整合成一张图片,只有把他们放在这方法里面就行)
g.dispose(); g.dispose();
logger.info("starttime4----"+new Date().getTime());
// logger.info("starttime4----"+new Date().getTime());
ByteArrayOutputStream out = new ByteArrayOutputStream(); ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(backImg, "png", out);
logger.info("starttime5----"+new Date().getTime());
ImageIO.write(backImg, "jpg", out);
// logger.info("starttime5----"+new Date().getTime());
byte[] bytes = out.toByteArray(); byte[] bytes = out.toByteArray();
// out.close(); // out.close();
return bytes; return bytes;
@@ -129,11 +128,11 @@ public class ImgYwsqhUtil {
try { try {
byte[] bytes = imgCeate("周思琦","421302199908031245","运营部","经理", byte[] bytes = imgCeate("周思琦","421302199908031245","运营部","经理",
"王若非","612101194701250412","2007-10-29","长期", "王若非","612101194701250412","2007-10-29","长期",
true,"北京富茂科技有限公司");
false,"北京富茂科技有限公司");
ByteArrayInputStream bais = new ByteArrayInputStream(bytes); ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
BufferedImage bi1 =ImageIO.read(bais); BufferedImage bi1 =ImageIO.read(bais);


ImageIO.write(bi1, "png", new File(serverUploadImgUrl+"/0.png"));
ImageIO.write(bi1, "jpg", new File(serverUploadImgUrl+"/0.jpg"));


} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();


Двоичные данные
mallinkBApi/src/main/resources/imgTemp/wxjjywsqh.jpg Просмотреть файл

До После
Ширина: 4134  |  Высота: 5846  |  Размер: 681 KiB Ширина: 2100  |  Высота: 2970  |  Размер: 104 KiB

Загрузка…
Отмена
Сохранить