itext pdf 加水印

水印使用的是itexpdf

1.引入依賴

      <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.4.3</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.2.0</version>
        </dependency>

2.相關(guān)代碼

    public static void addWatermark(String srcFile, String watermark) throws IOException, DocumentException {
        // 待加水印的文件
        PdfReader reader = new PdfReader(new FileInputStream(srcFile));

        String outSrcPath = "D:\\waterMark.pdf";
        // 加完水印的文件
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outSrcPath));
        // 設(shè)置字體
        BaseFont baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.EMBEDDED);
        // 設(shè)置透明度
        PdfGState gs = new PdfGState();
        // pdf頁數(shù)
        int pageCount = reader.getNumberOfPages() + 1;
        PdfContentByte content;
        // 循環(huán)對每頁插入水印
        for (int i = 1; i < pageCount; i++)
        {
            // 水印的起始
            content = stamper.getOverContent(i);
            gs.setFillOpacity(0.5f);
            content.setGState(gs);
            // 開始
            content.beginText();
            // 設(shè)置顏色 默認(rèn)為黑色
            content.setColorFill(BaseColor.LIGHT_GRAY);
            // 設(shè)置字體及字號
            content.setFontAndSize(baseFont, 50);
            // 開始寫入水印
            content.showTextAligned(Element.ALIGN_BASELINE, watermark, 180,
                    340, 45);
            content.endText();
        }
        stamper.close();

        reader.close();
    }

3.測試代碼

public static void main(String[] args) throws IOException, DocumentException {
        String srcFile = "D:\\174218509.pdf";
        String warterMark = "這是水印水印水印";
        addWatermark(srcFile,warterMark);
    }

4.測試結(jié)果

參考:
Java 渲染 docx 文件,并生成 pdf 加水印

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末汗捡,一起剝皮案震驚了整個濱河市虽抄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辛燥,老刑警劉巖筛武,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異徘六,居然都是意外死亡,警方通過查閱死者的電腦和手機硕噩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進(jìn)店門假残,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人炉擅,你說我怎么就攤上這事辉懒〉В” “怎么了?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵颠印,是天一觀的道長抹竹。 經(jīng)常有香客問我线罕,道長窃判,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任询件,我火速辦了婚禮,結(jié)果婚禮上宛琅,老公的妹妹穿的比我還像新娘逗旁。我一直安慰自己,他們只是感情好片效,可當(dāng)我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著色建,像睡著了一般舌缤。 火紅的嫁衣襯著肌膚如雪箕戳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天玻墅,我揣著相機與錄音壮虫,去河邊找鬼。 笑死囚似,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的饶唤。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼办素,長吁一口氣:“原來是場噩夢啊……” “哼祸穷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起雷滚,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后刻蚯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡躬充,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年讨便,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伴找。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡废菱,死狀恐怖抖誉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情袒炉,我是刑警寧澤,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布我磁,位于F島的核電站驻襟,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏塑悼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一霞势、第九天 我趴在偏房一處隱蔽的房頂上張望斑鸦。 院中可真熱鬧,春花似錦巷屿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽篙螟。三九已至,卻和暖如春遍略,著一層夾襖步出監(jiān)牢的瞬間骤坐,已是汗流浹背绪杏。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工蕾久, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腔彰。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像霹抛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子杯拐,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容