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

本文介紹操做PDF圖層的方法。可分爲添加圖層(包括添加線條、形狀、字符串、圖片等圖層)、隱藏或顯示圖層、刪除圖層等。具體可參考以下Java代碼示例。
工具:Free Spire.PDF for Java (免費版)
Jar包下載和導入:可經過官網下載,下載後,解壓,將lib文件夾下的Sprie.Pdf.jar導入Java程序;或者可經過Maven倉庫下載導入。以下導入效果:
Java 添加、隱藏/顯示、刪除PDF圖層html

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 添加、隱藏/顯示、刪除PDF圖層java

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 添加、隱藏/顯示、刪除PDF圖層canvas

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();
    }
}

圖層刪除效果:
Java 添加、隱藏/顯示、刪除PDF圖層maven

(完)ide

相關文章
相關標籤/搜索