标签: python-docx

如何使用python-docx设置单元格边框

我需要使用python-docx在表格中设置单元格边框,但找不到如何操作.请帮忙.

python docx python-docx

9
推荐指数
3
解决办法
1万
查看次数

使用python-docx在MS word中以特定字体颜色写入文本

我正在尝试使用python库python-docx在MS Word文件中编写文本.我已经在这个链接上浏览了python-docx字体颜色的文档并在我的代码中应用了相同的内容,但到目前为止还没有成功.

这是我的代码:

from docx import Document
from docx.shared import RGBColor
document = Document()
run = document.add_paragraph('some text').add_run()
font = run.font
font.color.rgb = RGBColor(0x42, 0x24, 0xE9)
p=document.add_paragraph('aaa')
document.save('demo1.docx')
Run Code Online (Sandbox Code Playgroud)

word文件'demo.docx'中的文字只是黑色.

我无法弄明白,帮助将不胜感激.

python python-docx

9
推荐指数
1
解决办法
5522
查看次数

使用python-docx创建页眉和页脚

是否有在Microsoft Word(docx)文件中添加页眉和页脚的解决方法?

提供的头实现python-docx仍在开发中.

更具体地说,我想补充一下:

  1. 页脚到页脚
  2. 一些随机文本到标题

理想的代码如下所示:

from docx import Document

document = Document()

# Add header and footer on all pages

document.save("demo.docx")
Run Code Online (Sandbox Code Playgroud)

python header footer python-3.x python-docx

9
推荐指数
2
解决办法
4380
查看次数

使用Python-Docx获取docx文件中列表项的列表编号

当我访问段落文本时,它不包括列表中的编号。

当前代码:

document = Document("C:/Foo.docx")
for p in document.paragraphs:
     print(p.text)
Run Code Online (Sandbox Code Playgroud)

docx 文件中的列表:

编号列表

我期待:
(1) 两者的入籍 ...
(2) ... 的入籍
(3) ... 的入籍

我得到的结果:
两者的归化...
的归化...
的归化...

检查文档的 XML 后,列表编号存储在 w:abstructNum 中,但我不知道如何访问它们或将它们连接到正确的列表项。如何访问 python-docx 中每个列表项的编号,以便将它们包含在我的输出中?有没有办法使用 python-docx 确定这些列表的正确嵌套?

python ms-word python-3.x python-docx

9
推荐指数
1
解决办法
5929
查看次数

Python Docx回车

Python Docx是一个非常好的库,用于为不直接处理所有COM内容的东西生成Microsoft Word文档.尽管如此,我遇到了一些限制.

  • 有没有人知道怎么会在一串文字中放回车?

我想要一个段落有多行,而它们之间没有额外的空格.但是,写出一个用通常的线分隔线的字符串\n是行不通的.也没有使用&#10&#13.还有其他任何想法,或者这个框架对于类似的东西来说太有限了?

python python-docx

8
推荐指数
2
解决办法
6442
查看次数

如何迭代python-docx文档中的所有内容?

python-docx用于将Word docx转换为自定义HTML等效项.我需要转换的文档有图像和表格,但我无法弄清楚如何访问给定运行中的图像和表格.这就是我的想法......

for para in doc.paragraphs:
    for run in para.runs:
        # How to tell if this run has images or tables?
Run Code Online (Sandbox Code Playgroud)

...但我没有看到Run有关于InlineShape或有信息的任何内容Table.我是否必须直接回退到XML,或者是否有更好,更清晰的方法来迭代文档中的所有内容?

谢谢!

python python-docx

8
推荐指数
1
解决办法
7160
查看次数

Python docx在保留样式的同时替换段落中的字符串

我需要帮助替换word文档中的字符串,同时保持整个文档的格式.

我正在使用python-docx,在阅读文档之后,它适用于整个段落,所以我放松了格式,如粗体或斜体字.包括要替换的文本是粗体,我想保持这种方式.我正在使用此代码:

from docx import Document
def replace_string2(filename):
    doc = Document(filename)
    for p in doc.paragraphs:
        if 'Text to find and replace' in p.text:
            print 'SEARCH FOUND!!'
            text = p.text.replace('Text to find and replace', 'new text')
            style = p.style
            p.text = text
            p.style = style
    # doc.save(filename)
    doc.save('test.docx')
    return 1
Run Code Online (Sandbox Code Playgroud)

因此,如果我实现它并想要类似的东西(包含要替换的字符串的段落丢失其格式):

这是第1段,这是一个粗体文本.

这是第2段,我将替换旧文本

目前的结果是:

这是第1段,这是一个粗体文本.

这是第2段,我将替换新的文本

python python-2.7 python-docx

8
推荐指数
3
解决办法
1万
查看次数

页码python-docx

我试图在python中创建一个程序,可以在.docx文件中找到特定的单词并返回它发生的页码.到目前为止,在查看python-docx文档时,我一直无法找到如何访问页码或甚至是数字所在的页脚.有没有办法使用python-docx或甚至只是python?或者如果没有,最好的方法是什么?

python docx python-docx

8
推荐指数
1
解决办法
4702
查看次数

文本框中的 Python docx 段落

有没有办法访问和操作文本框中现有 docx 文档中的文本python-docx

我试图通过迭代在文档的所有段落中找到一个关键字:

doc = Document('test.docx')

for paragraph in doc.paragraphs:
    if '<DATE>' in paragraph.text:
        print('found date: ', paragraph.text)
Run Code Online (Sandbox Code Playgroud)

如果放置在普通文本中,但不在文本框中,则可以找到它。

python python-docx

8
推荐指数
2
解决办法
6223
查看次数

jinja + form + unicode控制字符+ xml/docx集成

我正在根据表单中的用户输入创建word文档.但是,当用户输入一个unicode控制字符,并尝试使用python-docx包创建一个word文件时,会发生以下错误:

File "src\lxml\apihelpers.pxi", line 1439, in lxml.etree._utf8
ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control characters
Run Code Online (Sandbox Code Playgroud)

我设法通过在每个请求之前检查表单中的无效xml字符来解决此问题(我有许多表单可能会出现此问题),并从字段中删除任何无效的xml字符.然后我创建一个新的不可变多字典,并用清理后的文本填充它.

from docx import Document
from docx.shared import Inches
from flask import Flask, render_template_string, request
from werkzeug.datastructures import ImmutableMultiDict

def valid_xml_char_ordinal(c):
    codepoint = ord(c)
    return (0x20 <= codepoint <= 0xD7FF or codepoint in (0x9, 0xA, 0xD) or
            0xE000 <= codepoint <= 0xFFFD or 0x10000 <= codepoint <= 0x10FFFF)

app = Flask(__name__)

@app.before_request
def before_request():
    if 'check_form_xml_validity' in …
Run Code Online (Sandbox Code Playgroud)

python lxml jinja2 flask python-docx

8
推荐指数
1
解决办法
270
查看次数

标签 统计

python ×10

python-docx ×10

docx ×2

python-3.x ×2

flask ×1

footer ×1

header ×1

jinja2 ×1

lxml ×1

ms-word ×1

python-2.7 ×1