2012-12-20 3 views
2

나는 apache Solr을 사용하여 pdf에서 검색 할 수있는 응용 프로그램을 만들고 있습니다. pdf에서 특정 용어를 찾는 데 어려움을 겪고있었습니다.별도의 단어를 추가하는 PDFbox를 피하는 방법

열에 단어가 추가되었습니다.

여기

Column1 | Column2 
stack | overflow 

PdftextStripper 때때로 나를 추출 된 텍스트로 유래 줄 것입니다. 이것은 당신이 그 용어를 찾지 못하게하는 solr의 나쁜 tokinazation으로 이어질 것입니다. (예, 와일드 카드를 사용할 수 있지만 구문 쿼리에서 작동하지 않는다는 것을 알고 있습니다.)

나는 문제를 일으키는 원인을보기 위해 출처를 조사 해왔다. 하지만 writePage 메소드는 공백을 추측해야합니다. 나는 매우 복잡해 보이기 때문에 이것을 변경할 수는 없습니다.

열이있는 PDF에서 좋은 텍스트 추출을 얻는 다른 해결책이 있습니까?

  • 어쩌면 어떤 종류의 변환 프로그램.
  • 아마도 pdfbox 용 패치 일 수 있습니다.
  • 그래, 나는 비슷한 질문을 보았지만 대부분 추출의 순서를 다룬다. (어느 쪽이 내 사건이 그다지 중요하지 않다).

답변

0

PDFbox로 텍스트를 추출하는 동안 동일한 문제가 발생했습니다. 각 캐릭터의 위치 정보를 취하여이 문제를 해결했습니다. 나는 각 문자의 x 위치와 y 위치를 취했다. 단어를 구별하는 간단한 논리를 구현했습니다. 그 전에 나의 단어 구분자는 단지 ""(공간)이었다. 두 문자의 X 위치의 차이가 특정 값을 초과하면 (이 값은 선택 사항입니다.) 같은 선상에 있으며 동일한 y 좌표입니다 (다른 y 좌표는 분명히 a 새로운 단어), 나는 그들을 새로운 단어로 취급했다. 이 논리로 테이블 내용, 새로운 라인 등의 문제를 해결할 수있었습니다.

link은 PDFbox에서 PDF의 문자 위치를 찾는 데 도움이됩니다.

+0

K 작동 여부를 확인하기 위해 실험 해 보겠습니다. 새로운 단어에 2 문자를 몇 번이나 가져 갔습니까? – DavidVdd

+0

페이지 쓰기가 꽤 복잡합니다 ... – DavidVdd

+0

은 3 점 또는 5 점을 받았습니다. – Neeraj

관련 문제