Làm cách nào để tạo docx trong python?

Hướng dẫn này sẽ hướng dẫn cách tự động hóa tài liệu Word bằng cách sử dụng python-docx và gửi email bằng thư viện win32com. Hãy tưởng tượng rằng chúng ta có một danh sách thông tin khách hàng được lưu trữ bên trong tệp Excel (hoặc cơ sở dữ liệu). Quá trình trông giống như sau

  • Tự động tạo hóa đơn trong MS Word cho từng khách hàng
  • Chuyển đổi tài liệu Word sang định dạng PDF
  • Gửi (sử dụng Ứng dụng MS Outlook) hóa đơn PDF cho khách hàng bằng tin nhắn chúc mừng tùy chỉnh

Thư viện cần thiết

Chúng tôi sẽ cần ba thư viện cho dự án này. Chúng tôi sử dụng pandas để đọc dữ liệu từ tệp Excel, nhưng thư viện pandas không phải là thứ bắt buộc phải có nếu dữ liệu của bạn ở nơi khác hoặc nếu bạn muốn trích xuất dữ liệu khách hàng theo cách khác

python-docx để tự động hóa. docx (e. g. Tệp MS Word, tài liệu Google, v.v.)

pip install python-docx

import docx
2 để tương tác với Windows API

pip install pandas python-docx pywin32

Tự động hóa tài liệu Word bằng python-docx

Thư viện bạn sẽ nghe là

pip install python-docx

import docx
3;

Vì vậy, lưu ý sự khác biệt sau

pip install python-docx

import docx

Kể từ khi thư viện

pip install python-docx

import docx
3 tạo ra. docx, bạn không cần phải sử dụng MS Word. Cả Google Docs và LibreOffice đều là những lựa chọn thay thế miễn phí hỗ trợ. docx và chúng tốt như bộ MS Office

Để tạo ra một. docx, trước tiên chúng ta cần tạo một đối tượng

pip install python-docx

import docx
6. Sau đó, bên trong đối tượng
pip install python-docx

import docx
7, chúng ta có thể thêm các thành phần khác nhau như tiêu đề, đoạn văn, hình ảnh, v.v. Trong đoạn mã dưới đây, đối tượng
pip install python-docx

import docx
8 được sử dụng để xác định kích thước của một phần tử, e. g. một bức tranh

________số 8_______

Đối tượng pip install python-docx import docx9

Đối tượng

pip install python-docx

import docx
9 đại diện cho bất kỳ văn bản nào – nó có thể là một chữ cái, một từ, một câu hoặc một đoạn văn đầy đủ. Trực quan, mỗi ô màu đỏ trong hình bên dưới đại diện cho một
pip install python-docx

import docx
9 riêng biệt. Chúng ta sử dụng
from docx import Document
from docx.shared import Inches

document = Document()
document.add_picture('brand_logo.png', width = Inches(1))
document.add_heading('Invoice', 0)
2 để bắt đầu một câu/đoạn văn mới “This is a”. Sau đó, chúng ta có thể tiếp tục thêm
from docx import Document
from docx.shared import Inches

document = Document()
document.add_picture('brand_logo.png', width = Inches(1))
document.add_heading('Invoice', 0)
3 mới vào đối tượng
from docx import Document
from docx.shared import Inches

document = Document()
document.add_picture('brand_logo.png', width = Inches(1))
document.add_heading('Invoice', 0)
4 hiện có

Làm cách nào để tạo docx trong python?

Khi chúng tôi thêm một

pip install python-docx

import docx
9, chúng tôi cũng có thể sửa đổi các thuộc tính của nó như phông chữ, kích thước, màu sắc, v.v.

Đoạn mã sau sẽ tạo câu trên với các kiểu được hiển thị

from docx import Document
from docx.shared import Pt, RGBColor

document = Document()
p1 = document.add_paragraph('This is a ')
p1.add_run('MS WORD ').bold = True
p1.add_run('document ')
eg = p1.add_run('example')
eg.font.size = Pt(20)
eg.font.color.rgb = RGBColor(0,128,0)

Tạo hóa đơn

Dữ liệu mẫu của chúng tôi bên trong Excel trông giống như sau

Làm cách nào để tạo docx trong python?

Tất nhiên, chúng tôi không muốn gửi đến địa chỉ email thực của những người này, vì vậy tôi đang sử dụng địa chỉ email thử nghiệm của riêng mình

Về cơ bản, đây là dữ liệu bán hàng của công ty chúng tôi, chẳng hạn, bản ghi đầu tiên có nghĩa là. Chúng tôi đã bán 10 đơn vị tên lửa Falcon 9 cho Elon Musk với đơn giá 1 triệu USD. Hãy tạo hóa đơn cho từng khách hàng 🙂

Vì đây là một phần của quy trình được sắp xếp hợp lý, nên chúng tôi sẽ viết một hàm chỉ thực hiện một việc tại một thời điểm. Bước đầu tiên là tạo hóa đơn trong. định dạng docx. Hàm này sẽ nhận các đối số sau. tên khách hàng, email, sản phẩm được bán cho họ, số lượng đơn vị và đơn giá

Trong đoạn mã dưới đây

  • dòng 6 chèn tên khách hàng
  • dòng 10 chèn số đơn vị
  • dòng 12 chèn tên sản phẩm
  • dòng 15 sử dụng cách hiểu danh sách để thêm hai dòng trống
  • dòng 17 – 30 tạo bảng tổng hợp hóa đơn
  • dòng 38 lưu tài liệu với tên khách hàng
Làm cách nào để tạo docx trong python?

Hãy kiểm tra chức năng, có vẻ tốt

make_client_invoice('Elon Musk', '[email protected]','Falcon 9',10, 1000000)

Làm cách nào để tạo docx trong python?
Python tạo MS Word. tập tin docx

Chuyển đổi tài liệu MS Word sang định dạng PDF

Bây giờ chúng tôi có hóa đơn trong Word, hãy chuyển đổi nó thành PDF vì đó là định dạng chuẩn cho các tài liệu kinh doanh

Chúng tôi sẽ sử dụng thư viện

pip install python-docx

import docx
2/win32com, thư viện này cũng có cách đặt tên lạ giữa tên cài đặt và tên thư viện. Lưu ý sự khác biệt dưới đây

pip install pywin32

import win32com.client

win32com là một thư viện tuyệt vời cho phép chúng ta kiểm soát rất nhiều thứ trong hệ điều hành Windows. Ví dụ, nó có thể kiểm soát Bộ ứng dụng Office

Để chuyển đổi Word (. docx) sang định dạng PDF, về cơ bản, chúng tôi mở tài liệu bằng cách sử dụng win32com, sau đó Lưu dưới dạng định dạng PDF. Dễ như ăn bánh

Mã bên dưới lấy đường dẫn tệp đầu vào

from docx import Document
from docx.shared import Pt, RGBColor

document = Document()
p1 = document.add_paragraph('This is a ')
p1.add_run('MS WORD ').bold = True
p1.add_run('document ')
eg = p1.add_run('example')
eg.font.size = Pt(20)
eg.font.color.rgb = RGBColor(0,128,0)
0, sau đó chuyển đổi và lưu pdf thành đường dẫn tệp
from docx import Document
from docx.shared import Pt, RGBColor

document = Document()
p1 = document.add_paragraph('This is a ')
p1.add_run('MS WORD ').bold = True
p1.add_run('document ')
eg = p1.add_run('example')
eg.font.size = Pt(20)
eg.font.color.rgb = RGBColor(0,128,0)
1

from docx import Document
from docx.shared import Pt, RGBColor

document = Document()
p1 = document.add_paragraph('This is a ')
p1.add_run('MS WORD ').bold = True
p1.add_run('document ')
eg = p1.add_run('example')
eg.font.size = Pt(20)
eg.font.color.rgb = RGBColor(0,128,0)
2 sẽ tạo một thể hiện/đối tượng MS Word bên trong Python. Thay thế Word bằng Excel, sau đó bạn sẽ có một phiên bản Excel

from docx import Document
from docx.shared import Pt, RGBColor

document = Document()
p1 = document.add_paragraph('This is a ')
p1.add_run('MS WORD ').bold = True
p1.add_run('document ')
eg = p1.add_run('example')
eg.font.size = Pt(20)
eg.font.color.rgb = RGBColor(0,128,0)
3 có thể là một quy ước được sử dụng bởi VBA, hãy kiểm tra danh sách này trên các tùy chọn loại tệp khác mà chúng tôi có thể lưu vào

Làm cách nào để tạo docx trong python?

Tự động gửi email bằng ứng dụng Outlook

Tiếp theo, chúng tôi sẽ gửi hóa đơn cho khách hàng của chúng tôi. win32com một lần nữa là người trợ giúp của chúng tôi để tương tác với Ứng dụng Outlook. Lưu ý – không phải Outlook dựa trên web mà là ứng dụng thực được cài đặt trên máy tính của chúng tôi. Bước này yêu cầu bạn đã cài đặt Office (đặc biệt là Outlook) trên máy tính của mình và đăng nhập vào tài khoản Outlook. Tên người dùng và mật khẩu không bắt buộc miễn là Ứng dụng Outlook của bạn vẫn đăng nhập

Làm cách nào để tạo docx trong python?

Trong đoạn code trên, dòng 3 CreateItem(0) có nghĩa là tạo một đối tượng Mail. Xem bảng bên dưới về các đối tượng khả thi khác mà chúng tôi có thể tạo bên trong Outlook

Làm cách nào để tạo docx trong python?

Để thêm tệp đính kèm, chỉ cần chuyển vào vị trí tệp tương tự như dòng 8

Có vẻ như chúng tôi thậm chí không cần mở Ứng dụng Outlook để gửi email bằng Python. Miễn là trước đó chúng tôi đã đăng nhập vào Ứng dụng Outlook của mình, bạn có thể sử dụng. Phần tốt nhất - không yêu cầu thông tin đăng nhập hoặc mật khẩu, win32com sẽ chỉ tương tác với Outlook bằng các cài đặt hiện có của bạn

Đặt nó lại với nhau

Bây giờ tôi cung cấp ba chức năng cho ba bước của hệ thống hóa đơn. Đến lượt bạn để thử đặt nó lại với nhau. Bạn có thể sử dụng vòng lặp để gửi từng hóa đơn hoặc xây dựng chúng với các quy trình khác. Vui thích

Tài liệu docx trong Python là gì?

python-docx là thư viện Python để tạo và cập nhật Microsoft Word (. docx) tệp .

Tệp docx được tạo như thế nào?

Tệp DOCX là tài liệu được tạo bởi Microsoft Word hoặc được xuất bởi một chương trình xử lý văn bản khác, chẳng hạn như OpenOffice Writer hoặc Apple Pages.

Làm cách nào để tạo tài liệu bằng Python?

Cách tạo tệp bằng Python. Trong Python, bạn sử dụng hàm open() với một trong các tùy chọn sau – "x" hoặc "w" – để tạo tệp mới . "x" – Tạo. lệnh này sẽ tạo một tệp mới khi và chỉ khi không có tệp nào tồn tại với tên đó, nếu không nó sẽ trả về lỗi.

Làm thế nào để Python

python-docx cho phép bạn tạo tài liệu mới cũng như thay đổi tài liệu hiện có . Trên thực tế, nó chỉ cho phép bạn thay đổi các tài liệu hiện có; .