IText 编辑或删除 PDF 上的图层

2024-02-20

H All,

我正在使用 IText 在 PDF 上添加文本图层。 现在我想编辑PDF上的现有图层,图层也是仅由IText创建的。看来 IText 没有这样的方法支持。

我想到的另一种方法是删除现有图层并在其位置上放置新图层。看来 IText 也不支持删除。有办法做到这些吗?

提前致谢。


正如评论中所表明的那样,所讨论的图层实际上是 iText 所称的图层,但实际上在 PDF 行话中被称为可选内容组。

iText Xtra 包中确实有一个用于删除此类层的实用程序类(不是 extrajar,而是 itext-xtra.jar):com.itextpdf.text.pdf.ocg.OCGRemover https://github.com/itext/itextpdf/blob/develop/xtra/src/main/java/com/itextpdf/text/pdf/ocg/OCGRemover.java它利用了该类OCGParser https://github.com/itext/itextpdf/blob/develop/xtra/src/main/java/com/itextpdf/text/pdf/ocg/OCGParser.java在同一个包中。

/**
 * Class that knows how to remove OCG layers.
 */
public class OCGRemover
{
    /**
     * Removes layers from a PDF document
     * @param reader    a PdfReader containing a PDF document
     * @param layers    a sequence of names of OCG layers
     * @throws IOException
     */
    public void removeLayers(PdfReader reader, String... layers) throws IOException
    [...]
}

将该方法应用于之后PdfReader显然你必须保存更改,例如通过一个PdfStamper.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IText 编辑或删除 PDF 上的图层 的相关文章

随机推荐

  • 如何根据书籍的条形码编号查找有关书籍的数据? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在构建世界上最简单的图书馆应用程序 我想要做的就是使用典型的扫描仪 只需将条形码的数字输入到字段中
  • Python 请求:POST 请求删除授权标头

    我正在尝试使用 Python requests 库发出 API POST 请求 我正在经过一个Authorizationheader 但是当我尝试调试时 我可以看到 header 被删除 我不知道发生了什么事 这是我的代码 access t
  • Android setOnclicklistener 参数

    我是android的初学者 在为按钮设置onclick监听器时 传递的参数是什么意思 btn1 setOnClickListener new OnClickListener Override public void onClick View
  • MySQL php 表的线性插值

    I have a table titled psytable moist air shown below 我正在尝试开发一个 MySQL 语句 该语句将在记录之间插入一个值 编辑 如果用 PHP 进行数学计算更容易 我也愿意接受该解决方案
  • 从图像中提取线条以输入 OCR - Tesseract

    我在 pycon 上看这个演讲http youtu be B1d9dpqBDVA t 15m34s http youtu be B1d9dpqBDVA t 15m34s15 33 左右 演讲者谈到从图像 收据 中提取线条 然后将其输入 OC
  • Mongodb计算查询--累加乘法

    我最近开始在 Mongodb 中从事 POC 工作 我下面有一个 json 集合 db ccpsample insertMany ccp id 1 period 601 sales 100 00 ccp id 1 period 602 gr
  • 无需凭据仍可访问 MongoDB 服务器

    我的机器中有一个新的 mongodb 服务器 2 6 0 我使用以下配置文件启动了 mongod 实例 dbpath c mongo data db port 27017 logpath c mongo data logs mongo lo
  • 导航到带有附加标头的 URL

    无论如何我们可以导航 通过 a a 单击 到请求中带有附加标头的 URL 这是我的代码 我有一个 a href a 标签 然后我处理onClick 通过 JQuery 的事件 aUsers click function var spAuth
  • 如何有效地将纬度/经度地理编码反转为行政区

    我正在处理纽约市出租车数据集 该数据集的列包括日期时间 接送纬度 经度 下车纬度 经度等 现在我想对纬度 经度进行反向地理编码以找到行政区 社区 我碰到geopy并发现这样的事情完美地工作 from geopy geocoders impo
  • C++ 内联函数的定义必须在同一个文件中吗?

    我定义了一个函数show 如内联在名为的头文件中ex h以及里面函数的定义ex cpp 我预计这会给我一个错误 因为编译器不知道在哪里替换什么show 函数被调用 但因为我使用的是 IDE 所以它工作得很好 怎么会发生这种事 顺便说一句 当
  • 如何使用Java上传图像Url上传到Fire Storage并同时将其保存在fireStore中

    这是我的代码 我可以在 Toast 消息中检索图像 Url 但无法将其保存在 firestore 中 请告诉我是否有其他方法可以做到这一点 或者是我存储 URL 的问题 public class register extends AppCo
  • 空手道加特林:如何模拟空手道功能,除了那些标有@ignore的场景

    我有一个功能可以定义加特林测试的工作流程 加特林测试正在运行 但如何设置空手道选项来忽略标记为 ignore 使用系统属性 例如 Dkarate options tags ignore 没有帮助 mvn clean test compile
  • Unity - 将脚本文件移动到其他目录而不会丢失引用

    由于可以从另一个脚本访问 我必须将 GameManager Script 移动到更高的目录 但是 如果我尝试将脚本从一个文件夹移动到另一个目录 所有引用都会消失 我的意思是 所有脚本的所有引用 从头开始重新配置所有脚本确实很困难 就像从头开
  • 如何在 C# 窗口应用程序中以编程方式创建按钮?

    在 Form1 Load 方法中 我应该编写什么代码来创建一个简单的按钮 private void Form1 Load object sender System EventArgs e 这样在 加载 时就会显示按钮 正如你所说 它是Win
  • SAS中是否有相当于R函数表的?

    在 R 中 函数table使用交叉分类因素构建列联表 是否有一个等效的 SAS PROC 可以重现此 R 函数的结果 Example x lt data frame x rep 1 2 times 5 y rep 1 2 each 5 ou
  • 可以将 FileOutputStream 转换为字节数组吗?

    我想将 FileOutputStream 转换为字节数组 以便在两个应用程序之间传递二进制数据 请问有人可以帮忙吗 要将文件转换为字节数组 请使用 ByteArrayOutputStream 类 此类实现一个输出流 其中数据写入字节数组 当
  • 编译时检查右移是否是有符号类型的算术运算

    我想知道在对有符号类型进行操作时检查右移是否是算术的最便携的方法是什么 例如是否 2 gt gt 1 is 1 在编译时 我的想法是在编译时以某种方式检查这一点并能够检测到这一点 这样我就可以编译该函数的不同版本 取决于运算符是否 gt g
  • 如何连接QLineEdit focusOutEvent

    我设计了一个带有QLineEdit在 PyQt4 中 在 Designer 的帮助下 我转换了 ui to py using pyuic4 我创建了另一个 py文件并导入和子类化Ui Class 我想执行一些任务QLineEdit失去焦点
  • 使用 IValueConverter 进行动态样式绑定

    我正在尝试设置一种样式 该样式在App xaml 在加载用户控件时动态地加载 并且只是由于某种原因不应用样式 即没有发生错误 只是不应用样式 我确信这是因为我定义了错误的绑定 但我无法弄清楚我需要做什么不同才能让它工作 App xaml 样
  • IText 编辑或删除 PDF 上的图层

    H All 我正在使用 IText 在 PDF 上添加文本图层 现在我想编辑PDF上的现有图层 图层也是仅由IText创建的 看来 IText 没有这样的方法支持 我想到的另一种方法是删除现有图层并在其位置上放置新图层 看来 IText 也