首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Borb对齐表格单元格中的文本

如何使用Borb对齐表格单元格中的文本
EN

Stack Overflow用户
提问于 2022-11-03 15:17:06
回答 1查看 39关注 0票数 0

我正在使用borb创建PDF文档,并尝试在表格单元格中对齐文本。

代码语言:javascript
运行
复制
from borb.pdf import Document
from borb.pdf import Page
from borb.pdf import SingleColumnLayout
from borb.pdf import Paragraph
from borb.pdf import PDF
from borb.pdf import Alignment
from borb.pdf import TableCell
from borb.pdf import FlexibleColumnWidthTable
from borb.pdf import Table

pdf = Document()
page = Page()
pdf.add_page(page)
layout = SingleColumnLayout(page)


layout.add(
    FixedColumnWidthTable(number_of_columns=1, number_of_rows=1)

    .add(Paragraph(
            """
            Report generated on 2022-01-01 at 00:00 am (UTC)
            Date: 01 Jan
            """,
            text_alignment=Alignment.RIGHT,
            padding_top=Decimal(12),
            respect_newlines_in_text=True,
            font_size=Decimal(10))))


with open(Path("output.pdf"), "wb") as pdf_file_handle:
    PDF.dumps(pdf_file_handle, pdf)

但是文本不是对齐到最右边的,而是与单元格的中间对齐(检查图像)。您知道如何将文本与表的最右边边框对齐吗?

EN

回答 1

Stack Overflow用户

发布于 2022-11-08 11:47:56

免责声明:我是borb的作者

您正在体验LayoutElementLayoutElement和所述元素的text_alignment之间的区别。

在包含文本的LayoutElement上执行布局时,逻辑大致如下:

  1. 这篇文章有多宽?这将是这个LayoutElement的宽度。这个步骤考虑到可能的溢出,将文本移动到下一行,等等,既然我们已经确定了text_alignment

的宽度(和高度),那么就考虑到

您的文本大约适合一半的Page,所以您的Paragraph的内容框是“大约一半的页面”。如果然后应用text_alignment,它实际上不会做很多事情。

我建议您简单地将horizontal_alignment设置为Alignment.RIGHT。这将产生以下PDF:

我还想知道为什么要使用Table来执行布局。这似乎是糟糕的文档设计。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74305426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档