需求:公司业务员从oss存储中的下载pdf,为了文件的安全需要给pdf文件加水印,而且由于我们使用的是前后端分离来开发的,所以需要把加了水印的pdf传回给oss
首先需要的jar包为iText-2.1.2u.jar、iTextAsian.jar。package com.financial.core;
import java.awt.Color;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Properties;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfGState;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;
public class TestWaterPrint {
public String getWaterPdf(String url,String salesmanOid) throws Exception{
//首先处理pdf的名字
String fileName = url.substring(url.lastIndexOf("/")+1,url.lastIndexOf("."));
//文件存储路径用配置文件配置,用于开发环境和正式环境----- 至于为什么存这里在博客的第一条异常信息中说明了
InputStream in = TestWaterPrint.class.getClassLoader().getResourceAsStream("fileulr.