반응형
PDF 가 위치한 디렉토리를 설정하고,
위치에 pdf 파일을 떨궈줍니다.
pdf 에 위치한 파일이 파일 내
인덱스에 위치한 텍스트를 인식하여 파일이름으로 변경하는 작업입니다.
import PyPDF2
import os
# 페이지 인덱스 설정
def extract_text_from_page(pdf_path, page_number, start_index, end_index):
text = ''
with open(pdf_path, 'rb') as file:
reader = PyPDF2.PdfReader(file)
page = reader.pages[page_number - 1] # 페이지 인덱스는 0부터 시작하므로 1을 빼줍니다.
page_text = page.extract_text()
text += page_text[start_index:end_index]
return text.strip()
# 파일 이름 변경 함수
def clean_filename(text):
# 파일 이름에 사용할 수 없는 문자를 제거하거나 대체합니다.
illegal_chars = ['\\', '/', ':', '*', '?', '"', '<', '>', '|']
for char in illegal_chars:
text = text.replace(char, '_')
return text[:10] # 파일 이름이 너무 길어지는 것을 방지하기 위해 일부를 잘라냅니다.
# 파일 내 데이터 추출
def rename_pdf_with_extracted_text(pdf_path):
page_number = 1 # 추출하고자 하는 페이지 번호
start_index = 200 # 추출을 시작할 인덱스
end_index = 205 # 추출을 끝낼 인덱스
extracted_text = extract_text_from_page(pdf_path, page_number, start_index, end_index)
if extracted_text:
cleaned_text = clean_filename(extracted_text)
filename, extension = os.path.splitext(pdf_path)
new_filename = f"{cleaned_text}{extension}"
os.rename(pdf_path, new_filename)
print(f"PDF 파일의 이름을 '{cleaned_text}'로 변경했습니다.")
else:
print("PDF 파일에서 텍스트를 추출할 수 없습니다.")
# 이름 변경할 디렉토리 설정
def rename_all_pdfs_in_directory(directory):
for filename in os.listdir(directory):
if filename.endswith('.pdf'):
pdf_path = os.path.join(directory, filename)
rename_pdf_with_extracted_text(pdf_path)
def main():
directory = '/Users/Desktop/' # pdf 위치한 디렉토리 설정
rename_all_pdfs_in_directory(directory)
if __name__ == "__main__":
main()
실행하면 py 파일이 위치한 디렉토리에 이름을 변경한 pdf 파일이 위치합니다.
반응형
'개발 > Python' 카테고리의 다른 글
파이썬 py 파일 exe 로 변환 방법 (0) | 2024.04.22 |
---|---|
파이참 라이선스 만료, 학생 무료 갱신 (0) | 2024.03.12 |
Mongodb 기초 - pymongo (0) | 2022.05.24 |
웹 크롤링 기초2 - DB연결 및 insert (0) | 2022.05.19 |
웹 크롤링 기초1 (0) | 2022.05.18 |