如何批量删除PDF中的多个文本框?
场景是,我有许多PDF文档,每个页面的顶部和底部都有一个文本框,我想要删除这些文档。我可以使用Master PDF Editor等软件手动完成此操作,但该文档有500多页,而且我有几个文档要处理。我非常确定这些是文本框,而不是页眉/页脚。
有什么想法吗?
发布于 2017-09-06 17:21:53
很简单,
将iText7与pdfSweep结合使用。iText是一个PDF工具包,使您能够创建,编辑和提取信息从PDF文档。
pdfSweep (顾名思义)为iText提供了编校功能。您可以编辑特定页面或页面范围中的内容,只要给定一个矩形(很快还会有正则表达式)。
然后,pdfSweep将删除所有落在给定矩形内的内容。
您还可以简单地创建编校注释,然后通过Adobe Reader批量删除它们。iText还支持创建编校注释。
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
发布于 2021-09-25 07:22:35
在Adobe Acrobat中并不是很难做到,也不需要第三方软件。打开Acrobat窗口右侧的注释下拉菜单。在那里您可以看到一个列表,其中包含文档中的所有文本框。现在,使用Control或Shift键并使用鼠标左键选择所有要删除的文本框,以最适合您的需要为准。如果要将其全部删除,请左键单击列表中的第一项,然后向下滚动列表到底部,按住Shift键并左键单击底部的项。最后,使用鼠标右键并选择delete。现在他们都走了。
https://stackoverflow.com/questions/46064127
复制相似问题