파이썬으로 만든 파워 포인트로 자기 소개해 보았습니다.

지금까지의 작업에서 수동으로 보고서를 작성하는 경우가 많았지만 최근 파이썬으로 파워 포인트를 만들 수 있다는 것을 알았기 때문에 공부하면 자기 소개 PPTX를 만듭니다.

파이썬으로 파워 포인트를 작성할 수 있으면, 매주·매월 보고하는 KPI 리포트등을 자동으로 작성하는 것이 가능합니다. 이번에는 python-pptx 라는 라이브러리를 이용합니다.

  • python-pptx
  • ht tp // py 쵸-ptx. Red d. cs. 이오 / 엔 / 아 st /
  • v0.6.7


  • 실행 환경
  • google cloud에서 ssh
  • Python 2.7.6


  • pip install에서 virtualenv 내에 라이브러리를 넣었습니다.
    pip install python-pptx
    

    덧붙여 자기 소개는 미완성이므로 갱신해 가기 때문에 어쩔 수 없다.

    주의하고 있는 것은 다음과 같은 점입니다.
  • 페이지 레이아웃을 바꾸는 방법
  • 글머리 기호를 만드는 방법
  • 굵게 표시하는 방법
  • 글꼴 크기를 바꾸는 방법

  • 향후 구현하고 싶은 것은 이하의 점. 기다려주세요.
  • 이미지 삽입
  • 테이블 삽입
  • 자동으로 KPI 수치 삽입
  • 슬라이드 마스터 변경
  • from pptx import Presentation
    from datetime import datetime
    from pptx.util import Pt
    
    today = datetime.today().strftime("%Y%m%d")
    
    prs = Presentation()
    
    # P1: title page
    title_slide_layout = prs.slide_layouts[0]  # page layout
    slide = prs.slides.add_slide(title_slide_layout)
    title = slide.shapes.title
    subtitle = slide.placeholders[1]
    
    title.text = "Introduce Myself"
    subtitle.text = "@ishio"
    
    # P2
    bullet_slide_layout = prs.slide_layouts[1]  # page layout
    slide = prs.slides.add_slide(bullet_slide_layout)
    shapes = slide.shapes
    
    title_shape = shapes.title
    body_shape = shapes.placeholders[1]
    
    title_shape.text = 'Introduce My Hobby'
    title_shape.text_frame.paragraphs[0].font.size = Pt(32)  # font size
    title_shape.text_frame.paragraphs[0].font.bold = True  # font bold
    
    tf = body_shape.text_frame
    tf.text = 'Reading books'
    tf.paragraphs[0].font.size = Pt(28)  # font size
    tf.paragraphs[0].font.bold = True  # font bold
    
    p = tf.add_paragraph()
    p.text = 'Read 57 books in 2017'
    p.level = 1  # down the bullet level
    p.font.size = Pt(24)  # font size
    
    p = tf.add_paragraph()
    p.text = 'Try to read 70 books in 2018'
    p.level = 1  # down the bullet level
    p.font.size = Pt(24)  # font size
    
    # This is a space between bullets
    p = tf.add_paragraph()
    p.font.size = Pt(28)  # font size
    
    p = tf.add_paragraph()
    p.text = 'Watching and playing football'
    tf.paragraphs[4].font.size = Pt(28)  # font size
    tf.paragraphs[4].font.bold = True  # font bold
    
    # This is a space between bullets
    p = tf.add_paragraph()
    p.text = 'Love Urawa Reds'
    p.level = 1
    p.font.size = Pt(24)  # font size
    
    p = tf.add_paragraph()
    p.text = 'Play futsal every weekend to keep myself healthy'
    p.level = 1
    p.font.size = Pt(24)  # font size
    
    prs.save('test_%s.pptx' % today)
    

    만든 PPT는 다음과 같은 느낌입니다.

    P1


    P2


    2018년, 잘 부탁드립니다.

    @이시오

    좋은 웹페이지 즐겨찾기