当前位置: 首页 > 知识库问答 >
问题:

使用iTextSharp删除PDF不可见对象

东郭宏朗
2023-03-14

是否可以使用iTextSharp从PDF文档中删除不可见(或至少不显示)的对象?

更多详情:

这种解决方案有2个大缺点:

  • 文档的大小是[原始大小]*[裁剪框的数量],因为整个页面都在那里,盖了很多次戳!(看不见,但它在那里)
  • 仍然可以通过在Reader中选择all(Ctrl+A)并粘贴来访问不可见文本。

所以,我想我需要迭代PDF对象,检测它是否可见,并删除它。在撰写本文时,我正在尝试使用pdfreader.getpdfobject。

共有1个答案

牟正真
2023-03-14

如果您正在尝试的PDF是模板/预定义/固定的,那么您可以通过调用RemoveField来删除该对象。

PdfReader pdfReader = new PdfReader(../Template_Path.pdf"));
PdfStamper pdfStamperToPopulate = new PdfStamper(pdfReader, new FileStream(outputPath, FileMode.Create));
AcroFields pdfFormFields = pdfStamperToPopulate.AcroFields;
pdfFormFields.RemoveField("fieldNameToBeRemoved");
 类似资料:
  • 链接到pdf 当我尝试从上面的pdf中提取文本时,我得到了在evince viewer中不可见的文本和可见的文本的混合。此外,一些所需的文本缺少查看器中没有缺少的字符,例如,“FALCONS”中的“S”和许多缺少的“½”字符。我认为这是由于不可见文本的干扰,因为在查看器中突出显示pdf时,可以看到不可见文本与可见文本重叠。 有没有办法去掉不可见的文字?还是有别的解决办法? 代码: 输出(粗体文本为

  • 问题内容: 链接到pdf 当我尝试从上面的pdf中提取文本时,我混合了在evince查看器中不可见的文本和可见的文本。此外,某些所需的文本缺少查看器中未缺少的字符,例如“ FALCONS”中的“ S”和许多缺少的“ 1/2”字符。我认为这是由于来自不可见文本的干扰,因为在查看器中突出显示pdf时,可以看到不可见文本与可见文本重叠。 有没有办法删除不可见的文字?还是有其他解决方案? 码: 输出(粗体

  • 现在我想知道如何使用ITextSharp移除那些高亮显示的矩形。 它删除了所有的注释,但我想删除特定的注释。假设我在第1页突出了美国和专利申请出版物,现在我想单独删除美国。我会通过美国的文本。 我引用了这个答案。其中,要获得突出显示的文本,需要获得存储在突出显示注释中的坐标(存储在QuadPoints数组中),并且需要使用这些坐标解析页面内容中位于这些坐标处的文本。

  • 我有三维PDF文件。它包含许多三维图形,但它嵌入在一个页面中。我们正在导航到导航窗格(模型树)中的图形- 我想使用带有iTextSharp的C#浏览这个3d pdf。 请让我知道如何实现它? 例如: http://examples.itextpdf.com/results/part4/chapter16/pdf3d.pdf 上面的pdf有模型树。它有模型、选项和信息面板。现在我想控制模型选择。

  • 需要通过使用外部webservice对文档哈希进行签名来签署PDF,该过程必须在2个步骤中完成,并使用临时空签名。 在Priyanka问题和Grazina问题之后,阅读了那些帖子上的mkl答案,我现在有一个无效的签名,即使像Grazina那样添加了哈希前缀。 iTextSharp版本:5.5.13.1 这个节目是我上一个问题的另一个问题。当前代码(编译并开始调用SignPDF方法): 获得的结果

  • 问题内容: 这是这里的代码: 我遇到的问题是Hello World!中的’o’和’r’之间插入了额外的空格。该样式设置为无,所以有人请告诉我怎样才能得到,而没有空间句话? 问题答案: 找不到特定的帖子,但是聪明的人提出了3种解决方法: 将所有内容放在一行中(删除所有换行符) 注释掉换行符,例如 –> rld 将容器设置为并将其重新设置为-s 更新 至少还有2种方法: 破坏标签,例如 </span