Python의 단어 자동화

MS Word 파일은 송장, 보고서, 기술 기사 등과 같은 다양한 유형의 문서를 만드는 데 엄청나게 사용됩니다. 문서 자동화를 통해 사용자는 웹 또는 데스크톱 포털 내에서 동적으로 Word 문서를 생성할 수 있습니다. 따라서 이 기사에서는 MS Office 없이 Python에서 Word 문서를 생성하는 방법에 대해 설명합니다. 또한 Python을 사용하여 DOCX 또는 DOC 파일을 만들고 이 파일에 텍스트 또는 기타 요소를 동적으로 추가하는 방법을 배웁니다.

Word 문서를 만드는 Python API

Word 문서를 동적으로 생성하기 위해 Aspose.Words for Python을 사용합니다. MS Word 문서를 원활하게 만들고 조작할 수 있는 강력한 Python 라이브러리입니다. 다음 pip 명령을 사용하여 PyPI에서 Python 애플리케이션에 라이브러리를 설치할 수 있습니다.

pip install aspose-words

Python에서 Word DOCX 또는 DOC 파일 만들기

다음은 Python에서 Word 문서를 처음부터 만드는 단계입니다.

  • Document 클래스의 객체를 생성합니다.
  • DocumentBuilder 클래스의 개체를 만듭니다.
  • DocumentBuilder.write() 메서드를 사용하여 문서에 텍스트를 삽입합니다.
  • Document.save() 메서드를 사용하여 Word 문서를 저장합니다.

다음 코드 샘플은 Word DOCX 문서를 만드는 방법을 보여줍니다.

import aspose.words as aw

# create document object
doc = aw.Document()

# create a document builder object
builder = aw.DocumentBuilder(doc)

# add text to the document
builder.write("Hello world!")

# save document
doc.save("out.docx")

산출

워드 문서 파이썬 만들기

Python에서 기존 Word 문서 로드

Document 생성자에 대한 경로를 제공하여 기존 Word 문서를 로드할 수도 있습니다. 다음 코드 샘플은 Word 문서를 로드하는 방법을 보여줍니다.

import aspose.words as aw

# create document object
doc = aw.Document("document.docx")

# manipulate document

# save document
doc.save("out.docx")

Python을 사용하여 Word 문서에 단락 삽입

Word 문서에는 단락 형식의 텍스트가 포함되어 있습니다. 따라서 이 섹션에서는 Python을 사용하여 Word 문서에 단락을 삽입하는 방법을 보여줍니다.

  • Document 클래스의 객체를 생성합니다.
  • DocumentBuilder 클래스의 개체를 만듭니다.
  • Documentbuilder 개체에서 글꼴 참조를 가져오고 글꼴을 설정합니다.
  • Documentbuilder 객체에서 단락 참조를 가져오고 들여쓰기, 정렬 등을 설정합니다.
  • DocumentBuilder.write() 메서드를 사용하여 단락에 텍스트를 삽입합니다.
  • Document.save() 메서드를 사용하여 Word 문서를 저장합니다.

다음 코드 샘플은 Python을 사용하여 Word 문서에 단락을 삽입하는 방법을 보여줍니다.

import aspose.words as aw

# create document object
doc = aw.Document()

# create a document builder object
builder = aw.DocumentBuilder(doc)

# create font
font = builder.font
font.size = 16
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.DASH

# set paragraph formatting
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# add text
builder.writeln("A whole paragraph.")

# save document
doc.save("out.docx")

산출

워드 문서 파이썬에서 단락 만들기

Python을 사용하는 Word 문서의 단락 작업에 대해 자세히 알아보세요.

Python을 사용하여 Word 문서에 테이블 추가

표는 행과 열의 형태로 정보를 표시하는 문서의 필수적인 부분입니다. Aspose.Words for Python을 사용하면 테이블 작업이 훨씬 쉬워집니다. 다음은 Python을 사용하여 Word 문서에 표를 추가하는 단계입니다.

  • Document 클래스의 객체를 생성합니다.
  • DocumentBuilder 클래스의 개체를 만듭니다.
  • DocumentBuilder.start\table() 메서드를 사용하여 테이블을 시작하고 개체에서 테이블의 참조를 가져옵니다.
  • DocumentBuilder.insert\cell() 메서드를 사용하여 셀을 삽입합니다.
  • auto\fit(aw.tables.AutoFitBehavior.FIXED\COLUMN\WIDTHS) 메서드를 사용하여 자동 맞춤을 설정합니다.
  • 셀의 정렬을 설정합니다.
  • DocumentBuilder.write() 메서드를 사용하여 셀에 텍스트를 삽입합니다.
  • 필요에 따라 셀과 텍스트를 셀에 삽입하는 작업을 반복합니다.
  • 셀 삽입이 완료되면 행을 종료합니다.
  • 모든 행을 삽입하면 테이블을 종료합니다.
  • Document.save() 메서드를 사용하여 Word 문서를 저장합니다.

다음 코드 샘플은 Python을 사용하여 Word 문서에 표를 삽입하는 방법을 보여줍니다.

import aspose.words as aw

# create document object
doc = aw.Document()

# create a document builder object
builder = aw.DocumentBuilder(doc)

# start table
table = builder.start_table()

# insert cell 
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)

# set formatting and add text
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER
builder.write("This is row 1 cell 1")

# insert cell
builder.insert_cell()
builder.write("This is row 1 cell 2")

# end row
builder.end_row()

# insert another cell in the next row
builder.insert_cell()

# format row if required
builder.row_format.height = 100
builder.row_format.height_rule = aw.HeightRule.EXACTLY

# format cell and add text
builder.cell_format.orientation = aw.TextOrientation.UPWARD
builder.writeln("This is row 2 cell 1")

# insert another cell, set formatting and add text
builder.insert_cell()
builder.cell_format.orientation = aw.TextOrientation.DOWNWARD
builder.writeln("This is row 2 cell 2")

# end row
builder.end_row()

# end table
builder.end_table()

# save document
doc.save("out.docx")

산출

워드 문서 파이썬에서 테이블 만들기

Python을 사용하여 Word 문서에서 표 작업 방법에 대해 자세히 알아보세요.

Python을 사용하여 Word 문서에 목록 만들기

다음은 Python을 사용하여 Word 문서에 목록을 만드는 단계입니다.

  • Document 클래스의 객체를 생성합니다.
  • DocumentBuilder 클래스의 개체를 만듭니다.
  • DocumentBuilder.list\format.apply\number\default() 메서드를 사용하여 서식을 설정합니다.
  • DocumentBuilder.writeln(“Item 1”) 메서드를 사용하여 항목을 삽입합니다.
  • DocumentBuilder.writeln(“Item 2”) 메서드를 사용하여 두 번째 항목을 삽입합니다.
  • 목록의 다음 수준에 항목을 삽입하려면 DocumentBuilder.list\format.list\indent() 메서드를 호출하고 항목을 삽입합니다.
  • DocumentBuilder.list\format.remove\numbers() 메서드를 사용하여 목록에서 숫자를 제거합니다.
  • Document.save() 메서드를 사용하여 Word 문서를 저장합니다.

다음 코드 샘플은 Python을 사용하여 Word 문서에서 목록을 만드는 방법을 보여줍니다.

import aspose.words as aw

# create document object
doc = aw.Document()

# create a document builder object
builder = aw.DocumentBuilder(doc)

# set list formatting
builder.list_format.apply_number_default()

# insert item
builder.writeln("Item 1")
builder.writeln("Item 2")

# set indentation for next level of list
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")

# indent again for next level
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")

# outdent to get back to previous level
builder.list_format.list_outdent()
builder.writeln("Item 2.3")

# outdent again to get back to first level
builder.list_format.list_outdent()
builder.writeln("Item 3")

# remove numbers
builder.list_format.remove_numbers()

# save document
doc.save("out.docx")

산출

워드 문서 파이썬에서 목록 만들기

Python을 사용하는 Word 문서의 목록 작업에 대해 자세히 알아보세요.

Python을 사용하여 Word 문서에 이미지 삽입

Word 문서로 작업하는 동안 이미지와 같은 그래픽 개체를 무시할 수 없습니다. Python을 사용하여 Word 문서에 동적으로 이미지를 삽입하는 방법을 살펴보겠습니다.

  • Document 클래스의 객체를 생성합니다.
  • DocumentBuilder 클래스의 개체를 만듭니다.
  • DocumentBuilder.insert\image() 메서드를 사용하여 이미지를 삽입하고 이미지 파일의 경로를 매개변수로 전달합니다.
  • Document.save() 메서드를 사용하여 Word 문서를 저장합니다.

다음 코드 샘플은 Python을 사용하여 Word 문서에 이미지를 삽입하는 방법을 보여줍니다.

import aspose.words as aw

# create document object
doc = aw.Document()

# create a document builder object
builder = aw.DocumentBuilder(doc)

# add image
builder.insert_image("Logo.jpg")

# save document
doc.save("out.docx")

산출

워드 문서 파이썬에서 이미지 만들기

Python을 사용하여 Word 문서에서 목차 만들기

다양한 경우에 Word 문서에는 목차(TOC)가 포함됩니다. TOC는 Word 문서의 내용에 대한 개요를 제공합니다. 다음 단계는 Python을 사용하여 Word 문서에 목차를 추가하는 방법을 보여줍니다.

  • Document 클래스의 객체를 생성합니다.
  • DocumentBuilder 클래스의 개체를 만듭니다.
  • DocumentBuilder.insert\table\of\contents() 메서드를 사용하여 목차를 삽입합니다.
  • DocumentBuilder.insert\break(aw.BreakType.PAGE\BREAK) 메서드를 사용하여 목차 뒤에 페이지 나누기를 삽입합니다.
  • 문서의 내용을 추가/업데이트한 후 Document.update\fields() 메소드를 사용하여 TOC를 업데이트합니다.
  • Document.save() 메서드를 사용하여 Word 문서를 저장합니다.

다음 코드 샘플은 Python을 사용하여 Word 문서에 목차를 삽입하는 방법을 보여줍니다.

import aspose.words as aw

# create document object
doc = aw.Document()

# create a document builder object
builder = aw.DocumentBuilder(doc)

# insert table of contents
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u")

# start the actual document content on the second page
builder.insert_break(aw.BreakType.PAGE_BREAK)

# add content
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 1.1")
builder.writeln("Heading 1.2")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 2")
builder.writeln("Heading 3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING3
builder.writeln("Heading 3.1.1")
builder.writeln("Heading 3.1.2")
builder.writeln("Heading 3.1.3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.2")
builder.writeln("Heading 3.3")

# the newly inserted table of contents will be initially empty
# it needs to be populated by updating the fields in the document
doc.update_fields()

# save document
doc.save("out.docx")

산출

워드 문서 파이썬에서 toc 만들기

Python을 사용한 목차 작업에 대해 자세히 알아보세요.

더 읽기

이 문서에서는 Word 문서를 만들고 다른 요소를 삽입하는 몇 가지 기본 작업에 대해 설명했습니다. Aspose.Words for Python은 문서를 사용하여 탐색할 수 있는 많은 다른 기능을 제공합니다.

무료 API 라이선스 받기

평가 제한 없이 Aspose.Words for Python을 사용하려면 임시 라이선스를 취득할 수 있습니다.

결론

이 기사에서는 Python에서 Word DOCX 또는 DOC 파일을 만드는 방법을 배웠습니다. 또한 Word 문서에 텍스트, 이미지, 표, 목록 및 목차를 동적으로 삽입하는 방법을 살펴보았습니다. API를 사용해 보고 포럼을 통해 피드백이나 쿼리를 공유할 수 있습니다.

또한보십시오

팁: Aspose는 프레젠테이션에서 Word 문서를 빠르게 만들 수 있는 무료 온라인 PowerPoint to Word 변환기를 제공합니다.