I realize it must be difficult to reproduce.  So I made a JUnit test at home
which demonstrates the problem (if it is a problem but I assume so)

Please note the line: par2.setSpacingAfter(-1.2f);
If one adjusts this to setSpacingAfter(0f); then the tablesize is cut
correctly.  Now it is spanned over two pages eventhough I specifically tell
the document to be cut at the end of the table.


@Test
    public void testSizeBug() throws DocumentException,
FileNotFoundException {
        PdfPTable main = new PdfPTable(1);
        main.setTotalWidth(350f);
        main.setSpacingAfter(0);
        main.setSpacingBefore(0);

        main.setLockedWidth(true);
        for(int i=0; i < 15; i++){
            Paragraph title = new Paragraph(new Phrase(new Chunk("titel
"+i,FontFactory.getFont(BaseFont.TIMES_ROMAN))));
            Paragraph par = new Paragraph(new Phrase(new Chunk("cell "+i,
FontFactory.getFont(BaseFont.TIMES_ROMAN))));
            par.setSpacingAfter(-1.5f);
            PdfPCell cell = new PdfPCell();
            cell.addElement(title);
            cell.addElement(par);
            Paragraph par2 = new Paragraph(new Phrase(new Chunk("nextline"
,FontFactory.getFont(BaseFont.TIMES_ROMAN))));
            par2.setSpacingAfter(-1.2f);
            applyDefaultCellProps(cell);
            cell.addElement(par2);
            main.addCell(cell);
        }

        Document document = new Document(new Rectangle(350f,
main.getTotalHeight())); //!!
        File file = new File("c:/tmp/sizeTest.pdf");
        FileOutputStream fos = new FileOutputStream(file);
        PdfWriter writer = PdfWriter.getInstance(document, fos);
        document.setMargins(0f,0f,0f,0f);   //eerst, daarna doc openen
        document.open();

        document.add(main);
        document.close();
        writer.close();


    }

    private void applyDefaultCellProps(PdfPCell cell){
        cell.setBorder(PdfPCell.NO_BORDER);
        cell.enableBorderSide(Rectangle.LEFT);
        cell.enableBorderSide(Rectangle.RIGHT);
        cell.setPadding(5);
        cell.setPaddingTop(-3);
        cell.setPaddingBottom(4);
    }

-- 
View this message in context: 
http://itext-general.2136553.n4.nabble.com/Paragraph-negative-spacing-weirdness-in-PdfPTables-tp2245863p2247079.html
Sent from the iText - General mailing list archive at Nabble.com.

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions

Buy the iText book: http://www.itextpdf.com/book/
Check the site with examples before you ask questions: 
http://www.1t3xt.info/examples/
You can also search the keywords list: http://1t3xt.info/tutorials/keywords/

Reply via email to