여기 2030년 자율주행 서비스 일상화, 미래 모빌리티 선도국가 도약란 국토교통부의 보도자료가 있다. 보도자료는 보통 PDF와 HWP 파일로 공개된다. 이 중 PDF를 텍스트로 변경해보고 싶다.
많이 쓰는 것 중심으로 테스트를 해봤다.
pypdf2, pdfminer.six, pdfplumber 3개다.
위 pdf 중 두 번째 쪽은 아래와 같다. 아래 PDF를 텍스트로 변경해봤다.
pypdf2
2쪽을 하고 싶었으니 아래처럼 index는 1이 된다.
from PyPDF2 import PdfReader
FILE_PATH = "220609(석간)_강남에서_자율주행_택시_달린다(첨단자동차과).pdf"
INDEX_OF_PAGE = 1
def text_to_txt_file(text, file_name):
with open(file_name, "w") as f:
f.write(text)
def pdf_to_text_by_pypdf2():
reader = PdfReader(FILE_PATH)
page = reader.pages[INDEX_OF_PAGE]
text = page.extract_text()
text_to_txt_file(text, "text_by_pypdf2.txt")
if __name__ == '__main__':
pdf_to_text_by_pypdf2()
결과 예 - 앞부분 일부
- 2 -
ㅇ
현재 고속도로나 자동차전용로에서 자율 주행하는
레벨3 기술은 상용화
기술이 확보되어 있으나,
레벨 이상의 자율주행
4 기술
은 세계 각 국이
개발 실증 중
·
인 상황이다.
pdfminer.six
from pdfminer.high_level import extract_text
FILE_PATH = "220609(석간)_강남에서_자율주행_택시_달린다(첨단자동차과).pdf"
INDEX_OF_PAGE = 1
def text_to_txt_file(text, file_name):
with open(file_name, "w") as f:
f.write(text)
def pdf_to_text_by_pdfminer_six():
text = extract_text(pdf_file=FILE_PATH, page_numbers=[INDEX_OF_PAGE])
text_to_txt_file(text, "text_by_pdfminer_six.txt")
if __name__ == '__main__':
pdf_to_text_by_pdfminer_six()
결과 앞 부분 일부
ㅇ 현재 고속도로나 자동차전용로에서 자율 주행하는 레벨3 기술은 상용화
기술이 확보되어 있으나, 레벨 이상의 자율주행
4
기술
은 세계 각 국이
개발 실증 중
·
인 상황이다.
pdfplumber
import pdfplumber
FILE_PATH = "220609(석간)_강남에서_자율주행_택시_달린다(첨단자동차과).pdf"
INDEX_OF_PAGE = 1
def text_to_txt_file(text, file_name):
with open(file_name, "w") as f:
f.write(text)
def pdf_to_text_by_pdfplumber():
with pdfplumber.open(FILE_PATH) as pdf:
page = pdf.pages[INDEX_OF_PAGE]
text = page.extract_text()
text_to_txt_file(text, "text_by_pdfplumber.txt")
if __name__ == '__main__':
pdf_to_text_by_pdfplumber()
결과 전체다.
굉장히 깔끔하게 나온다. 쪽수도 원래 대로 맨 아래 쪽에 추출되는 것을 볼 수 있다.
ㅇ 현재 고속도로나 자동차전용로에서 자율 주행하는 레벨3 기술은 상용화
기술이 확보되어 있으나, 레벨4 이상의 자율주행 기술은 세계 각 국이
개발·실증 중인 상황이다.
ㅇ 우리나라도 대표적 혼잡구간인 서울 강남에서 레벨4 기술 실증에 착수
하고 단계적으로 확대하여, 27년에는 레벨4 완전 자율주행을 상용화
해나간다는 계획이다.
운전자 보조 기능 자율주행 기능
Level 0 Level 1 Level 2 Level 3 Level 4 Level 5
레벨 구분
명칭 無 자율주행 운전자 지원 부분 자동화 조건부 자동화 고도 자동화 완전 자동화
작동구간 내 전 구간
운전주시 항시 필수 항시 필수 항시 필수 시스템 요청시
불필요 불필요
자동화 구간 - 특정구간 특정구간 특정구간 특정구간 전 구간
차선유지 또는 차선유지 및 혼잡구간 지역(Local) 운전자 없는
예시 사각지대 경고
크루즈 기능 크루즈 기능 주행지원 시스템 무인택시 완전자율주행
□ 자율주행 로보라이드는 AI 모빌리티 플랫폼 업체인 진모빌리티 등과
협업하여 자율주행과 결합한 미래 모빌리티 서비스를 국민 체감형으로
제공할 예정이다.
ㅇ 시범운행을 거쳐 이르면 8월 국민 누구나 체험할 수 있도록 무상으로
서비스가 공개되며, 모바일 어플을 통해 예약, 차량 호출, 경로 지정
등을 할 수 있다.
ㅇ 이번 자율주행 로보라이드 차량은 보행자·대형버스 등이 혼재하는
도로상황에서 스스로 차선변경, 좌·우회전, 유턴 등이 가능하다.
- 2 -
일단 기본 제공되는 높은 수준의 텍스트 추출 함수만 비교해봤을 때는 pdfplumber가 가장 깔끔하게 나왔다.