Java 添加和删除PDF图层的示例代码

作者:Tina_Tang 时间:2022-09-03 00:29:01 

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

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

Jar文件获取及导入:

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

Java 添加和删除PDF图层的示例代码

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

【示例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) {
 //创建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();
}
}

图层添加效果:

Java 添加和删除PDF图层的示例代码

【示例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");

//保存结果文档
 pdf.saveToFile("output/deleteLayer.pdf");
 pdf.close();
}
}

图层删除效果:

Java 添加和删除PDF图层的示例代码

总结

以上所述是小编给大家介绍的Java 添加和删除PDF图层的示例代码网站的支持!

来源:https://segmentfault.com/a/1190000021782331

标签:java,pdf,图层
0
投稿

猜你喜欢

  • 浅谈Java异常的Exception e中的egetMessage()和toString()方法的区别

    2022-05-27 00:37:31
  • Java 超详细讲解ThreadLocal类的使用

    2021-11-13 05:58:29
  • @Autowired注解注入的xxxMapper报错问题及解决

    2022-10-01 10:31:02
  • 深入解析Java的Spring框架中bean的依赖注入

    2023-12-20 18:50:52
  • Java基础之finally语句与return语句详解

    2021-11-27 19:21:22
  • Android 之BottomsheetDialogFragment仿抖音评论底部弹出对话框效果(实例代码)

    2023-08-06 01:01:56
  • 使用java的Calendar对象获得当前日期

    2023-10-11 16:24:23
  • Android 用 camera2 API 自定义相机

    2023-04-30 11:29:37
  • Java聊天室之使用Socket实现通信功能

    2022-03-08 09:46:27
  • Android使用自定义属性实现图片自动播放滚动的功能

    2023-04-13 18:51:49
  • 深入C#中get与set的详解

    2022-05-29 21:04:10
  • Android 沉浸式状态栏与隐藏导航栏实例详解

    2021-09-08 07:51:14
  • java图的深度优先遍历实现随机生成迷宫

    2023-06-26 06:06:05
  • 基于Java代码操作Redis过程详解

    2022-03-28 06:53:58
  • Java中synchronized正确使用方法解析

    2021-12-20 13:00:39
  • Java接口默认方法带来的问题分析【二义性问题】

    2023-11-27 20:32:55
  • Java基于LoadingCache实现本地缓存的示例代码

    2022-08-28 12:05:04
  • C#并发编程入门教程之概述

    2022-08-08 09:44:23
  • mybatis 插件: 打印 sql 及其执行时间实现方法

    2023-05-29 16:49:19
  • 关于@MapperScan包扫描的坑及解决

    2023-02-13 02:45:46
  • asp之家 软件编程 m.aspxhome.com