2013-04-29 2 views
0

Adobe에서 ctrl + d를 누르면 pdf의 속성이 표시됩니다. 그 문서 속성에서 iTextSharp를 사용하여 taggedpdf 값을 얻는 방법? null 동일iTextSharp를 사용하여 Adobe의 문서 속성에서 Pdf 값

PdfDictionary root = reader.Catalog; 
PdfObject structTreeRoot = root.Get(PdfName.STRUCTTREEROOT); 

structTreeRoot 경우, 다음 PDF 태그되지 않습니다

답변

0

StructTreeRoot는 태그가 지정된 PDF의 필수 요소입니다.

또한 MarkInfo 속성을 확인해야합니다.

PdfDictionary markInfo = root.GetAsDict(PdfName.MARKINFO); 

markInfo 사전이 null하지 않을 수 있습니다, 그것은 표시된 항목이 필요합니다. 이 항목의 값은 Boolean이어야하며 true이어야합니다. 거짓이 시험 PDF 파일의 일부가 유효 태그 PDF 것을 주장하는 의견에 대한 답변에서

, 다음 스크린 샷 참조 : 왼쪽

PDF 1 PDF 2 PDF 3

, 당신은 내부를 볼 수 있습니다 공유 한 문서의 개체 트리 보시다시피, 문서는 StructTreeRoot이지만, MarkInfo의 값은 false입니다.

오른쪽에서 Adobe Reader에서 열어 본 문서를 볼 수 있습니다. 세 가지 경우 모두 문서 속성에는 다음과 같은 항목이 있습니다. 태그가 지정된 PDF : 번호

그렇지 않으면 왜 주장 할 것입니까?

+0

감사합니다 브루노. 어떻게 pdf 버전을 찾으려면, 이미지 또는 텍스트 pdf, 속성 페이지 수? – Jai

+0

이미지 또는 텍스트 PDF : 매우 어렵습니다. 가장 좋은 방법은 파서 클래스로 페이지를 파싱하는 것입니다. 텍스트가 없으면 이미지 만 있습니다. 페이지 수 : 그건 생각할 필요가 없습니다. http://sourceforge.net/p/itextsharp/code/HEAD/tree/trunk/book/iTextExamplesWeb/iTextExamplesWeb/iTextInAction2Ed/Chapter06/PageInformation.cs (악용하지 마십시오. 코멘트 창에서 대답하기가 어렵습니다. 또한 문서를 읽는 대신 SO를 사용하지 마십시오.) –

+0

k Bruno .. 많이 고맙습니다. – Jai

관련 문제