From ca734d69ab3937bac864b4361317a49dd15a7882 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 08 七月 2024 17:14:43 +0800
Subject: [PATCH] 骑缝章完成
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java | 33 ++++++++++++++++++++-------------
inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java | 2 +-
2 files changed, 21 insertions(+), 14 deletions(-)
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
index 8723b42..0b1a01e 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
@@ -16,7 +16,7 @@
Map<String,Object> pageInsReport(Page page, ReportPageDto reportPageDto);
- void wordToPdf(String path);
+ void wordToPdf(String path,String sealUrl);
int inReport(String url, Integer id);
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
index 7033aec..f238926 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
@@ -189,9 +189,9 @@
put("seal1", Pictures.ofLocal(imgUrl + "/" + sealUrl).create());
put("seal2", Pictures.ofLocal(imgUrl + "/" + sealUrl).create());
}}, finalUrl);
- wordToPdf(finalUrl);
+ wordToPdf(finalUrl,sealUrl);
- String replace = finalUrl.replace(".docx", ".pdf");
+ /* String replace = finalUrl.replace(".docx", ".pdf");
CompletableFuture.supplyAsync(() -> {
try {
stamperCheckMarkPDF(replace,replace,sealUrl);
@@ -203,7 +203,7 @@
}).exceptionally(e -> {
e.printStackTrace();
return null;
- });
+ });*/
InsOrder insOrder = new InsOrder();
insOrder.setId(insReportMapper.selectById(id).getInsOrderId());
@@ -224,10 +224,10 @@
}
@Override
- public void wordToPdf(String path) {
+ public void wordToPdf(String path,String sealUrl) {
CompletableFuture.supplyAsync(() -> {
try {
- wordToPdf(path, path.replace(".docx", ".pdf"));
+ wordToPdf(path, path.replace(".docx", ".pdf"),sealUrl);
return null;
} catch (Exception e) {
throw new ErrorException("杞崲澶辫触");
@@ -239,7 +239,7 @@
});
}
- public String wordToPdf(String wordPath, String pdfPath) {
+ public String wordToPdf(String wordPath, String pdfPath,String sealUrl) {
FileOutputStream os = null;
try {
//鍑瘉 涓嶇劧鍒囨崲鍚庢湁姘村嵃
@@ -264,11 +264,16 @@
return null;
}
//鐢熸垚涓�涓┖鐨凱DF鏂囦欢
- File file = new File(pdfPath);
+ File file = new File(pdfPath.replace(".pdf","-1.pdf"));
os = new FileOutputStream(file);
//瑕佽浆鎹㈢殑word鏂囦欢
com.aspose.words.Document doc = new com.aspose.words.Document(wordPath);
doc.save(os, SaveFormat.PDF);
+
+ //娣诲姞楠戠紳绔�
+ stamperCheckMarkPDF(pdfPath.replace(".pdf","-1.pdf"),pdfPath,imgUrl + "/" +sealUrl);
+
+
} catch (Exception e) {
e.printStackTrace();
} finally {
@@ -290,8 +295,8 @@
*/
public static com.itextpdf.text.Image[] slicingImages(String Path, int n) throws IOException, BadElementException {
com.itextpdf.text.Image[] nImage = new com.itextpdf.text.Image[n];
- ByteArrayOutputStream out = new ByteArrayOutputStream();
BufferedImage img = ImageIO.read(new File(Path));
+
int h = img.getHeight();
int w = img.getWidth();
@@ -303,11 +308,10 @@
}else {//鍓峮-1鍧楀潎鍖�鍒�
subImg = img.getSubimage(i * sw, 0, sw, h);
}
-
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(subImg,Path.substring(Path.lastIndexOf('.')+1),out);
nImage[i] = com.itextpdf.text.Image.getInstance(out.toByteArray());
- out.flush();
- out.reset();
+
}
return nImage;
}
@@ -322,6 +326,7 @@
PdfReader reader = new PdfReader(infilePath);//閫夋嫨闇�瑕佸嵃绔犵殑pdf
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(outFilePath));//鍔犲畬鍗扮珷鍚庣殑pdf
+
com.itextpdf.text.Rectangle pageSize = reader.getPageSize(1);//鑾峰緱绗竴椤�
float height = pageSize.getHeight();
float width = pageSize.getWidth();
@@ -329,11 +334,13 @@
int nums = reader.getNumberOfPages();
com.itextpdf.text.Image[] nImage = slicingImages(picPath,nums);//鐢熸垚楠戠紳绔犲垏鍓插浘鐗�
-
for(int n=1;n<=nums;n++){
PdfContentByte over = stamp.getOverContent(n);//璁剧疆鍦ㄧ鍑犻〉鎵撳嵃鍗扮珷
com.itextpdf.text.Image img = nImage[n-1];//閫夋嫨鍥剧墖
- img.setAbsolutePosition(width-img.getWidth(),height/2-img.getHeight()/2);//鎺у埗鍥剧墖浣嶇疆
+ float newHeight = 100f;
+ float newWidth = img.getWidth()/(img.getHeight()/100);
+ img.scaleAbsolute(newWidth,newHeight);//鎺у埗鍥剧墖澶у皬
+ img.setAbsolutePosition(width-newWidth,height/2-newHeight/2);//鎺у埗鍥剧墖浣嶇疆
over.addImage(img);
}
stamp.close();
--
Gitblit v1.9.3