Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 Microsoft Word 단락을 만들고 이미지를 삽입하는 방법은 무엇입니까?

<시간/>

소개...

데이터 엔지니어링 전문가이기 때문에 종종 테스터로부터 Microsoft Word로 테스트 결과를 받습니다. 한숨을 쉬다! 그들은 스크린샷과 매우 큰 단락을 캡처하는 것부터 바로 워드 문서에 많은 정보를 넣습니다.

다른 날 테스트 팀에서 도구 생성 텍스트 및 이미지를 삽입하는 프로그램을 도와달라는 요청을 받았습니다(자동 스크린샷으로 촬영. 이 기사에서는 다루지 않음).

MS 워드 문서는 다른 문서와 달리 페이지라는 개념이 없는 것이 아쉽지만 단락 단위로 작동하기 때문에 문서를 적절하게 나누려면 나누기와 섹션을 사용해야 합니다.

그것을 하는 방법..

1. 계속해서 python-docx를 설치합니다.

import docx

# create a new couments
WordDocx = docx.Document()

# My paragraph.
Paragraph = WordDocx.add_paragraph('1. Hello World, Some Sample Text Here...')
run = Paragraph.add_run()

# paragraph with a line break
run.add_break(docx.text.run.WD_BREAK.LINE)

# Add more
Paragraph.add_run('2. I have just written my 2nd line and I can write more..')

# Finally savind the document.
WordDocx.save('My_Amazing_WordDoc.docx')

2.이제 모든 것이 정상인지 여부를 확인합니다. 글쎄, 당신은 프로그래머이므로 우리는 그것을 프로그래밍 방식으로 할 것입니다.

doc = docx.Document('My_Amazing_WordDoc.docx')
print(f"output \n *** Document has {len(doc.paragraphs)} - paragraphs")
for paragraph_number, paragraph in enumerate(doc.paragraphs):
if paragraph.text:
print(f"\n {paragraph.text}")

출력

*** Document has 1 - paragraphs

1. Hello World, Some Sample Text Here...
2. I have just written my 2nd line and I can write more..

3. 이제 문서에 이미지를 추가합니다. 따라서 먼저 이미지를 찾아야 합니다. 저작권 문제가 없는 이미지를 unsplash.com에서 다운로드했습니다. 인터넷에서 다운로드할 때마다 최대한 주의를 기울이십시오.

Unsplash에는 어떤 목적으로든 사용할 수 있는 저작권이 없는 이미지가 있습니다. 그들의 작업에 감사드립니다.

좋습니다. 이미지를 다운로드하고 문서에 추가할 Tree.img라는 이름을 지정했습니다.

import requests
from docx.shared import Cm

# Download the image from Github
response = requests.get("https://raw.githubusercontent.com/sasankac/TestDataSet/master/Tree.jpg")
image = open("Tree.jpg", "wb")
image.write(response.content)
image.close()

# add the image
image_to_add = doc.add_picture("Tree.jpg")
print(f"output \n *** MY Image has width = {image_to_add.width} and Height as - {image_to_add.height}")

출력

*** MY Image has width = 43891200 and Height as - 65836800

4. 내 이미지가 너무 크므로 이미지의 크기를 적절하게 조정해야 합니다. 너비와 높이 매개변수를 사용할 수 있습니다.

image_to_add.width = Cm(10)
image_to_add.height = Cm(10)
print(f" *** My New dimensions Image has width = {image_to_add.width} and Height as - {image_to_add.height}")

# finally save the document
doc.save('report.docx')
를 저장합니다.


*** My New dimensions Image has width = 3600000 and Height as - 3600000

5.문서를 열면 이미지와 텍스트가 추가된 것을 볼 수 있습니다.

6.모든 것을 합친다.

예시

import requests
from docx.shared import Cm

# Download the image from Github
response = requests.get("https://raw.githubusercontent.com/sasankac/TestDataSet/master/Tree.jpg")
image = open("Tree.jpg", "wb")
image.write(response.content)
image.close()

# add the image
image_to_add = doc.add_picture("Tree.jpg")
print(f"output \n *** MY Image has width = {image_to_add.width} and Height as - {image_to_add.height}")

image_to_add.width = Cm(10)
image_to_add.height = Cm(10)
print(f" *** My New dimensions Image has width = {image_to_add.width} and Height as - {image_to_add.height}")

# finally save the document
doc.save('report.docx')
저장

출력

*** MY Image has width = 43891200 and Height as - 65836800
*** My New dimensions Image has width = 3600000 and Height as - 3600000

Python에서 Microsoft Word 단락을 만들고 이미지를 삽입하는 방법은 무엇입니까?