feat: 企标带文件导出PDF文件先解密后加水印再加密
This commit is contained in:
@@ -2,6 +2,8 @@ package com.jero.modules.system.util;
|
||||
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.DateUtils;
|
||||
import com.jero.common.util.IntekeyUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||
import org.apache.pdfbox.pdmodel.PDPage;
|
||||
import org.apache.pdfbox.pdmodel.PDPageContentStream;
|
||||
@@ -13,14 +15,10 @@ import org.apache.pdfbox.util.Matrix;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.awt.*;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
@@ -30,6 +28,7 @@ import java.util.Date;
|
||||
* @author CaiHaohan
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class SysWaterMarkUtil {
|
||||
|
||||
@Value("${watermark.font-size}")
|
||||
@@ -63,6 +62,8 @@ public class SysWaterMarkUtil {
|
||||
@Value("${watermark.margin.top}")
|
||||
private float marginTop;
|
||||
|
||||
@Value("#{'${download.enable}'}")
|
||||
private boolean enable;
|
||||
|
||||
public List<String> getWaterMarkConfig() {
|
||||
LoginUser loginUser = UserUtils.getLoginUser();
|
||||
@@ -79,6 +80,9 @@ public class SysWaterMarkUtil {
|
||||
|
||||
public synchronized InputStream addWatermarkToPdf(InputStream inputStream) throws IOException {
|
||||
List<String> watermarkText = getWaterMarkConfig();
|
||||
if (enable) {
|
||||
inputStream = IntekeyUtils.autoDecryptInputStreamFile(inputStream, "test.pdf");
|
||||
}
|
||||
PDDocument document = PDDocument.load(inputStream);
|
||||
document.setAllSecurityToBeRemoved(true);
|
||||
// 加载水印字体
|
||||
|
||||
Reference in New Issue
Block a user