网站模板建站教程,苏州吴中网站建设公司,张掖公司网站制作,wordpress 百度统计基于Aspose依赖添加自定义文本水印——Word、Pdf、Cell 所需依赖Word水印Pdf水印——#xff08; 注意 pdf 存在找不到字体的问题#xff09;Excel水印 所需依赖 dependencygroupIdcom.aspose/groupIdartifactIdaspose-pdf/artifactId 注意 pdf 存在找不到字体的问题Excel水印 所需依赖 dependencygroupIdcom.aspose/groupIdartifactIdaspose-pdf/artifactIdversion22.11/version/dependencydependencygroupIdcom.aspose/groupIdartifactIdaspose-cells/artifactIdversion22.12/version/dependencydependencygroupIdcom.aspose/groupIdartifactIdaspose-slides/artifactIdversion22.11/versionclassifierjdk16/classifier/dependencydependencygroupIdcom.aspose/groupIdartifactIdaspose-words/artifactIdversion22.12/versionclassifierjdk17/classifier/dependencyWord水印
// 先获取文件流 这边先随意读取文件流
InputStream in new FileInputStream(E:/demo/demo.docx);
// 注意document包每种类型都有一个document
com.aspose.words.Document doc new com.aspose.words.Document(in);
TextWatermarkOptions textWatermarkOptions new TextWatermarkOptions();
textWatermarkOptions.setFontFamily(宋体);
textWatermarkOptions.setFontSize(24f);
textWatermarkOptions.setColor(java.awt.Color.RED);
textWatermarkOptions.setLayout(WatermarkLayout.DIAGONAL);
textWatermarkOptions.isSemitrasparent(false);
doc.getWatermark().setText(水印内容,textWatermarkOptions);
ByteArrayOutputStream out new ByteArrayOutputStream();
doc.save(out, com.aspose.words.SaveFormat.DOCX);
out.close();
// 输出流用于下载
return out.toByteArray();Pdf水印—— 注意 pdf 存在找不到字体的问题
// 先获取文件流 这边先随意读取文件流
InputStream in new FileInputStream(E:/demo/demo.pdf);
// 注意document包每种类型都有一个document
com.aspose.pdf.Document doc new com.aspose.pdf.Document(in);
FormattedText formattedText new FormattedText(水印内容, java.awt.Color.RED, FontStyle.HelveticaBold, EncodingType.Identity_h, true, 24f);
for (Page page : doc.getPages()) {WatermarkArtifact artifact new WatermarkArtifact();artifact.setText(formattedText);artifact.getTextState().setFont(FontRepository.findFont(getFontName(宋体),true));artifact.setArtifactHorizontalAlignment(HorizontalAlignment.Center);artifact.setArtifactVerticalAlignment(VerticalAlignment.Center);artifact.setRotation(45); // 设置旋转角度artifact.setOpacity(0.9); // 设置透明度artifact.setBackground (true);page.getArtifacts().add(artifact);
}
ByteArrayOutputStream out new ByteArrayOutputStream();
doc.save(out, com.aspose.pdf.SaveFormat.Pdf);
out.close();
return out.toByteArray();// 注意 pdf 存在找不到字体的问题 因为字体库是以文件名查找 而不是字体名
private static String getFontName(String font){switch (font.trim().toLowerCase()){case 宋体:return simsun;case 微软雅黑:return simhei;default:return font;}
}Excel水印
// 先获取文件流 这边先随意读取文件流
InputStream in new FileInputStream(E:/demo/demo.xls);
// 注意document包每种类型都有一个document
Workbook workbook new Workbook(in);
for(Object worksheet: workbook.getWorksheets()){Worksheet sheet (Worksheet) worksheet;int coloums sheet.getCells().getColumns().getCount();int rows sheet.getCells().getRows().getCount();com.aspose.cells.Shape wordart sheet.getShapes().addTextEffect(MsoPresetTextEffect.TEXT_EFFECT_1,水印内容,宋体,24f,true,false,rows,rows/2,coloums/2,0,100,800);MsoFillFormat wordArtFormat wordart.getFillFormat();wordArtFormat.setTransparency(0.9);int r java.awt.Color.getRed();int g java.awt.Color.getGreen();int b java.awt.Color.getBlue();wordArtFormat.setForeColor(com.aspose.cells.Color.fromArgb(r,g,b));wordart.setHasLine(false);wordart.setLocked(true);wordart.setLockedProperty(ShapeLockType.SELECTION, true);wordart.setLockedProperty(ShapeLockType.SHAPE_TYPE, true);wordart.setLockedProperty(ShapeLockType.MOVE, true);wordart.setLockedProperty(ShapeLockType.RESIZE, true);wordart.setLockedProperty(ShapeLockType.TEXT, true);
}
ByteArrayOutputStream out new ByteArrayOutputStream();
workbook.save(out, com.aspose.cells.SaveFormat.XLSX);
out.close();
return out.toByteArray();