Java 添加和刪除PDF圖層的示例代碼
在PDF文檔中,圖層可以使部分內(nèi)容選擇性地被隱藏或顯示。通過添加圖層,我們可以將文本、圖片、表格等元素精確定位于頁面指定位置,并可將這些元素進(jìn)行疊放、組合形成頁面的最終效果。本文將介紹如何使用Spire.PDF for Java來添加和刪除PDF圖層。
使用工具: Free Spire.PDF for Java (免費(fèi)版)
Jar文件獲取及導(dǎo)入:
方法1:通過官方網(wǎng)站 下載獲取jar包。解壓后將lib文件夾下的Spire.Pdf.jar文件導(dǎo)入Java程序。(如下圖)
方法2:通過maven倉(cāng)庫(kù)安裝導(dǎo)入。具體安裝詳解參見此網(wǎng)頁 。
【示例1】添加圖層
com.spire.pdf.PdfDocument; import com.spire.pdf.PdfPageBase; import com.spire.pdf.graphics.PdfBrushes; import com.spire.pdf.graphics.PdfCanvas; import com.spire.pdf.graphics.PdfPen; import com.spire.pdf.graphics.layer.PdfLayer; import java.awt.geom.Point2D; public class AddLayers { public static void main(String[] args) { //創(chuàng)建PDF文檔 PdfDocument pdf = new PdfDocument(); //添加一頁 PdfPageBase page = pdf.getPages().add(); //添加3個(gè)線條圖層到PDF文檔 PdfLayer layer = pdf.getLayers().addLayer("red line1"); PdfCanvas canvas1 = layer.createGraphics(pdf.getPages().get(0).getCanvas()); canvas1.drawLine(new PdfPen(PdfBrushes.getRed(), 1), new Point2D.Float(50, 350), new Point2D.Float(200, 350)); layer = pdf.getLayers().addLayer("blue line1"); PdfCanvas canvas2 = layer.createGraphics(pdf.getPages().get(0).getCanvas()); canvas2.drawLine(new PdfPen(PdfBrushes.getBlue(), 1), new Point2D.Float(50, 450), new Point2D.Float(200, 450)); layer = pdf.getLayers().addLayer("green line1"); PdfCanvas canvas3 = layer.createGraphics(pdf.getPages().get(0).getCanvas()); canvas3.drawLine(new PdfPen(PdfBrushes.getGreen(), 1), new Point2D.Float(50,550), new Point2D.Float(200, 550)); //保存結(jié)果文檔 pdf.saveToFile("output/addLayers.pdf"); pdf.close(); } }
圖層添加效果:
【示例2】刪除圖層
com.spire.pdf.PdfDocument; public class DeleteLayers { public static void main(String[] args) { //加載PDF文檔 PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("D:\\Desktop\\addLayers.pdf"); //刪除名為“red line1”的圖層 pdf.getLayers().removeLayer("red line1"); //保存結(jié)果文檔 pdf.saveToFile("output/deleteLayer.pdf"); pdf.close(); } }
圖層刪除效果:
總結(jié)
以上所述是小編給大家介紹的Java 添加和刪除PDF圖層的示例代碼,希望對(duì)大家有所幫助,也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
java對(duì)象類型轉(zhuǎn)換和多態(tài)性(實(shí)例講解)
下面小編就為大家?guī)硪黄猨ava對(duì)象類型轉(zhuǎn)換和多態(tài)性(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10完美解決Server?returned?HTTP?response?code:403?for?URL報(bào)錯(cuò)問題
在調(diào)用某個(gè)接口的時(shí)候,突然就遇到了Server?returned?HTTP?response?code:?403?for?URL報(bào)錯(cuò)這個(gè)報(bào)錯(cuò),導(dǎo)致獲取不到接口的數(shù)據(jù),下面小編給大家分享解決Server?returned?HTTP?response?code:403?for?URL報(bào)錯(cuò)問題,感興趣的朋友一起看看吧2023-03-03Java中關(guān)于isEmpty方法、null以及““的區(qū)別
這篇文章主要介紹了Java中關(guān)于isEmpty方法、null以及““的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08Java Socket實(shí)現(xiàn)聊天室附1500行源代碼
Socket是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層,它是一組接口。本篇文章手把手帶你通過Java Socket來實(shí)現(xiàn)自己的聊天室,大家可以在過程中查缺補(bǔ)漏,溫故而知新2021-10-10springboot讀取自定義配置文件時(shí)出現(xiàn)亂碼解決方案
這篇文章主要介紹了springboot讀取自定義配置文件時(shí)出現(xiàn)亂碼解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11解讀controller層,service層,mapper層,entity層的作用與聯(lián)系
這篇文章主要介紹了關(guān)于controller層,service層,mapper層,entity層的作用與聯(lián)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11