以柱状格式打印数据的最佳方法?

时间:2008-12-13 19:33:10

标签: python html css formatting

我使用Python以用户不友好的格式读取数据并将其转换为更易于阅读的格式。我输出的记录通常只是姓氏,名字和房间代码。我

喜欢输出一系列页面,每个页面包含总记录的连续子集,分为多个列,每个列包含页面上总记录的连续子集。 (换句话说,你读下第一列,移到下一列,移到下一列等,然后从下一页重新开始......)

我现在面临的问题是,对于输出格式,我几乎肯定只限于HTML(以及Javascript,CSS等)。将数据转换为此列式格式的最佳方法是什么?如果我确定纸张的可打印区域可垂直放置20个记录,水平放置5个,例如,我可以轻松打印5x20的表格,但我不知道是否有办法表明分页符号 - 和我不知道是否有办法以编程方式计算页面上适合的记录数量。

你会怎么做?

编辑:之所以我说我的输出有限:我必须在一台计算机上生成该文件,然后将其带到另一台我们无法安装新软件的计算机上现有软件的选择并不是最佳的。该文件本身仅用于进行物理打印输出(这是最终用户实际使用的内容),但我可以打印的计算机上的时间有限,所以我需要文件已经准备就绪,可以立即打印而无需进行大量调整。

现在我已经设法找到了我可以在目标机器上使用的文字处理器,所以我将看看我是否可以定位文字处理器使用的格式。

编辑:一旦我知道有一个可以使用的文字处理器,我就用我想要的设置制作了一个简单的骨架文件(列和标签设置,小点大小的等宽字体,等)然后测量我每列一行的字符数和每列的线数。我仔细观察了这些运行,以确保没有一些奇怪的线条以某种方式溢出每行字符指南(当然,这应该不会出现等宽字体,但是你最后会多少次必须弄明白为什么“不应该”发生的事情仍在发生?)

如果目标机器上没有可以使用的文字处理器,我可能会将PDF视为输出格式。

1 个答案:

答案 0 :(得分:3)

“如果我确定纸张的可打印区域将垂直保持20条记录,并且水平保存5条记录”

你知道的。

您知道论文的大小。你知道你的字体大小。你可以轻松地进行数学计算。

“几乎肯定只限于HTML ......”没有多大意义。这是一个Web应用程序吗?该页面可以有一个“上一页”和“下一页”按钮来浏览页面?选择一个看起来不错的尺寸,并使用“上一个”和“下一个”按钮显示一页。

如果它应该是一个正确打印的HTML页面,那很难。你可以做CSS的事情,但你会更乐意创建一个PDF文件。

获取PyXReportLab并创建可正确打印的PDF。

我个人 - 对此没有耐心。我尝试将这种东西放入CSV文件中。然后,我的用户可以使用工具电子表格打开CSV(Open Office Org有一个很好的用户),然后调整列并用它打印。