自从让冲压过程大部分工作以来,我一直在玩更多。现在我正在尝试从 PDF 中删除所有注释。我已经尝试了多种方法,如下所示:
public void ClearStamps()
{
IList<PdfAnnotation> annotList = pdfDoc.GetFirstPage().GetAnnotations();
int listCount = annotList.Count;
for (int i = 0; i < listCount; i++)
{
annotList.RemoveAt(i);
}
pdfDoc.Close();
if (Overwrite)
{
File.Delete(pdfFilePath);
File.Move(pdfFileDest, pdfFilePath);
}
}
或者
IList<PdfAnnotation> annotList = pdfDoc.GetFirstPage().GetAnnotations();
int listCount = annotList.Count;
for (int i = 0; i < listCount; i++)
{
annotList[i].Remove(PdfName.Annots);
}
pdfDoc.Close();
完成上述操作后,生成的 PDF 仍然保持不变。
我还尝试循环浏览所有类似于注释的 PdfName 对象(Annot、Annots、Annotation 等)
我用来获取注释的方法不正确吗?这正是我为我的邮票操作获得邮票属性的方式。
此外,在注释操作方面,我似乎找不到任何类似于 iText5 中的Flattening bool 的方法——我能得到的最接近的方法是将注释标志设置为LOCKED ...不是最理想的展平方式。