혁신을 이룹니다, 오딘박스(OdinBOX)

언제나 어디서나 오딘박스와 함께!

파이썬을 활용한 자동화 문서 생성 방법

간지뽕빨리턴님 2024. 11. 25. 05:54
반응형

귀찮은 문서를 자동화로 만들어봅시다

파이썬을 이용하여 업무 자동화를 해봅시다

파이썬은 다양한 자동화 작업을 효율적으로 처리할 수 있는 강력한 도구입니다. 그중에서도 문서 자동화는 업무 효율성을 극대화하고 반복 작업을 줄여주는 중요한 기능입니다. 본 글에서는 파이썬을 활용하여 문서를 자동으로 생성하는 방법에 대해서 간단하게 알아보도록 하겠습니다.

목차

    자동화문서

    반복적인 문서 작성 작업을 자동화하면 시간이 절약되고 실수를 줄일 수 있어 좋을 것 같습니다. 예를 들어, 보고서 작성, 계약서 작성, 이메일 발송 등의 작업을 자동화를 할 수 있습니다.

    필요한 파이썬 라이브러리

    패키지명패키지설명
    python-docxMicrosoft Word 문서를 생성하고 수정할 수 있는 라이브러리
    openpyxlExcel 파일을 생성하고 수정할 수 있는 라이브러리
    pdfkitHTML을 PDF로 변환하는 데 유용한 라이브러리
    Pandas데이터 처리를 위해 사용되며, 특히 Excel 파일에 데이터를 삽입

    자동화 알아보기

    World

    from docx import Document
    
    # 새 문서 만들기
    doc = Document()
    
    # 제목 추가
    doc.add_heading('Word 문서 생성 - 오딘박스', 0)
    
    # 본문 내용 추가
    doc.add_paragraph('이 문서는 자동화로 만들어졌습니다.')
    
    # 문서 저장
    doc.save('automated_document.docx')

    Python-docx를 활용을 하면 아래와 같이 만들 수 있습니다. 해당 소스는 이 문서[#]에 있는 예제소스입니다.

    from docx import Document
    from docx.shared import Inches
    
    document = Document()
    
    document.add_heading('Document Title', 0)
    
    p = document.add_paragraph('A plain paragraph having some ')
    p.add_run('bold').bold = True
    p.add_run(' and some ')
    p.add_run('italic.').italic = True
    
    document.add_heading('Heading, level 1', level=1)
    document.add_paragraph('Intense quote', style='Intense Quote')
    
    document.add_paragraph(
        'first item in unordered list', style='List Bullet'
    )
    document.add_paragraph(
        'first item in ordered list', style='List Number'
    )
    
    document.add_picture('monty-truth.png', width=Inches(1.25))
    
    records = (
        (3, '101', 'Spam'),
        (7, '422', 'Eggs'),
        (4, '631', 'Spam, spam, eggs, and spam')
    )
    
    table = document.add_table(rows=1, cols=3)
    hdr_cells = table.rows[0].cells
    hdr_cells[0].text = 'Qty'
    hdr_cells[1].text = 'Id'
    hdr_cells[2].text = 'Desc'
    for qty, id, desc in records:
        row_cells = table.add_row().cells
        row_cells[0].text = str(qty)
        row_cells[1].text = id
        row_cells[2].text = desc
    
    document.add_page_break()
    
    document.save('demo.docx')

    Excel

    import openpyxl
    
    # 새 워크북 생성
    wb = openpyxl.Workbook()
    sheet = wb.active
    
    # 데이터 삽입
    sheet['A1'] = '이름'
    sheet['B1'] = '직급'
    sheet['A2'] = '최영환'
    sheet['B2'] = '주임'
    
    # 워크북 저장
    wb.save('자동문서.xlsx')

    OpenPyXL[#]로 들어가 자세한 가이드문서를 볼 수 있습니다.

    PDF

    import pdfkit
    
    # HTML 콘텐츠를 PDF로 변환
    html_content = """
    <html>
        <body>
            <h1>오딘박스 접속방법</h1>
            <p>오딘박스의 접속 주소는 https://odinbox.co.kr/입니다.</p>
        </body>
    </html>
    """
    
    # PDF로 저장
    pdfkit.from_string(html_content, '자동문서.pdf')

    pdfkit을 활용을 하여 html을 pdf로 변환을 하는 방법입니다. 해당 라이브러리[#]에 들어가 보면 자세한 가이드를 알 수 있습니다.

    마무리

    파이썬을 활용한 문서 자동화는 반복적이고 시간 소모적인 작업을 줄여줄 수 있는 매우 유용한 기술입니다. 파이썬의 라이브러리를 활용하면 문서 생성 및 관리 작업을 훨씬 효율적으로 처리할 수 있습니다. 예시들을 참고하여, 여러분도 파이썬을 통해 업무를 자동화하고 생산성을 높일 수 있을 것입니다