2016-11-15 8 views
1

PDF 파일에서 텍스트를 추출하려고하는데 : http://www.filedropper.com/copy_1, 페이지의 텍스트가 절반 미만입니다. 나는 iTextSharp를 사용하고 있습니다 :PDF 추출이 완료되지 않았습니다.

내가뿐만 아니라 대신 기본 LocationTextExtractionStrategy의 SimpleTextExtractionStrategy을 사용했다
PdfReader reader = new PdfReader(file); 
string currentText = PdfTextExtractor.GetTextFromPage(reader, 1); 

: 파일이 원래 마이크로 소프트보고 서비스에서 생성 된

PdfTextExtractor.GetTextFromPage(reader, 1, new SimpleTextExtractionStrategy()) 

(이에 내가이없는 액세스), 텍스트 추출 테스트를 위해 한 페이지를 추출했습니다.

누구나 도움을 줄 수 있습니까?

PdfReader reader = new PdfReader(file); 
StringBuilder currentText= new StringBuilder(); 
for (int i= 1; i <= reader.NumberOfPages; i++) 
{ 
    currentText.Append(PdfTextExtractor.GetTextFromPage(reader, i)); 
} 

한 다음 "currentText"에 원하는 작업을 수행 -을 :

+3

귀하의 PDF에는 PDF 사양에 따른 텍스트 추출에 필요한 정보가 포함되어 있지 않습니다. 누락 된 텍스트 섹션은 Adobe Reader에서 복사하여 붙여 넣기를 시도하면 실패 할 것입니다. Microsoft보고 서비스는 텍스트 추출에 충분하지 않은 PDF를 작성한 오랜 역사를 가지고 있습니다. – mkl

+2

또한 코드를 게시 할 때 적절한 방법으로 실행하십시오. 당신이 올린 코드는 PDF 판독기와 추출 전략을 만들어 아무것도 사용하지 않습니다. 그러면 텍스트 추출기가 기본 추출 전략을 사용하여 일부 스템 퍼 리더에서 추출합니다. – mkl

+0

답변 해 주셔서 감사합니다. 당신이 물었 듯이 나는 무의미한 코드를 고쳤습니다. Acrobat Reader가 표시하는 정보 (숫자 값과 같은)를 어떻게 포함 할 수 있습니까? – Hefass

답변

-1

이보십시오.

+0

PDF에는 단 하나의 페이지 만 있습니다. 문서의 모든 페이지를 반복하면 도움이되지 않습니다. @mkl이 나타내는 바와 같이 이것은 "Garbage In, Garbage Out"문제입니다. Adobe Reader에서 복사/붙여 넣기를 사용하여 텍스트를 추출 할 수 없습니다. –

+0

귀하의 제안은 사실 첫 번째 페이지를 보는 대신 모든 PDF 페이지를 반복하는 것입니다. OP의 샘플 문서에는 페이지가 하나뿐이므로 차이점이 가장 작지는 않습니다. OP의 코드와는 달리, 코드는 적어도 일관성이 있습니다 ... – mkl

+0

당신은 분명히 옳습니다. 사실, .pdf 파일 자체는 확인하지 않았습니다. 지금까지 그가 한 일에 대한 더 나은 코드를 게시했습니다. – Nitin

관련 문제