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

itext-pdfptable行SPAN使用MyTable.WriteSelectedRows

仰钧
2023-03-14

我正在使用iText 5.1.3,我想在我的Pdf文档中添加一个标题。我使用了已知的解决方案:http://itextpdf.com/examples/iia.php?id=104

此解决方案使用了PDFPageEventHelper类,并重写了OnEndPage()方法,以便在完成每一页之后准确地添加标题。上面链接中提供的示例工作良好,因为它添加了一个表作为文档的头。我尝试做完全相同的一个区别,即我希望表中的一些单元格具有行span和/或colspan。

我尝试了一下,发现使用table.writeSelectedRows()与使用document.add(table)时使用rowspan不同。这是我试图在OnEndPage中执行的操作的示例:

PdfPTable mytable = new PdfPTable(3);
mytable.setTotalWidth(527);
PdfPCell cell1 = new PdfPCell(new Phrase("Hello"));
cell1.setColspan(2);
cell1.setRowspan(2);
mytable.addCell(cell1);

PdfPCell cell2 = new PdfPCell(new Phrase("Girls !"));
mytable.addCell(cell2);

PdfPCell cell3 = new PdfPCell(new Phrase("Boys !"));
mytable.addCell(cell3);

mytable.writeSelectedRows(0, -1, 34, 803, writer.getDirectContent());

左边的单元格不是2x2的“hello”,而是1x2的“hello”单元格,而不是2x2的单元格

有什么想法吗?

共有1个答案

段干靖
2023-03-14

嗯..我自己找到了解决方案:d它只是将MyTable.WriteSelectedRows(0,-1,34,803,Writer.GetDirectContent());替换为以下内容:

ColumnText column = new ColumnText(writer.getDirectContent());
column.addElement(mytable);
column.setSimpleColumn(-12, -20, 604, 803); // set LLx, LLy, URx, and URy of the header
column.go();

就是这样:)工作了:)

 类似资料:
  • 我尝试使用,但结果是float。 在PDF上动态计算表宽后,我想获得每个列的绝对宽度(已最大化)。 ----------------编辑---------------------------------- 是否可以在添加表文档之前获取列的宽度?

  • 问题内容: 如果表格的长度超过一页,如何在所有页面中重复a的标题? 问题答案: 看的。在那里定义为标题的行应保留在新页面上。 第一行作为标题。 请参阅API。

  • 我正在使用Python Anaconda将数据刮到Excel表单中。我遇到了两个网站的麻烦。 站点1 null null null 我在试着拉跨度标题。我尝试过的东西(我也以find_all的形式尝试过它们): 我肯定也有我尝试过的其他事情没有列出,因为我不是全部都记得。我不是程序员,我只是想弄清楚这一点来拉数据进行分析。救命? 站点2 我需要从下面的html中提取值8,052。 我试过: tex

  • 问题内容: 我想使用itext生成pdf。我会在某些时候添加内容以进行分页。我需要插入几个单独的conenidos依赖源,所以我要求用户在单独的页面上插入。有任何想法吗??? 问题答案: 调用告诉iText将后续对象放置在新页面上。仅当您放置下一个对象时,才会真正创建新页面。另外,仅在当前页面不为空白时创建一个新页面;否则,仅创建一个新页面。否则,它将被忽略;您可以用来克服这一点。 请参见下面的链

  • 我想用iText生成一个pdf。我会在某个时候添加内容以进行分页。我需要插入几个单独的conenidos依赖源,所以我要求用户在单独的页面上这样做。有什么想法吗???