Python/docx

3. docx - 문서에 단락 추가하기 add_paragraph

언제나휴일 2021. 11. 25. 14:45
반응형

Document 개체에 단락을 추가할 때 add_paragraph 메서드를 사용합니다.

add_paragraph(text=U'',style=None)

 

1. 단락 추가

add_paragraph에 아무런 인자도 전달하지 않으면 빈 단락이 만들어집니다.

add_paragraph에 문자열을 전달하여 내용을 포함한 단락을 만들 수 있습니다.

두 번째 인자로 단락 스타일을 지정할 수도 있습니다.

from docx import Document
document = Document()#Document개체 생성
document.add_paragraph()#빈 단락 추가
document.add_paragraph("두 번째 단락입니다.") #단락 추가

normal_style = document.styles["Normal"]
document.add_paragraph("세 번째 단락입니다.",style=normal_style) #단락 추가
document.save("para1.docx")

para1.docx

2. 문서의 단락 스타일 조회

다음은 현재 문서에 있는 스타일 중에 단락에 관한 스타일을 확인하는 코드입니다.

from docx import Document
from  docx.enum.style import *

document = Document() 
for style in document.styles: 
    if style.type == WD_STYLE_TYPE.PARAGRAPH:
        document.add_paragraph(style.name,style=style)
document.save("para2.docx")

para2.docx

3. Paragraph 개체

add_paragraph 메서드는 Paragraph 개체를 반환합니다.

Paragraph 개체는 3개의 멤버 메서드와 5개의 멤버 필드(속성)을 제공합니다.

#Paragraph 멤버
#https://python-docx.readthedocs.io/en/latest/api/text.html#docx.text.parfmt.ParagraphFormat
#add_run(text=None, style=None) - Run 추가
#clear() - Text 지우기
#insert_paragraph_before(text=None, style=None) - 앞에 단락 추가하기
#alignment 
#paragraph_format
#runs
#style
#text

다음은 Paragraph 개체를 이용하여 run을 추가, alignment 설정, Text 내용 지우기, 앞에 단락 추가를 사용한 예제 코드입니다.

from docx import Document
from docx.text.paragraph import *
from  docx.enum.style import *
from docx.enum.text import *

document = Document()
para = document.add_paragraph("새로운 단락입니다.")
para.add_run("현재 단락에 run을 추가합니다.")
para.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
document.add_paragraph("단락 A")
document.add_paragraph("단락 B")
para_c = document.add_paragraph("단락 C")
para_c.clear()
para.insert_paragraph_before("앞에 추가할 단락입니다.")
print(para.text)
document.save("para3.docx")

para3.docx

반응형

'Python > docx' 카테고리의 다른 글

5.docx - 이미지 추가하기  (0) 2021.11.26
4. docx - 표(Table) 작성하기 add_table  (0) 2021.11.26
2. docx.Document 소개  (0) 2021.11.25
1. docx 소개  (0) 2021.11.25