Hướng dẫn python-docx table margin - lề bảng python-docx

Tôi cần nhanh chóng thay đổi lề của nhiều tài liệu DOCX. Tôi đã kiểm tra Python-docx và tôi không tìm thấy cách truy cập/sửa đổi bố cục trang (đặc biệt là các bên lề). Là có một cách?

Đã hỏi ngày 2 tháng 10 năm 2015 lúc 19:36Oct 2, 2015 at 19:36

2

Cảm ơn @tdelaney đã chỉ ra trang nơi nó chỉ ra rõ ràng giải pháp. Tôi chỉ đang đăng ở đây mã tôi đã sử dụng trong trường hợp bất kỳ ai khác bị nhầm lẫn vì tôi ban đầu là:

#Open the document
document = Document(args.inputFile)

#changing the page margins
sections = document.sections
for section in sections:
    section.top_margin = Cm(margin)
    section.bottom_margin = Cm(margin)
    section.left_margin = Cm(margin)
    section.right_margin = Cm(margin)

document.save(args.outputFile)

Đã trả lời ngày 2 tháng 10 năm 2015 lúc 21:55Oct 2, 2015 at 21:55

XangueraxangueraXAnguera

1.1071 Huy hiệu vàng11 Huy hiệu bạc23 Huy hiệu đồng1 gold badge11 silver badges23 bronze badges

4

import docx
from docx.shared import Inches, Cm
doc = docx.Document()
sections = doc.sections
for section in sections:
    section.top_margin = Cm(0.5)
    section.bottom_margin = Cm(0.5)
    section.left_margin = Cm(1)
    section.right_margin = Cm(1)

Đây là mã mà tôi đã sử dụng, vui lòng bao gồm từ docx.shared nhập inch, cmfrom docx.shared import Inches, Cm

Đã trả lời ngày 17 tháng 6 năm 2020 lúc 13:50Jun 17, 2020 at 13:50

Hướng dẫn python-docx table margin - lề bảng python-docx

Simon Björk

unread,

Ngày 9 tháng 4 năm 2015, 4:50:22 AM4/9/154/9/15

đến

Hello,

Tôi có một tài liệu đơn giản trong đó tôi thêm một chút văn bản ở đầu trang và sau đó thêm một bảng. Tất cả điều này hoạt động tuyệt vời, ngoại trừ sự liên kết với lề trang. Tôi muốn văn bản ở trên cùng được căn chỉnh theo chiều dọc với đường viền của bảng. Như bây giờ, văn bản ở trên cùng được căn chỉnh với văn bản trong bảng, nhưng người nội trú thực tế của bảng nằm xa hơn một chút về bên trái. Điều này có thể?

Mã ví dụ:

from docx import Document
from docx.shared import Cm

document

= Document()

document

.add_paragraph().add_run("temp text")

table

= document.add_table(rows=4, cols=4)
table
.style = 'TableGrid'
table
.rows[0].cells[0].paragraphs[0].add_run("more text")

section

= document.sections[0]
section
.left_margin = Cm(1.25)
section
.top_margin = Cm(1.0)

document

.save("tmp.docx")

Simon Björk

unread,

Ngày 9 tháng 4 năm 2015, 4:50:22 AM4/9/154/9/15

đến

Tôi có một tài liệu đơn giản trong đó tôi thêm một chút văn bản ở đầu trang và sau đó thêm một bảng. Tất cả điều này hoạt động tuyệt vời, ngoại trừ sự liên kết với lề trang. Tôi muốn văn bản ở trên cùng được căn chỉnh theo chiều dọc với đường viền của bảng. Như bây giờ, văn bản ở trên cùng được căn chỉnh với văn bản trong bảng, nhưng người nội trú thực tế của bảng nằm xa hơn một chút về bên trái. Điều này có thể?

/usr/local/lib/python2.7/site-packages/docx/styles/styles.py:54: UserWarning: style lookup by style_id is deprecated. Use style name as key instead.
  warn
(msg, UserWarning)

Mã ví dụ:

unread,

Ngày 9 tháng 4 năm 2015, 4:55:31 AM4/9/154/9/15

đến

Tôi có một tài liệu đơn giản trong đó tôi thêm một chút văn bản ở đầu trang và sau đó thêm một bảng. Tất cả điều này hoạt động tuyệt vời, ngoại trừ sự liên kết với lề trang. Tôi muốn văn bản ở trên cùng được căn chỉnh theo chiều dọc với đường viền của bảng. Như bây giờ, văn bản ở trên cùng được căn chỉnh với văn bản trong bảng, nhưng người nội trú thực tế của bảng nằm xa hơn một chút về bên trái. Điều này có thể?

--Steve

Simon Björk

unread,

Ngày 9 tháng 4 năm 2015, 4:50:22 AM4/9/154/9/15

đến

table = document.add_table(rows=4, cols=4)
table
.style = 'TableGrid'

Mã ví dụ:

unread,

Ngày 9 tháng 4 năm 2015, 4:55:31 AM4/9/154/10/15

đến

Tôi có một tài liệu đơn giản trong đó tôi thêm một chút văn bản ở đầu trang và sau đó thêm một bảng. Tất cả điều này hoạt động tuyệt vời, ngoại trừ sự liên kết với lề trang. Tôi muốn văn bản ở trên cùng được căn chỉnh theo chiều dọc với đường viền của bảng. Như bây giờ, văn bản ở trên cùng được căn chỉnh với văn bản trong bảng, nhưng người nội trú thực tế của bảng nằm xa hơn một chút về bên trái. Điều này có thể?

Mã ví dụ:

Ngày 9 tháng 4 năm 2015, 4:55:31 AM4/9/15

Nhân tiện, tôi gặp lỗi khi thêm kiểu vào bảng. Điều này có được mong đợi không?

Steve Canny

--Steve

Simon Björk

unread,

Ngày 9 tháng 4 năm 2015, 4:50:22 AM4/9/154/10/15

đến

Tôi có một tài liệu đơn giản trong đó tôi thêm một chút văn bản ở đầu trang và sau đó thêm một bảng. Tất cả điều này hoạt động tuyệt vời, ngoại trừ sự liên kết với lề trang. Tôi muốn văn bản ở trên cùng được căn chỉnh theo chiều dọc với đường viền của bảng. Như bây giờ, văn bản ở trên cùng được căn chỉnh với văn bản trong bảng, nhưng người nội trú thực tế của bảng nằm xa hơn một chút về bên trái. Điều này có thể?

Mã ví dụ:

Mã ví dụ:

unread,

Ngày 9 tháng 4 năm 2015, 4:55:31 AM4/9/154/22/15

đến

Tôi có một tài liệu đơn giản trong đó tôi thêm một chút văn bản ở đầu trang và sau đó thêm một bảng. Tất cả điều này hoạt động tuyệt vời, ngoại trừ sự liên kết với lề trang. Tôi muốn văn bản ở trên cùng được căn chỉnh theo chiều dọc với đường viền của bảng. Như bây giờ, văn bản ở trên cùng được căn chỉnh với văn bản trong bảng, nhưng người nội trú thực tế của bảng nằm xa hơn một chút về bên trái. Điều này có thể?

Mã ví dụ:

--Steve