首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >批量删除PDF中的文本框

批量删除PDF中的文本框
EN

Stack Overflow用户
提问于 2017-09-06 06:22:29
回答 2查看 2K关注 0票数 2

如何批量删除PDF中的多个文本框?

场景是,我有许多PDF文档,每个页面的顶部和底部都有一个文本框,我想要删除这些文档。我可以使用Master PDF Editor等软件手动完成此操作,但该文档有500多页,而且我有几个文档要处理。我非常确定这些是文本框,而不是页眉/页脚。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2017-09-06 17:21:53

很简单,

将iText7与pdfSweep结合使用。iText是一个PDF工具包,使您能够创建,编辑和提取信息从PDF文档。

pdfSweep (顾名思义)为iText提供了编校功能。您可以编辑特定页面或页面范围中的内容,只要给定一个矩形(很快还会有正则表达式)。

然后,pdfSweep将删除所有落在给定矩形内的内容。

您还可以简单地创建编校注释,然后通过Adobe Reader批量删除它们。iText还支持创建编校注释。

代码语言:javascript
运行
复制
using (Stream stream = new FileStream(
fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) {
PdfReader pdfReader = new PdfReader(stream);
using (PdfStamper stamper = new PdfStamper(
    pdfReader, new FileStream(newFileName, FileMode.OpenOrCreate))) {
    int page = 1;
    iTextSharp.text.Rectangle rect =
        new iTextSharp.text.Rectangle(500, 50, 200, 300);
    PdfAnnotation annotation = new PdfAnnotation(stamper.Writer, rect);
    annotation.Put(PdfName.SUBTYPE, new PdfName("Redact"));
    annotation.Title = "My Author";
    annotation.Put(new PdfName("Subj"), new PdfName("Redact"));
    float[] fillColor = { 0, 0, 0 };
    annotation.Put(new PdfName("IC"), new PdfArray(fillColor));
    float[] fillColorRed = { 1, 0, 0 };
    annotation.Put(new PdfName("OC"), new PdfArray(fillColorRed));
    stamper.AddAnnotation(annotation, page);
}

}

iText和pdfSweep在java或C#中可用。

关于如何生成编校注释,iText网站上有一个相当全面的示例:http://developers.itextpdf.com/question/how-create-and-apply-redactions

票数 4
EN

Stack Overflow用户

发布于 2021-09-25 07:22:35

在Adobe Acrobat中并不是很难做到,也不需要第三方软件。打开Acrobat窗口右侧的注释下拉菜单。在那里您可以看到一个列表,其中包含文档中的所有文本框。现在,使用Control或Shift键并使用鼠标左键选择所有要删除的文本框,以最适合您的需要为准。如果要将其全部删除,请左键单击列表中的第一项,然后向下滚动列表到底部,按住Shift键并左键单击底部的项。最后,使用鼠标右键并选择delete。现在他们都走了。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46064127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档