Python ReportLab 使用 splitfirst/splitlast

2024-01-22

我正在尝试使用 Python 和 ReportLab 2.2 来创建 PDF 报告。
根据用户指南 http://www.reportlab.com/docs/userguide.pdf,

特殊 TableStyle 索引 [原文如此]

在任何样式命令中,第一行索引可以设置为特殊字符串“splitlast”或“splitfirst”之一,以指示该样式应仅用于拆分表的最后一行或延续的第一行。这允许分割表,并在分割周围产生更好的效果。

我尝试过使用多种样式元素,包括:

('TEXTCOLOR', (0, 'splitfirst'), (1, 'splitfirst'), colors.black) 
('TEXTCOLOR', (0, 'splitfirst'), (1, 0), colors.black) 
('TEXTCOLOR', (0, 'splitfirst'), (1, -1), colors.black) 

这些似乎都不起作用。第一个生成一个 TypeError 并显示以下消息:

TypeError: cannot concatenate 'str' and 'int' objects

后两者会生成 TypeErrors 并显示以下消息:

TypeError: an integer is required

这个功能只是被破坏了还是我做错了什么?如果是后者,我做错了什么?


好吧,看来我要回答我自己的问题了。

首先,文档明确指出“在任何样式命令中,第一行索引可以设置为特殊字符串“splitlast”或“splitfirst”之一,以指示该样式应仅用于最后一行分割表,或延续的第一行。”在当前版本中,“splitlast”和“splitfirst”行索引因前面提到的 TEXTCOLOR 和 BACKGROUND 命令上的 TypeError 而中断。

根据阅读源代码,我怀疑目前只有 tablestyle 行命令(GRID、BOX、LINEABOVE 和 LINEBELOW)与“splitfirst”和“splitlast”行索引兼容。我怀疑所有单元格命令都会因上述类型错误而中断。

但是,我可以通过子类化 Table 类并重写 onSplit 方法来完成我想要的操作。这是我的代码:

class XTable(Table):
    def onSplit(self, T, byRow=1):
        T.setStyle(TableStyle([
          ('TEXTCOLOR', (0, 1), (1, 1), colors.black)]))

其作用是将文本颜色黑色应用于每页第二行的第一个和第二个单元格。 (第一行是标题,由表的 RepeatRows 参数重复。)更准确地说,它对每个框架的第一个和第二个单元格执行此操作,但由于我使用的是 SimpleDocTemplate,因此框架和页面是相同的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python ReportLab 使用 splitfirst/splitlast 的相关文章

  • Google App Engine queue.yaml 无法在开发服务器中工作

    我无法让 dev appserver py 识别我使用queue yaml 创建的自定义队列 他们没有出现在http localhost 8000 taskqueue http localhost 8000 taskqueue 当我尝试向其
  • 如何检查python xlrd库中的excel文件是否有效

    有什么办法与xlrd库来检查您使用的文件是否是有效的 Excel 文件 我知道还有其他库可以检查文件头 我可以使用文件扩展名检查 但为了多平台性我想知道是否有任何我可以使用的功能xlrd库本身在尝试打开文件时可能会返回类似 false 的内
  • Kivy - 有所有颜色名称的列表吗?

    在 Kivy 中 小部件 color属性允许输入其值作为字符串颜色名称 也 例如在 kv file Label color red 是否有所有可能的颜色名称的列表 就在这里 来自Kivy 的文档 https kivy org doc sta
  • 检查 Python 中的可迭代对象中的所有元素的谓词是否计算为 true

    我很确定有一个常见的习语 但我无法通过谷歌搜索找到它 这是我想做的 用Java Applies the predicate to all elements of the iterable and returns true if all ev
  • 删除 Django 1.7 中的应用程序(和关联的数据库表)

    是否可以使用 Django 1 7 迁移来完全删除 卸载应用程序及其所有跟踪 主要是其所有数据库表 如果没有 在 Django 1 7 中执行此操作的适当方法是什么 python manage py migrate
  • 如何在Python中同时运行两只乌龟?

    我试图让两只乌龟一起移动 而不是一只接着另一只移动 例如 a turtle Turtle b turtle Turtle a forward 100 b forward 100 但这只能让他们一前一后地移动 有没有办法让它们同时移动 有没有
  • pyspark 数据框中的自定义排序

    是否有推荐的方法在 pyspark 中实现分类数据的自定义排序 我理想地寻找 pandas 分类数据类型提供的功能 因此 给定一个数据集Speed列 可能的选项是 Super Fast Fast Medium Slow 我想实现适合上下文的
  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • 搜索多个字段

    我想我没有正确理解 django haystack 我有一个包含多个字段的数据模型 我希望搜索其中两个字段 class UserProfile models Model user models ForeignKey User unique
  • 一段时间后终止线程的最 Pythonic 方法

    我想在线程中运行一个进程 它正在迭代一个大型数据库表 当线程运行时 我只想让程序等待 如果该线程花费的时间超过 30 秒 我想终止该线程并执行其他操作 通过终止线程 我的意思是我希望它停止活动并优雅地释放资源 我认为最好的方法是通过Thre
  • Gspread如何复制sheet

    在 Stackoverflow 上进行谷歌搜索和搜索后 我想我找不到有关如何复制现有工作表 现有模板工作表 并将其保存到另一个工作表中的指南 根据文档 有重复表 https gspread readthedocs io en latest
  • Django send_mail SMTPSenderRefused 530 与 gmail

    一段时间以来 我一直在尝试使用 Django 从我正在开发的网站接收电子邮件 现在 我还没有部署它 并且我正在使用Django开发服务器 我不知道这是否会影响它 这是我的 settings py 配置 EMAIL BACKEND djang
  • .pyx 文件出现未知文件类型错误

    我正在尝试构建一个包含 pyx 文件的 Python 包 pyregion 但在构建过程中出现错误 检查以下输出 python setup py build running build running build py creating b
  • SMTP_SSL SSLError: [SSL: UNKNOWN_PROTOCOL] 未知协议 (_ssl.c:590)

    此问题与 smtplib 的 SMTP SSL 连接有关 当与 SMTP 无 ssl 连接时 它正在工作 在 SMTP SSL 中尝试相同的主机和端口时 出现错误 该错误仅基于主机 gmail 设置也工作正常 请检查下面的示例 如果 Out
  • 用 python 编写的数学语法检查器

    我需要的只是使用 python 检查字符串是否是有效的数学表达式 为了简单起见 假设我只需要 运算符 也作为一元 带有数字和嵌套括号 为了完整性 我还添加了简单的变量名称 所以我可以这样测试 test 3 2 1 valid test 3
  • 使用 Keras np_utils.to_categorical 的问题

    我正在尝试将整数的 one hot 向量数组制作为 keras 将能够使用的 one hot 向量数组来拟合我的模型 这是代码的相关部分 Y train np hstack np asarray dataframe output vecto
  • 当数据库不是 Django 模型时,是否可以使用数据库中的表?

    是否可以从应用程序数据库中的表获取查询集 该表不是应用程序中的模型 如果我有一个不是名为 cartable 的模型的表 从概念上讲 我想这样做 myqueryset cartable objects all 有没有相对简单的方法来做到这一点
  • Django Admin 中的反向内联

    我有以下 2 个型号 现在我需要将模型 A 内联到模型 B 的页面上 模型 py class A models Model name models CharField max length 50 class B models Model n
  • 混淆矩阵不支持多标签指示符

    multilabel indicator is not supported是我在尝试运行时收到的错误消息 confusion matrix y test predictions y test is a DataFrame其形状为 Horse
  • 如何为不同操作系统/Python 版本编译 Python C/C++ 扩展?

    我注意到一些成熟的Python库已经为大多数架构 Win32 Win amd64 MacOS 和Python版本提供了预编译版本 针对不同环境交叉编译扩展的标准方法是什么 葡萄酒 虚拟机 众包 我们使用虚拟机和Hudson http hud

随机推荐

  • iOS:以编程方式创建 UIWindow 导致位置错误

    在 iOS 5 1 1 中 我发现如果我创建 UIWindow 我厌倦了 IB 并将其框架设置为 UIScreen mainScreen bounds 则窗口会显示状态栏下 然而 如果我在 iOS 6 上做同样的事情 它就会出现在状态栏正下
  • Json 对象数组长度

    我正在使用一些类似于以下内容的 Json Apps Name app1 id 1 groups id 1 name test group 1 desc this is a test group id 2 name test group 2
  • 将 DVCS 与 Visual Source Safe 相结合

    我在工作中被迫使用 Visual Source Safe 2005 我想将其与 DVCS 结合起来 这样我就可以在本地签入文件 而不会在出现错误或无法编译时打扰我的同事 在我对 Mercurial 的尝试中 它有效 但会导致一些奇怪的问题
  • Azure 角色间同步

    我想知道同步运行相同角色的多个 azure 实例的最佳实践 更准确地说 我想防止多个工作角色在同一工作单元上工作 Azure 队列似乎对这个问题没有帮助 一种选择是使用带有锁和存储过程的 sql 表 但是在Azure中使用sql同步似乎有点
  • 酒庄类型的索引在哪里?

    我想构建一个备用的 Winery 模式解码器 所以我查看了一些编码模式 Codec Winery gt B unpack serialiseSchema schema Proxy Proxy Void 4 5 0 Codec Winery
  • 在 Elasticsearch 中建模父/子关系(产品/产品变体)

    使用 ES 或 Solr 对产品变体进行建模让我大吃一惊 考虑 人为的例子 不同的产品 例如 T 恤 每个产品都有一组属性 productid name desc brand color popularity 每个产品都有一组具有属性的产品
  • 为什么我们不能有静态外部类[重复]

    这个问题在这里已经有答案了 为什么我们不能创建外部的静态类 我在这个社区中阅读了该问题的答案 但还没有得到完美的答案 有人可以帮我一个确切的答案吗 static class A void display System out println
  • Excel 文件格式无法用 Pandas 确定,随机发生

    我有一个编辑 xlsx 文件的脚本 一年半以来我每周都成功运行 直到上周开始出现此错误 Excel file format cannot be determined you must specify an engine manually d
  • Excel VBA查询外部.aspx页面并检索数据

    我已经为此苦苦挣扎了大约一天 基本上 我想编写一个 Excel 宏来循环遍历 Excel 中的列表 查询网页并检索一些数据 理想情况下 我只想检索所需的数据 以便将其放置在相邻的单元格中 但此时我会尽一切努力 页面是ASP net 我没有经
  • 有没有 XSLT 处理命令行工具? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想通过 XSLT 文件和 XSLT 处理工具将 XML 文件更改为修改后的 XML 文件 例如 xs
  • 在 Objective C 中通过 POST 上传图像

    我目前正在通过 HTTP Post 将图像上传到服务器 但似乎无法找到构建调用该服务的 url 的方法 用户从库或相机中选择图像 然后调用执行插入语句的 json 服务 该服务需要以下 uritemplate DataTransfer Se
  • 使用 setup.py 自定义 python 包目录布局

    假设我有以下目录结构 src python generated init py a py lib init py b py 我的是什么setup py需要看起来像这样才能创建目录布局如下的 dist src python init py a
  • 使用任务并行库时如何处理所有未处理的异常?

    我正在使用 TPL 任务并行库 http msdn microsoft com en us library dd460717 28v VS 100 29 aspx 在 NET 4 0中 我想通过使用集中所有未处理异常的处理逻辑Thread
  • 在 pandas 数据框中映射值的范围[重复]

    这个问题在这里已经有答案了 如果之前有人问过这个问题 我深表歉意 但我广泛查看后没有结果 import pandas as pd import numpy as np df pd DataFrame data np random randi
  • Javascript 对 dom 的更改在按下后退按钮时丢失

    我有这个视图可以更改 div 内的文本 然后 用户可以单击链接跳转到另一个页面 但是当用户按下 后退 按钮时 所有 DOM 更改都会丢失 FF 会记住更改后的 div 文本 但 Chrome 和 IE 不会 我发现了类似的问题 但就我而言
  • CakePHP 3 上未找到“Locale”类问题

    我刚刚下载了文件这个链接 http bakery cakephp org articles lorenzo 2014 09 28 cakephp 3 0 0 beta2 released 提取并尝试执行 但出现此错误 Fatal error
  • 获得黑暗的外观和感觉? [复制]

    这个问题在这里已经有答案了 我厌倦了 Swing 的标准外观和感觉 需要一些看起来很酷的深色和黑色主题 作为秋千一部分的 DefaultMetal Ocean Motif 或 Windows 都不能满足我的需求 正在使用漂亮的图形用户界面
  • 如何在Eclipse中指定C++系统包含路径?

    GCC 有选项 isystem 将目录视为系统目录 这样就不会为这些目录生成编译警告 但是我在 Eclipse 中找不到类似的设置 我使用的是 Mars 2 Release 4 5 2 已尝试在 项目属性 C C 常规 预处理器包含路径 宏
  • 何时在数据库表之间使用一对一关系?

    一个数据库设计问题 你什么时候决定使用1对1关系表 我看到这种情况的地方之一是 例如 当您有一个 User 和 UserProfile 表时 人们会将它们分开 而不是将所有列都放在 User 表中 从技术上讲 您可以将所有列放在一个表中 因
  • Python ReportLab 使用 splitfirst/splitlast

    我正在尝试使用 Python 和 ReportLab 2 2 来创建 PDF 报告 根据用户指南 http www reportlab com docs userguide pdf 特殊 TableStyle 索引 原文如此 在任何样式命令