当前位置: 首页 > 知识库问答 >
问题:

itext--什么是“先右后下”的简单打印

伯庆
2023-03-14

我想打印一个pdfptable,它包含的行和列比PDF的一页要多得多。

我想打印“先右后下”,这类似于行-大顺序。打印第一页-满行,但这些行的所有列。然后打印下一页--充满行,并再次打印这些行的所有列。

共有1个答案

许正平
2023-03-14

如果您有非常大的表,维护概述并将表分布在不同页面上的最优雅的方法是将表添加到一个非常大的PDFTemplate对象中,然后将该PDFTemplate对象的剪裁部分添加到不同的页面中。

这就是我在TableTemplate示例中所做的。

我创建了一个包含15列的表,总宽度为1500pt。

PdfPTable table = new PdfPTable(15);
table.setTotalWidth(1500);
PdfPCell cell;
for (int r = 'A'; r <= 'Z'; r++) {
    for (int c = 1; c <= 15; c++) {
        cell = new PdfPCell();
        cell.setFixedHeight(50);
        cell.addElement(new Paragraph(String.valueOf((char) r) + String.valueOf(c)));
        table.addCell(cell);
    }
}
PdfContentByte canvas = writer.getDirectContent();
PdfTemplate tableTemplate = canvas.createTemplate(1500, 1300);
table.writeSelectedRows(0, -1, 0, 1300, tableTemplate);
PdfTemplate clip;
for (int j = 0; j < 1500; j += 500) {
    for (int i = 1300; i > 0; i -= 650) {
        clip = canvas.createTemplate(500, 650);
        clip.addTemplate(tableTemplate, -j, 650 - i);
        canvas.addTemplate(clip, 36, 156);
        document.newPage();
    }
}

这回答了谷歌周五发布的所有答案。

 类似资料:
  • 问题内容: 在Java中,数组不会覆盖toString(),因此,如果您尝试直接打印一个数组,则得到数组的十六进制,如下所示: 但是通常情况下,我们实际上会想要更多类似的东西。最简单的方法是什么?以下是一些示例输入和输出: 问题答案: 从Java 5开始,您可以;然后将或用于数组中的数组。请注意,版本调用数组中的每个对象。输出甚至以您要求的确切方式修饰。 例子: 简单数组: 输出: 嵌套数组: 输

  • 本文向大家介绍请简单说明一下什么是迭代器?相关面试题,主要包含被问及请简单说明一下什么是迭代器?时的应答技巧和注意事项,需要的朋友参考一下 考察点:JAVA迭代器 Iterator提供了统一遍历操作集合元素的统一接口, Collection接口实现Iterable接口, 每个集合都通过实现Iterable接口中iterator()方法返回Iterator接口的实例, 然后对集合的元素进行迭代操作.

  • 问题内容: 考虑以下测试案例: 输出: 对于为什么在相反的情况下最终发生捕获的原因有何解释? 问题答案: 由于中的区块没有区块,因此只有。该代码不会像您认为的那样“跳回”调用者,然后再“跳回”到调用者。

  • 问题内容: 有很多不错的json libs lika GSon。但是对于XML,我只知道Xerces / JDOM,并且都具有乏味的API。我不喜欢使用不必要的对象,例如DocumentFactory,XpathExpressionFactory,NodeList等。因此,鉴于对诸如groovy / scala之类的语言的本机xml支持,我有一个问题。是否有简约的Java XML IO框架? PS

  • 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

  • 问题内容: 我试图弄清楚为什么我的一个css类似乎覆盖了另一个(而不是相反) 这里我有两个CSS类 在我看来,我打电话给 字体(重叠元素)显示为10px而不是20px-有人可以解释为什么会这样吗? 问题答案: 有几条规则(按此顺序应用): 内联css(html样式属性)覆盖样式标签和css文件中的css规则 较具体的选择器优先于较不具体的选择器 如果两个规则具有相同的特异性,则稍后出现在代码中的规