如何使用 pptx python 在同一 table 单元格中使用两种不同的字体样式和字体属性?

How to use two different font style and font properties in the same table cell using pptx python?

我有一个 table,其中一个单元格中有两个单独的文本。

eg.
    -------------
   |  r1  |  r2  |
   |  25  |  32  |
    -------------
   |  s1  |  s2  |
   |  23  |  56  |
    -------------
   |   5734.23   |
    -------------

让我们考虑这是 table,我想更改 r1、r2、s1 和 s2 的字体大小和颜色,它们将是灰色和 8pts 大小,对于它们的值,我想要相同的字体但是不同的颜色黑色或白色和大小将是 9pts,底部单元格将是粗体并且字体大小与所有这 12pts 不同。

我可以为一个单元格输入值并更改字体,但在同一个单元格中我想使用两种不同的字体,字体属性也会不同。谁能帮我解决这个问题?

一个_Cell对象有一个.text_frame属性,就像一个“规则”的几何形状(auto-shape),它的工作原理是一样的,提供参考到 TextFrame 对象。

您可以使用 cell.text_frame.paragraphs 访问单元格中的段落,对 TextFrame 对象调用 .add_paragraph(),并向段落添加具有不同字符格式的运行。

是否制作这些不同的段落或不同的运行取决于您,但这是基本的想法。请注意,freshly-created table 中的每个单元格都包含一个没有运行的段落。

例如:

cell = table.cell(0, 0)
text_frame = cell.text_frame
paragraph = text_frame.paragraphs[0]

run = paragraph.add_run()
run.text = "r1"
run.bold = True

run_2 = paragraph.add_run()
run.text = "25"
run.italic = True

你不需要把每一步都单独写成一行;例如,您可以这样做以获得段落:

paragraph = table.cell(0, 0).text_frame.paragraphs[0]

我只是在这里详细说明步骤,以便您更清楚地看到每个步骤。您可以根据需要将它们组合成行。