[python] python-pptx PPT 파일 손상 복구하기

최근에 작업하던 PPT 파일이 손상되어 열 수 없는 상황이 발생했습니다. 다행히 python-pptx 라이브러리를 이용하여 손상된 PPT 파일을 복구할 수 있습니다. 이번 글에서는 python-pptx를 사용하여 PPT 파일을 복구하는 방법을 알아보겠습니다.

1. python-pptx 라이브러리 설치하기

먼저, python-pptx 라이브러리를 설치해야 합니다. pip를 사용하여 간단하게 설치할 수 있습니다.

pip install python-pptx

2. 손상된 PPT 파일 확인하기

손상된 PPT 파일을 확인하기 위해 python-pptx를 사용합니다. 다음 예제 코드를 실행하여 PPT 파일의 손상 여부를 확인할 수 있습니다.

from pptx import Presentation

def check_corrupted_ppt(filename):
    try:
        Presentation(filename)
        print("PPT 파일이 손상되지 않았습니다.")
    except:
        print("손상된 PPT 파일입니다.")

filename = "corrupted.pptx"     # 손상된 PPT 파일 경로
check_corrupted_ppt(filename)

위 코드에서 filename 변수에는 손상된 PPT 파일의 경로를 지정해야 합니다. 코드를 실행하면 PPT 파일이 손상되었는지 여부를 확인할 수 있습니다.

3. PPT 파일 복구하기

손상된 PPT 파일을 복구하기 위해 python-pptx를 사용합니다. 아래 예제 코드는 손상된 PPT 파일을 복구하여 새로운 PPT 파일로 저장하는 방법을 보여줍니다.

from pptx.enum.shapes import MSO_SHAPE_TYPE
from pptx import Presentation

def repair_corrupted_ppt(filename):
    prs = Presentation(filename)
    slides = prs.slides

    for slide in slides:
        for shape in slide.shapes:
            if shape.shape_type == MSO_SHAPE_TYPE.PLACEHOLDER:
                text_frame = shape.text_frame
                for paragraph in text_frame.paragraphs:
                    for run in paragraph.runs:
                        if run.text == "":
                            run.text = " "

    prs.save("repaired.pptx")     # 복구된 PPT 파일 저장 경로
    print("PPT 파일이 성공적으로 복구되었습니다.")

filename = "corrupted.pptx"     # 손상된 PPT 파일 경로
repair_corrupted_ppt(filename)

위 코드에서 filename 변수에는 손상된 PPT 파일의 경로를 지정해야 합니다. 코드를 실행하면 손상된 PPT 파일이 복구되어 repaired.pptx로 저장됩니다.

마무리

이번 글에서는 python-pptx를 사용하여 손상된 PPT 파일을 복구하는 방법에 대해 알아보았습니다. python-pptx는 PPT 파일을 다루는 다양한 기능을 제공하므로, 복구뿐만 아니라 PPT 파일 생성 및 편집에도 유용하게 사용할 수 있습니다.

해당 내용은 python-pptx 공식 문서를 참고하여 작성되었습니다.