PDFMiner는 PDF 문서용 텍스트 추출 도구입니다.
경고 : 2020년 현재 PDFMiner는 적극적으로 유지 관리되지 않습니다 . 코드는 여전히 작동하지만 이 프로젝트는 대체로 휴면 상태입니다. 활성 프로젝트의 경우 해당 포크 pdfminer.six를 확인하세요.
순수 Python(3.6 이상).
PDF-1.7을 지원합니다. (글쎄, 거의)
텍스트의 정확한 위치와 기타 레이아웃 정보(글꼴 등)를 얻습니다.
자동 레이아웃 분석을 수행합니다.
PDF를 다른 형식(HTML/XML)으로 변환할 수 있습니다.
개요(TOC)를 추출할 수 있습니다.
태그된 콘텐츠를 추출할 수 있습니다.
기본 암호화(RC4 및 AES)를 지원합니다.
다양한 글꼴 유형(Type1, TrueType, Type3, CID)을 지원합니다.
CJK 언어 및 세로 쓰기 스크립트를 지원합니다.
다른 목적으로 사용할 수 있는 확장 가능한 PDF 파서가 있습니다.
> pip install pdfminer
> pdf2txt.py samples/simple1.pdf
pdf2txt.py는 프로그래밍 방식으로 렌더링되는 모든 텍스트를 추출합니다. 또한 각 텍스트 세그먼트에 대해 해당 위치, 글꼴 이름, 글꼴 크기, 쓰기 방향(가로 또는 세로)을 추출합니다. 이미지 속 텍스트는 인식하지 못합니다. 제한된 PDF 문서에는 비밀번호를 제공해야 합니다.
> pdf2txt.py [-P password] [-o output] [-t text|html|xml|tag] [-O output_dir] [-c encoding] [-s scale] [-R rotation] [-Y normal|loose|exact] [-p pagenos] [-m maxpages] [-S] [-C] [-n] [-A] [-V] [-M char_margin] [-L line_margin] [-W word_margin] [-F boxes_flow] [-d] input.pdf ...
-P password
: PDF 비밀번호입니다.
-o output
: 출력 파일 이름입니다.
-t text|html|xml|tag
: 출력 유형. (기본값: 출력 파일 이름에서 자동으로 추론됩니다.)
-O output_dir
: 추출된 이미지의 출력 디렉터리입니다.
-c encoding
: 출력 인코딩입니다. (기본값:utf-8)
-s scale
: 출력 규모.
-R rotation
: 페이지를 각도 단위로 회전합니다.
-Y normal|loose|exact
: 레이아웃 모드를 지정합니다. (HTML 출력에만 해당됩니다.)
-p pagenos
: 특정 페이지만 처리합니다.
-m maxpages
: 처리할 최대 페이지 수를 제한합니다.
-S
: 제어 문자를 제거합니다.
-C
: 리소스 캐싱을 비활성화합니다.
-n
: 레이아웃 분석을 비활성화합니다.
-A
: 그림을 포함한 모든 텍스트에 대한 레이아웃 분석을 적용합니다.
-V
: 세로쓰기를 자동으로 감지합니다.
-M char_margin
: 문자 여백을 지정합니다.
-W word_margin
: 단어 여백을 지정합니다.
-L line_margin
: 줄 여백을 지정합니다.
-F boxes_flow
: 박스 흐름 비율을 지정합니다.
-d
: 디버그 출력을 켭니다.
dumppdf.py는 PDF 디버깅에 사용됩니다. 모든 내부 내용을 의사 XML 형식으로 덤프합니다.
> dumppdf.py [-P password] [-a] [-p pageid] [-i objid] [-o output] [-r|-b|-t] [-T] [-O directory] [-d] input.pdf ...
-P password
: PDF 비밀번호입니다.
-a
: 모든 객체를 추출합니다.
-p pageid
: 페이지 개체를 추출합니다.
-i objid
: 특정 객체를 추출합니다.
-o output
: 출력 파일 이름입니다.
-r
: 원시 모드. 원시 압축/인코딩된 스트림을 덤프합니다.
-b
: 바이너리 모드. 압축되지 않은/디코딩된 스트림을 덤프합니다.
-t
: 텍스트 모드. 스트림을 텍스트 형식으로 덤프합니다.
-T
: 태그된 모드. 태그된 내용을 덤프합니다.
-O output_dir
: 추출된 스트림의 출력 디렉터리입니다.
STRICT 변수를 더 나은 것으로 바꾸십시오.
디버깅 기능을 개선합니다.
sys.stderr 대신 로깅 모듈을 사용하십시오.
적절한 테스트 케이스.
PEP-8 및 PEP-257 준수.
더 나은 문서화.
암호화 스트림 필터 지원.
pyPDF
xpdf
PDF박스
mupdf