강제 테이블 렌더링을 새 페이지에서 시작하기

새 페이지에서 테이블 렌더링

기본적으로, 단락은 Page 객체의 Paragraphs 컬렉션에 추가됩니다. 하지만 페이지의 이전에 추가된 단락 수준 객체 바로 뒤가 아닌 새 페이지에 테이블을 렌더링할 수 있습니다.

테이블 추가하기

새 페이지에 테이블을 렌더링하려면, BaseParagraph 클래스의 IsInNewPage 메서드를 사용하세요. 아래의 코드 스니펫은 그 방법을 보여줍니다.

public static void RenderTableOnNewPage(){
        Document doc = new Document();
        PageInfo pageInfo = doc.getPageInfo();
        MarginInfo marginInfo = pageInfo.getMargin();

        marginInfo.setLeft (37);
        marginInfo.setRight (37);
        marginInfo.setTop (37);
        marginInfo.setBottom (37);

        pageInfo.setLandscape(true);

        Table table = new Table();
        table.setColumnWidths ("50 100");
        // 페이지 추가됨.
        Page curPage = doc.getPages().add();
        for (int i = 1; i <= 120; i++)
        {
            Row row = table.getRows().add();
            row.setFixedRowHeight (15);
            Cell cell1 = row.getCells().add();
            cell1.getParagraphs().add(new TextFragment("Content 1"));
            Cell cell2 = row.getCells().add();
            cell2.getParagraphs().add(new TextFragment("HHHHH"));
        }
        Paragraphs paragraphs = curPage.getParagraphs();
        paragraphs.add(table);
        /********************************************/
        Table table1 = new Table();
        table.setColumnWidths ("100 100");
        for (int i = 1; i <= 10; i++)
        {
            Row row = table1.getRows().add();
            Cell cell1 = row.getCells().add();
            cell1.getParagraphs().add(new TextFragment("LAAAAAAA"));
            Cell cell2 = row.getCells().add();
            cell2.getParagraphs().add(new TextFragment("LAAGGGGGG"));
        }
        table1.setInNewPage (true);
        // 테이블 1을 다음 페이지에 유지하고 싶습니다...
        paragraphs.add(table1);
        
        doc.save(_dataDir + "IsNewPageProperty_Test_out.pdf");
    }
}