【问题标题】:Cannot hide border of iText PDF Cell while putting a sub table into one parent PDFPCell将子表放入一个父 PDFPCell 时无法隐藏 iText PDF 单元格的边框
【发布时间】:2014-11-25 10:08:08
【问题描述】:

我正在使用 itextpdf.text.pdf.PdfPTable 以 PDF 格式创建表格。 但我无法摆脱一个 pdfPcell 的边框。我几乎在所有地方都进行了搜索,但没有找到解决方案。 当我只使用下面的代码时,我可以实现无边框-

    PdfPTable table_body = new PdfPTable(9);

    PdfPCell body_cell = new PdfPCell();
    body_cell.setBorder(Rectangle.NO_BORDER);


    PdfPCell body_cell = new PdfPCell();

    body_cell.setPhrase(new Phrase("Okey woth no border implementation"));
    table_body.addCell(body_cell);

但是当我试图将两行放在一个 PdfPcell 中时,问题就出现了。我正在做什么来实现这一点,我正在创建另一个表并将其放入父表 PDFPcell。但是,问题是每次在父表 pdfPcell 的区域上都会出现一个边框,尽管我已将 PDFPcell 定义为没有任何边框。

           body_cell.setPhrase(new Phrase("NOT Okey woth no border implementation"));

           PdfPTable sub_table = new PdfPTable(1);

           sub_table.addCell(body_cell);
           sub_table.addCell(body_cell);
           table_body.addCell(sub_table);

在下方添加注释和代码 sn-p 以供进一步参考

对不起.. 但它不起作用。我以前试过tris。不知道我是否遗漏了什么。我已将默认边框设置为无边框,并且在 PDFCell 级别,我已将边框设置为无边框。子表周围仍然有一个四边边框。 这是代码sn-p:

PdfPTable sub_table = new PdfPTable(1);
sub_table.getDefaultCell().setBorder(Rectangle.NO_BORDER);

body_cell = new PdfPCell(image, true);
body_cell.setBorder(Rectangle.NO_BORDER);
sub_table.addCell(body_cell);
sub_table.addCell(body_cell_bottomBorder);
table_body.addCell(sub_table);

【问题讨论】:

标签: spring itext itextpdf


【解决方案1】:

当您调用table_body.AddCell(sub_table) 时,您并没有明确地创建一个新单元格,而是将默认值留给系统,该系统将有一个边框。如果你想让它工作,你需要将默认单元格的边框设置为无。

table_body.getDefaultCell().setBorder(Rectangle.NO_BORDER);

【讨论】:

  • 对不起.. 但它不起作用。我以前试过tris。不知道我是否遗漏了什么。我已将默认边框设置为无边框,并且在 PDFCell 级别,我已将边框设置为无边框。子表周围仍然有一个四边边框。这是代码 sn-p: PdfPTable sub_table = new PdfPTable(1); sub_table.getDefaultCell().setBorder(Rectangle.NO_BORDER); body_cell = new PdfPCell(image, true); body_cell.setBorder(Rectangle.NO_BORDER); sub_table.addCell(body_cell); sub_table.addCell(body_cell_bottomBorder); table_body.addCell(sub_table);
  • 需要在外表设置NO_BORDER,本例为table_body
  • 非常感谢克里斯。这解决了我的问题。但我会要求你再看一个问题,尽管这也可能是我再次犯的一个愚蠢的错误。我已经用新问题更新了问题。再次感谢。
  • 嗨@Ani,这真的更适合作为第二个问题。您可以撤消您的编辑并发布另一个问题吗?
  • 嗨,克里斯。谢谢您的帮助。我已将新问题放在不同的线程中。请您看一下。再次感谢。 stackoverflow.com/questions/27155155/…
猜你喜欢
  • 2015-05-28
  • 1970-01-01
  • 2018-06-22
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-27
  • 1970-01-01
相关资源
最近更新 更多