2010-03-12 4 views
2

ABCPdf 또는 다른 프레임 워크를 사용하여 PDF에서 레이어를 제거하거나 숨길 수 있습니까?ABCPdf를 사용하여 PDF 레이어를 제거하거나 숨 깁니까?

Doc theDoc = new Doc(); 
theDoc.Read("source.pdf"); 
int thePages = theDoc.GetInfoInt(theDoc.Root, "Pages"); 
int thePage = theDoc.GetInfoInt(thePages, "Page 1"); 
int theLayer = theDoc.GetInfoInt(thePage, "Content 2"); 
theDoc.Delete(theLayer); 

답변

3

다음 C# 예제 페이지 1 층 (2) 삭제하는 방법을 보여줍니다?

0

을 아니면 당신이 Flatten() 기능을 찾고 있었다 :

0

ABCpdf에는 OCGLayers라는 예제 프로젝트가 들어 있습니다. 이 프로젝트는 레이어의 모든 항목을 식별하고 수정하는 방법을 보여줍니다. 예를 들어

:

 Properties props = Properties.FromDoc(_doc, false); 
     Page page = (Page)_doc.ObjectSoup[_doc.Page]; 
     Reader reader = Reader.FromPage(props, page); 
     List<OptionalContent.Layer> layers = reader.GetLayers(); 
     foreach (OptionalContent.Layer layer in layers) { 
      if (layer.Visible == false) { 
       if (reader == null) 
        reader = Reader.FromPage(props, page); 
       Reader.Redact(ref reader, layer); 
      } 
     } 
     UpdateLayers(); 
     UpdatePreview(); 
관련 문제