Java 添加、隱藏/顯示、刪除PDF圖層


本文介紹操作PDF圖層的方法。可分為添加圖層(包括添加線條、形狀、字符串、圖片等圖層)、隱藏或顯示圖層、刪除圖層等。具體可參考如下Java代碼示例。

工具:Free Spire.PDF for Java (免費版)

Jar包下載和導入:可通過官網下載,下載后,解壓,將lib文件夾下的Sprie.Pdf.jar導入Java程序;或者可通過Maven倉庫下載導入。如下導入效果:

 

Java示例1:添加圖層

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import com.spire.pdf.graphics.PdfPen;
import com.spire.pdf.graphics.layer.PdfLayer;

import java.awt.*;
import java.awt.geom.Point2D;

public class Addlayer {
    public static void main(String[]args){
        //新建一個PDF文檔,並添加一頁
        PdfDocument pdf = new PdfDocument();
        pdf.getPages().add();

        //添加圖層1為直線
        PdfLayer layer1 = pdf.getLayers().addLayer("線條");//添加圖層並指定圖層名稱
        PdfCanvas canvas1 = layer1.createGraphics(pdf.getPages().get(0).getCanvas());
        canvas1.drawLine(new PdfPen(PdfBrushes.getRed(), 2.5), new Point2D.Float(0, 0), new Point2D.Float(150, 0));//繪制線條圖層(指定直線首尾兩點坐標,並應用畫刷)

        //創建圖層2為形狀
        PdfLayer layer2 = pdf.getLayers().addLayer("橢圓");//添加圖層並指定圖層名稱
        PdfCanvas canvas2 = layer2.createGraphics(pdf.getPages().get(0).getCanvas());
        PdfPen pen = new PdfPen( new PdfRGBColor(Color.black),2.5f);//創建畫筆(指定畫筆顏色、粗細)
        PdfBrush brush1 = new PdfSolidBrush(new PdfRGBColor(Color.PINK));//創建畫刷1(設置畫刷顏色為:粉色)
        canvas2.drawEllipse(pen, brush1, 65, 50, 80, 80);//繪制形狀圖層(繪制圓形到指定頁面位置,並應用畫筆、畫刷)

        //創建圖層3為文本字符串
        PdfLayer layer3 = pdf.getLayers().addLayer("字符串");//添加圖層並指定圖層名稱
        PdfCanvas canvas3 = layer3.createGraphics(pdf.getPages().get(0).getCanvas());
        PdfTrueTypeFont font1= new PdfTrueTypeFont(new Font("Arial Unicode MS",Font.PLAIN,14),true);//創建字體
        PdfBrush brush2 = new PdfSolidBrush(new PdfRGBColor(Color.BLUE));//創建格式刷2(設置畫刷顏色為:藍色)
        canvas3.drawString("String String String", font1, brush2, 100, 150);//繪制字符串圖層(指定字符串到指定頁面位置,並應用字體、畫刷)

        //創建圖層4為圖片
        PdfLayer layer4 = pdf.getLayers().addLayer("圖片");//添加圖層並指定圖層名稱
        PdfCanvas canvas4 = layer4.createGraphics(pdf.getPages().get(0).getCanvas());
        canvas4.drawImage(PdfImage.fromFile("tp.png"), 30, 190, 150, 135);//繪制圖片圖層(加載圖片,繪制到指定頁面位置並指定圖片大小)

        //保存文檔
        pdf.saveToFile("Addlayers.pdf",FileFormat.PDF);
        pdf.dispose();
    }

}

圖層添加效果:

 

Java示例2:隱藏/顯示圖層

import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.graphics.layer.PdfVisibility;


public class HideOrShowLayer {
    public static void main(String[] args) {
        //加載文檔
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("Addlayers.pdf");

        pdf.getLayers().get(0).setVisibility(PdfVisibility.Off);//設置圖層隱藏
        //pdf.getLayers().get(2).setVisibility(PdfVisibility.On);//設置圖層顯示

        //保存文檔
        pdf.saveToFile("HideOrShowLayer.pdf", FileFormat.PDF);
        pdf.dispose();
    }
}

圖層隱藏/顯示效果:

Java示例3:刪除圖層

import com.spire.pdf.*;

public class RemoveLayer {
    public static void main(String[] args) {
        //加載文檔
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("Addlayers.pdf");

        //根據圖層名稱索引,刪除圖層
        pdf.getLayers().removeLayer("字符串");

        //保存文檔
        pdf.saveToFile("RemoveLayer.pdf",FileFormat.PDF);
        pdf.dispose();
    }
}

圖層刪除效果:

 

(完)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM