2013-06-27 83 views
2

如何使用iTextSharp從pdf文件中刪除「行」形狀?iTextSharp刪除行

我嘗試:

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); 

我做什麼了?

Thx!

+0

什麼是 「線」 狀? – mkl

+0

對不起,我的英語。可以在任何pdf閱讀器(如Acrobat Reader)中繪製的矢量圖(圖片) – Frozen

+0

您是否將其作爲註釋來繪製?或者直接在頁面內容中?它實際上是一個線條繪圖命令還是一個細長的矩形填充命令? – mkl

回答

4

事情是這樣的:

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); 
       } 
      } 
     } 
+0

謝謝!但我還有一個問題。我如何刪除數字(矩形等),這不像是一個詮釋? – Frozen