|
@@ -3,12 +3,17 @@ package com.simuwang;
|
|
|
import cn.hutool.core.collection.ListUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import com.itextpdf.text.Image;
|
|
|
+import com.itextpdf.text.pdf.PdfCopy;
|
|
|
+import com.itextpdf.text.pdf.PdfReader;
|
|
|
import com.itextpdf.text.pdf.PdfWriter;
|
|
|
import com.simuwang.base.common.conts.DateConst;
|
|
|
import com.simuwang.base.pojo.dto.MailboxInfoDTO;
|
|
|
import com.simuwang.daq.service.EmailParseApiService;
|
|
|
import com.simuwang.daq.service.EmailParseService;
|
|
|
-import org.apache.pdfbox.pdmodel.PDDocument;
|
|
|
+import org.apache.pdfbox.cos.COSDictionary;
|
|
|
+import org.apache.pdfbox.cos.COSName;
|
|
|
+import org.apache.pdfbox.pdmodel.*;
|
|
|
+import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
|
|
|
import org.apache.pdfbox.rendering.ImageType;
|
|
|
import org.apache.pdfbox.rendering.PDFRenderer;
|
|
|
import org.jasypt.util.text.BasicTextEncryptor;
|
|
@@ -140,26 +145,31 @@ public class ApplicationTest {
|
|
|
}
|
|
|
|
|
|
private void pdfToImage(String filePath) throws IOException {
|
|
|
- File file = new File(filePath);
|
|
|
- PDDocument doc = Loader.loadPDF(file);
|
|
|
- PDFRenderer renderer = new PDFRenderer(doc);
|
|
|
- int pageCount = doc.getNumberOfPages();
|
|
|
- BufferedImage merge = null;
|
|
|
- int curY = 0;
|
|
|
- for (int i = 0; i < pageCount; i++) {
|
|
|
- try {
|
|
|
- BufferedImage image = renderer.renderImage(i, 2, ImageType.RGB);
|
|
|
- ImageIO.write(image, "png", new File("D:/pdf/pdfToImage/" + i + ".png"));
|
|
|
-// BufferedImage bufferedImage = renderer.renderImage(i, 2, ImageType.RGB);
|
|
|
-// if (Objects.isNull(merge)) {
|
|
|
-// merge = new BufferedImage(bufferedImage.getWidth(), bufferedImage.getHeight() * i, BufferedImage.TYPE_INT_ARGB);
|
|
|
-// }
|
|
|
-// merge.getGraphics().drawImage(bufferedImage, 0, curY, null);
|
|
|
-// curY += bufferedImage.getHeight();
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
+// File file = new File(filePath);
|
|
|
+// PDDocument doc = Loader.loadPDF(file);
|
|
|
+// PDFRenderer renderer = new PDFRenderer(doc);
|
|
|
+// int pageCount = doc.getNumberOfPages();
|
|
|
+// BufferedImage merge = null;
|
|
|
+// int curY = 0;
|
|
|
+// for (int i = 0; i < pageCount; i++) {
|
|
|
+// try {
|
|
|
+// BufferedImage image = renderer.renderImage(i, 2, ImageType.RGB);
|
|
|
+// ImageIO.write(image, "png", new File("D:/pdf/pdfToImage/" + i + ".png"));
|
|
|
+// } catch (Exception e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
+// }
|
|
|
+ PDDocument doc = Loader.loadPDF(new File(filePath));
|
|
|
+ PDPageTree pages = doc.getPages();
|
|
|
+ int i = 0;
|
|
|
+ for (PDPage page : pages) {
|
|
|
+ PDResources resources = page.getResources();
|
|
|
+ COSDictionary dic = resources.getCOSObject().getCOSDictionary(COSName.XOBJECT);
|
|
|
+ dic.removeItem(COSName.getPDFName("华泰证券 严禁篡改伪造"));
|
|
|
}
|
|
|
+ doc.save(new File("D:/pdf/pdfToImage/无水印.pdf"));
|
|
|
+ // The #close() method must be called once the document is no longer needed.
|
|
|
+ doc.close();
|
|
|
}
|
|
|
/**
|
|
|
* 得到文件名称
|