美文网首页
Java 添加和删除PDF图层

Java 添加和删除PDF图层

作者: Tina_Tang | 来源:发表于2020-02-19 09:20 被阅读0次

           在PDF文档中,图层可以使部分内容选择性地被隐藏或显示。通过添加图层,我们可以将文本、图片、表格等元素精确定位于页面指定位置,并可将这些元素进行叠放、组合形成页面的最终效果。本文将介绍如何使用Java程序来添加和删除PDF图层。

    使用工具: Free Spire.PDF for Java(免费版)

    Jar文件获取及导入:

    方法1通过官方网站下载获取jar包。解压后将lib文件夹下的Spire.Pdf.jar文件导入Java程序。(如下图)

    方法2通过maven仓库安装导入。具体安装详解参见此网页

    【示例1】添加图层

    import 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) {

    //创建PDF文档

    PdfDocument pdf = new PdfDocument();

     //添加一页

     PdfPageBase page = pdf.getPages().add();

    //添加3个线条图层到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));

    //保存结果文档

    pdf.saveToFile("output/addLayers.pdf");

      pdf.close();

        }

    }

    图层添加效果:


    【示例2】删除图层

    import 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");

    //保存结果文档

    pdf.saveToFile("output/deleteLayer.pdf");

     pdf.close();

        }

    }

    图层删除效果:

    (本文完)

    相关文章

      网友评论

          本文标题:Java 添加和删除PDF图层

          本文链接:https://www.haomeiwen.com/subject/vbmofhtx.html