【问题标题】:iTextSharp remove lineiTextSharp 删除线
【发布时间】:2013-06-27 08:03:53
【问题描述】:

如何使用 iTextSharp 从 pdf 文件中删除“线条”形状?

我试试:

var shape = page.GetAsStream(PdfName.LINE); //return null

var resources = PdfReader.GetPdfObject(page.Get(PdfName.RESOURCES)) as PdfDictionary; //return dictonary
var resShape = resources.GetAsStream(PdfName.LINE); //return null

PdfReader.KillIndirect(shape);
PdfReader.KillIndirect(resShape);

我做错了什么?

谢谢!

【问题讨论】:

  • 什么是“线”形?
  • 对不起我的英语。可以在任何pdf阅读器(如Acrobat Reader)中绘制的矢量图(图片)
  • 你把它画成注解吗?还是直接在页面内容?它实际上是一个画线命令还是一个细长的矩形填充命令?
  • 在这种情况下,您必须检查页面的注释。
  • 那我该怎么做呢? =\

标签: c# .net pdf itextsharp


【解决方案1】:

类似这样的:

 PdfDictionary pg = reader.GetPageN(1);
        PdfArray annotsArray = pg.GetAsArray(PdfName.ANNOTS);
        if (annotsArray != null)
        {
            for (int k = 0; k < annotsArray.Size; k++)
            {
                PdfDictionary annot = (PdfDictionary) PdfReader.GetPdfObject(annotsArray[k]);
                if(annot.GetAsName(PdfName.SUBTYPE).ToString() =="/Line")
                {
                    annotsArray.Remove(k);
                }
            }
        }

【讨论】:

  • 谢谢!但我还有一个问题。如何删除像不是注释一样绘制的图形(矩形等)?
猜你喜欢
  • 1970-01-01
  • 2016-07-25
  • 1970-01-01
  • 2016-06-02
  • 1970-01-01
  • 1970-01-01
  • 2013-04-30
  • 1970-01-01
  • 2012-02-04
相关资源
最近更新 更多