prawnto 显示新页面时不会中断的表格

2024-04-18

我有数量可变的表,行数可变,我想让它们一个接一个地显示,但如果当前页面不适合表,请将其放在下一页上,然后继续。我已将表格放入事务中,这样如果高度适合当前页面,我可以回滚然后打印它,但如何获取表格高度?

我现在有这个代码

pdf.transaction do 

pdf.table @data,
    :font_size  => 12, 
    :border_style => :grid,
    :horizontal_padding => 10,
    :vertical_padding   => 3,
    :border_width       => 2,
    :position           => :left,
    :row_colors => ["FFFFFF","DDDDDD"]

pdf.move_down 20

#pdf.rollback 
end

对此的任何帮助都会很棒。或者还有其他方法可以做到这一点吗?

此致 瑞克


4年后...:)

正如 @m-x 所写,出于安全原因(如“组”),回滚被禁用,并且仍未实现。那么,这里我如何处理表的分页:

大而简单的表(每个数据一行)

只需使用标题选项

pdf.table @data,
  header: true, # You can use 'header: 2' if your header take two rows
  font_size: 12, 
  border_style: :grid,
  horizontal_padding: 10,
  vertical_padding: 3,
  border_width: 2,
  position: :left,
  row_colors: ["FFFFFF","DDDDDD"]

小桌子或复杂桌子

  • 做桌子
  • 检查是否需要中断页面
  • 绘图表

以你的例子:

t = pdf.make_table @data,
  font_size: 12, 
  border_style: :grid,
  horizontal_padding: 10,
  vertical_padding: 3,
  border_width: 2,
  position: :left,
  row_colors: ["FFFFFF","DDDDDD"]

if cursor - t.height < 0
  start_new_page
end

t.draw

希望有帮助

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

prawnto 显示新页面时不会中断的表格 的相关文章

随机推荐

  • MATLAB 写入多页 tiff 指数慢

    我正在尝试编写一个多页 tiff 文件 该文件是 128 像素 x 128 像素 x 122000 帧的 16 位无符号整数 ImageJ 或简短的 Python 脚本可以在快速机器上在一分钟内完成此操作 在同一台机器上 无论使用我尝试过的
  • 使用 TIMEZONE 查询 Oracle TIMESTAMP

    我在 Oracle DB 表中有一个类型为TIMESTAMP 6 WITH TIME ZONE 有些数据行包含来自不同时区的数据 有些是 UTC 有些是其他时区偏移量 有没有一种方法可以查询 Oracle 表 以便结果始终以 UTC 形式返
  • C# LINQ to SQL:重构此通用 GetByID 方法

    我写了下面的方法 public T GetByID int id var dbcontext DB var table dbcontext GetTable
  • GCC 为 AVR 上的简单 ISR 生成不必要的寄存器推送

    我有一些简单的 C 程序 如果使用 g 编译 它会生成以下汇编文本 唯一的说法是sbi 这不会影响任何状态标志 我想知道为什么 G 会产生这些无用的推送 弹出r0 and r1 global vector 14 type vector 14
  • Rust 中带有纯宏的函数组合链

    我读了 如何在 Rust 中编写函数 https stackoverflow com questions 45786955 how to compose functions in rust Rust 中的函数组合链 https stacko
  • D3 强制定向图 ajax 更新

    我使用 d3 js 和 jquery 以及 PHP 后端 基于 yii 框架 来创建动态力定向图来表示我们使用 Nagios 监控的网络上主机和服务的当前状态 该图显示根 gt 主机组 gt 主机 gt 服务 我创建了一个服务器端函数来返回
  • 使用 onSubmit 提交表单

    My form onSubmit正在呼叫 onsubmit validate this return false validate 如下 function validate obj ajax url ajax validate check
  • logback 支持 log4j 附加程序吗?

    为 log4j 创建的自定义 Appender 扩展 AppenderSkeleton 可以与 new 一起使用吗logback框架 我知道logback带有自己的一组类似于 log4j 的附加程序 但这是否可以重用现有的附加程序 如何 以
  • signal(SIGCHLD, SIG_DFL); 是什么意思?意思是?

    我不处理SIGCHLD在我的代码中 我的进程仍然在终止后立即被删除 我希望它成为僵尸进程 如果我设置SIGCHLD to SIG DFL那么 它会起作用吗 我该如何设置SIGCHLD to SIG DFL 我希望进程成为僵尸 这样我就可以在
  • 尝试调用虚拟方法“int java.lang.String.hashCode()”

    我正在尝试使用 Volley Library 将图像从 URL 加载到 gridview 中 为此我正在关注this http www 101apps co za index php articles using volley to dow
  • 使用 javascript 的 ASP.Net MVC 3.0 Ajax.ActionLink 动态对象路由值

    0 项目 在我看来 我有一个隐藏字段 其中有一个UserID 该用户 ID 是根据操作生成的 因此事先不会知道 一旦这个隐藏字段有了值 我想使用该值作为操作链接路由值 我可以用 jquery 选择器来做到这一点吗 我的隐藏字段是
  • 我可以使用远程数据库服务器配置 ssl

    我想知道是否可以在我的应用程序和远程数据库服务器之间配置 ssl Weblogic 服务器上的 Oracle 数据库和 Web 应用程序 Thanks 是的 这是可能的 我不确定如何配置服务器 我只从客户端的角度使用它 但是可以按照链接中的
  • ejabberd 和 Erlang 安装,lager_transform 未定义

    我是 Erlang 新手 我一直在尝试在 EC2 ubuntu 机器上安装 Erlang 和 ejabberd 一切都很顺利 直到我开始编译一些外部模块ejabberd 它开始抛出错误undefined parse transform la
  • 从雅虎财经提取数据时出错

    我正在尝试通过 Pandas 从雅虎财经提取数据 我以前使用过类似的拉力 但在此之前没有遇到任何问题 import pandas as pd import numpy as np import datetime as dt from dat
  • Postgis - ST_within 没有做我想做的事。如何在空心区域中找到一个点?

    请参阅丝网印刷 我在 Postgis 中运行了一个空间查询 以返回地图上某个点所在的选区 区域 该查询使用ST within函数 其中点位于多边形内 正如您从打印中看到的 该点实际上并不在 York Outer 的多边形区域 内 尽管从技术
  • php中如何将多维关联数组转换为一维数组?

    我有一个快速查询如何将多维数组转换为一维数组 teachers array array post id gt John Doe video id gt array Government English array post id gt St
  • 在Android studio中添加外部库

    我想添加外部库https github com foursquare foursquare android oauth https github com foursquare foursquare android oauth到我的 Andr
  • 更改my.ini后MySQL服务无法启动

    我在 Windows 上运行 MySQL 8 0 我对 my ini 做了一些更改 最终找到了它 以更改字符集 愚蠢的是我没有先备份它 并且我使用了记事本 它没有多重撤消功能 现在我明白了 The MySQL Service could n
  • Kivy 中的 HTTPS 请求

    我一直在处理与通过 AWS API Gateway 托管的 API 绑定的 Kivy 应用程序中的 HTTPS 请求 首先 我从Python3迁移到2 然后从requests库迁移到kivy的URLRequest 该应用程序在我的 Linu
  • prawnto 显示新页面时不会中断的表格

    我有数量可变的表 行数可变 我想让它们一个接一个地显示 但如果当前页面不适合表 请将其放在下一页上 然后继续 我已将表格放入事务中 这样如果高度适合当前页面 我可以回滚然后打印它 但如何获取表格高度 我现在有这个代码 pdf transac