欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java 添加、隐藏/显示、删除PDF图层

程序员文章站 2022-04-15 23:28:58
本文介绍操作PDF图层的方法。可分为添加图层(包括添加线条、形状、字符串、图片等图层)、隐藏或显示图层、删除图层等。具体可参考如下Java代码示例。 工具:Free Spire.PDF for Java (免费版) Jar包下载和导入:可通过官网下载,下载后,解压,将lib文件夹下的Sprie.Pd ......

本文介绍操作pdf图层的方法。可分为添加图层(包括添加线条、形状、字符串、图片等图层)、隐藏或显示图层、删除图层等。具体可参考如下java代码示例。

工具:free spire.pdf for java (免费版)

jar包下载和导入:可通过官网下载,下载后,解压,将lib文件夹下的sprie.pdf.jar导入java程序;或者可通过maven仓库下载导入。如下导入效果:

Java 添加、隐藏/显示、删除PDF图层

 

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示例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图层

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图层

 

(完)