| | |
| | | |
| | | |
| | | |
| | | import java.awt.*; |
| | | import java.awt.image.BufferedImage; |
| | | import java.io.ByteArrayInputStream; |
| | | import java.io.File; |
| | | import java.io.InputStream; |
| | | import java.io.*; |
| | | import java.nio.file.Files; |
| | | import java.nio.file.Path; |
| | | import java.nio.file.Paths; |
| | |
| | | import com.sun.xml.internal.ws.api.addressing.WSEndpointReference; |
| | | import org.apache.commons.imaging.ImageInfo; |
| | | import org.apache.commons.imaging.Imaging; |
| | | import org.springframework.mock.web.MockMultipartFile; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | else{ |
| | | if(doc.getSecurityLevel().equals("该页另存")) |
| | | { |
| | | |
| | | //替换为了准备好的图像 |
| | | //读取服务器上的图像 |
| | | // new InputStream(); |
| | |
| | | Long fileNumber = documentMaterialsService.getFiNum(nam,recordId); |
| | | //计算sizeType |
| | | String sizeType = getPageSize(wid*hei); |
| | | |
| | | |
| | | Graphics2D g2d = bufferedImage.createGraphics(); // 获取Graphics2D对象用于绘制 |
| | | g2d.setFont(new Font("Arial", Font.BOLD, 80)); // 设置字体样式和大小 |
| | | g2d.setColor(Color.black); // 设置字体颜色为白色,可根据需要调整颜色和字体样式 |
| | | String pageNumber = doc.getPageNumber()+""; // 页码字符串,可以根据需要修改或动态生成 |
| | | int fontHeight = g2d.getFontMetrics().getHeight(); // 获取字体高度,用于定位文本位置 |
| | | int x = bufferedImage.getWidth() - g2d.getFontMetrics().stringWidth(pageNumber) - 80; // 计算文本X坐标位置,确保在右下角附近 |
| | | int y = bufferedImage.getHeight() - fontHeight / 2 - 100; // 计算文本Y坐标位置,垂直居中显示文本 |
| | | g2d.drawString(pageNumber, x, y); // 在图片上绘制页码文本 |
| | | |
| | | |
| | | System.out.println(pageNumber+"[[[[[[[[[[[[[[["); |
| | | g2d.dispose(); // 释放Graphics2D资源 |
| | | // File outputFile = new File(filePath+"/output_image.jpg"); // 输出文件路径 |
| | | // ImageIO.write(bufferedImage, "jpg", outputFile); // 保 |
| | | //得到BufferedImage对象 |
| | | MultipartFile multipartFile = null; |
| | | try { |
| | | //创建一个ByteArrayOutputStream |
| | | ByteArrayOutputStream os = new ByteArrayOutputStream(); |
| | | //把BufferedImage写入ByteArrayOutputStream |
| | | ImageIO.write(bufferedImage, "jpg", os); |
| | | //ByteArrayOutputStream转成InputStream |
| | | InputStream input = new ByteArrayInputStream(os.toByteArray()); |
| | | //InputStream转成MultipartFile |
| | | multipartFile = new MockMultipartFile(pageNumber, pageNumber+".jpg", "text/plain", input); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | // 上传并返回新文件名称 |
| | | String fileName1 = FileUploadUtils.upload(filePath, multipartFile); |
| | | String url1 = serverConfig.getUrl() + fileName; |
| | | |
| | | |
| | | String us = "/profile/upload/0071.jpg"; |
| | | documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber,wid, hei,wdpi, hdpi, sz, us, "jpg", recordId); |
| | | documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber,wid, hei,wdpi, hdpi, sz, fileName1, "jpg", recordId); |
| | | |
| | | |
| | | } |