fix: PDF水印文字
This commit is contained in:
+8
-12
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.system.util;
|
||||
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||
@@ -24,23 +25,18 @@ import java.time.format.DateTimeFormatter;
|
||||
|
||||
/**
|
||||
* 水印工具类
|
||||
*
|
||||
* @author CaiHaohan
|
||||
*/
|
||||
@Component
|
||||
public class SysWaterMarkUtil {
|
||||
|
||||
@Resource
|
||||
private ISysUserService userEoService;
|
||||
|
||||
public String getWaterMarkConfig() {
|
||||
LocalDate currentDate = LocalDate.now();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
|
||||
String formattedDate = currentDate.format(formatter);
|
||||
|
||||
SysUser user = userEoService.getById(UserUtils.getUserId());
|
||||
String userName = user.calcNameWorkNo();
|
||||
|
||||
return userName + " " + formattedDate;
|
||||
LoginUser loginUser = UserUtils.getLoginUser();
|
||||
if (loginUser == null) {
|
||||
return "";
|
||||
}
|
||||
return loginUser.getUsername() + loginUser.getRealname();
|
||||
}
|
||||
|
||||
public synchronized InputStream addWatermarkToPdf(InputStream inputStream) throws IOException {
|
||||
@@ -51,7 +47,7 @@ public class SysWaterMarkUtil {
|
||||
ClassPathResource fontResource = new ClassPathResource("fonts/SourceHanSerif-VF.ttf");
|
||||
PDType0Font font = PDType0Font.load(document, fontResource.getInputStream());
|
||||
float fontSize = 13.0f;
|
||||
Color color = new Color(100, 100, 100, 0);
|
||||
Color color = new Color(180, 180, 180, 1);
|
||||
PDExtendedGraphicsState graphicsState = new PDExtendedGraphicsState();
|
||||
graphicsState.setNonStrokingAlphaConstant(0.4f);
|
||||
graphicsState.setStrokingAlphaConstant(0.4f);
|
||||
|
||||
Reference in New Issue
Block a user