Python을 사용한 PDF 구문 분석-형식화 된 일반 텍스트 추출 [닫힌]


82

PDF 문서에서 텍스트를 추출 할 수있는 PDF 라이브러리를 찾고 있습니다. 필자는 PyPDF를 살펴 봤는데 이것은 PDF 문서에서 텍스트를 아주 멋지게 추출 할 수 있습니다. 이 문제는 문서에 표가있는 경우 표의 텍스트가 나머지 문서 텍스트와 함께 인라인으로 추출된다는 것입니다. 유용하지 않고 왜곡되어 보이는 텍스트 섹션이 생성되기 때문에 문제가 될 수 있습니다.

표 및 특수 서식을 제외하고 PDF 문서에서 텍스트를 추출하고 싶습니다 . 이 작업을 수행하는 도서관이 있습니까?

답변:


61

PDFMiner를 살펴볼 수도 있습니다 (또는 이전 버전의 Python은 PDFMinerPDFMiner 참조 ).

PDFMiner의 특별한 기능은 텍스트 부분을 추출 할 때 다시 그룹화하는 방법을 제어 할 수 있다는 것입니다. 줄, 단어, 문자 등 사이의 공백을 지정하여이를 수행합니다. 따라서이를 조정하여 원하는 것을 얻을 수 있습니다 (문서의 가변성에 따라 다름). PDFMiner는 또한 페이지에서 텍스트의 위치를 ​​제공 할 수 있으며 개체 ID 및 기타 항목으로 데이터를 추출 할 수 있습니다. PDFMiner를 파헤 치고 창의력을 발휘하십시오!

그러나 PDF에서 텍스트는 연속적이지 않고 페이지에 절대적으로 배치 된 많은 작은 문자 그룹으로 만들어지기 때문에 문제를 해결하기가 쉽지 않습니다. PDF의 초점은 레이아웃을 그대로 유지하는 것입니다. 콘텐츠 지향적이지 않고 프레젠테이션 지향적입니다.


1
PDFMiner는 흥미로워 보입니다. 나는 그것으로부터 XML 출력을 사용할 수 있고, 내가 원하지 않는 것을 무시하기 위해 그것을 파싱 할 수있다. 여전히 상당한 후 처리가 필요하지만 현재로서는 아마도 최상의 솔루션 일 것입니다. 감사합니다.
Mike Cialowicz 2009

@Etienne, PDF에 다른 언어 문자가있는 경우에도 사용할 수 있습니까?
Sahil Mittal

다른 언어 문자와 함께 작동해야합니다. 문서 언급 : CJK 언어 및 세로 쓰기 스크립트 지원. 확인하는 가장 좋은 방법은 테스트 해보세요!
Etienne

1
PDFMiner의 pdfminer.six Python 3 포트가 잘 작동하고 있습니다
hamish

1
20191010 버전부터 PDFMiner는 Python 3 만
환상적인

0

시각적으로 유사한 PDF는 제작 방법에 따라 구조가 크게 다를 수 있으므로 해결하기 어려운 문제입니다. 최악의 경우 라이브러리는 기본적으로 OCR처럼 작동해야합니다. 반면에 PDF에는 테이블과 그림을 쉽게 제거 할 수있는 충분한 구조와 메타 데이터가 포함될 수 있으며,이를 활용하도록 라이브러리를 조정할 수 있습니다.

다양한 PDF에 대한 문제를 해결하는 오픈 소스 도구가 없다고 확신하지만, 사용자가 요청한 작업을 정확히 수행한다고 주장하는 상용 소프트웨어에 대해 들어 본 적이 있습니다. 인터넷 검색을하는 동안 그들과 마주 치게 될 것이라고 확신합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.