직장인

[회사원] 업무 코딩기록 - (Fitz) pdf 텍스트 삽입 후 저장

cyy1211 2024. 12. 20. 15:30
728x90
반응형
import fitz
import os

# 입력 및 출력 폴더 설정
input_folder = r"C:\Users\user\Desktop\VSCode(python)\(CODE)PDF,OCR\pdf_raw"
output_folder = r"C:\Users\user\Desktop\VSCode(python)\(CODE)PDF,OCR\pdf_result"

# 출력 폴더가 존재하지 않으면 생성
os.makedirs(output_folder, exist_ok=True)

# 입력 폴더의 모든 PDF 파일 처리
for filename in os.listdir(input_folder):
    if filename.endswith(".pdf"):
        pdf_path = os.path.join(input_folder, filename)
        output_file = os.path.join(output_folder, f"modified_{filename}")

        # PDF 파일 열기
        doc = fitz.open(pdf_path)
        page = doc[0]  # 첫 번째 페이지 접근

        # 텍스트 삽입 시작점 정의
        p = fitz.Point(75, 150)

        # 삽입할 텍스트 정의
        text = "Some text,\nspread across\nseveral lines."

        # 페이지에 텍스트 삽입
        rc = page.insert_text(p, text)

        # 페이지에 삽입된 줄 수 출력
        print("%i lines printed on page %i." % (rc, page.number))

        # 수정된 PDF를 새로운 파일로 저장
        doc.save(output_file)
        doc.close()  # 문서 닫기

        print(f"Modified PDF saved as '{output_file}'.")
728x90
반응형