Search in sources :

Example 21 with Tr

use of org.docx4j.wml.Tr in project Java-Tutorial by gpcodervn.

the class ContainerParseTest method testParagraphInTableCellLayout.

@Test
public void testParagraphInTableCellLayout() throws Exception {
    String html = "<table><tbody><tr>" + "<td><img src='" + PNG_IMAGE_DATA + "' height='16' width='19'/><img src='" + PNG_IMAGE_DATA + "' height='16' width='19'/>" + "<p><img src='" + PNG_IMAGE_DATA + "' height='16' width='19'/><img src='" + PNG_IMAGE_DATA + "' height='16' width='19'/></p>" + "<img src='" + PNG_IMAGE_DATA + "' height='16' width='19'/><img src='" + PNG_IMAGE_DATA + "' height='16' width='19'/></td></tr></tbody></table>";
    List<Object> tConvert = convert(html);
    Assert.assertTrue(tConvert.size() == 1);
    for (Object t : tConvert) {
        Assert.assertTrue(t instanceof Tbl);
        Tbl table = (Tbl) t;
        List<Object> convert = ((Tc) ((Tr) table.getContent().get(0)).getContent().get(0)).getContent();
        Assert.assertTrue(convert.size() == 3);
        for (Object o : convert) {
            Assert.assertTrue(o instanceof P);
            P paragraph = (P) o;
            List<Object> content = paragraph.getContent();
            Assert.assertTrue(content.size() == 2);
            for (Object child : content) {
                Assert.assertTrue(child instanceof R);
                R run = ((R) child);
                List<Object> rContent = run.getContent();
                Assert.assertTrue(rContent.size() == 1);
                Assert.assertTrue(rContent.get(0) instanceof Drawing);
            }
        }
    }
}
Also used : P(org.docx4j.wml.P) Drawing(org.docx4j.wml.Drawing) R(org.docx4j.wml.R) Tr(org.docx4j.wml.Tr) Tbl(org.docx4j.wml.Tbl) Tc(org.docx4j.wml.Tc) Test(org.junit.Test)

Example 22 with Tr

use of org.docx4j.wml.Tr in project Java-Tutorial by gpcodervn.

the class Docx4jUtils method createTableWithContent.

/**
 * Our createTableWithContent method follows (we use dxa values). There are 4
 * rows, some cells with vertical merge, and some with horizontal merge.
 */
private Tbl createTableWithContent() {
    Tbl table = factory.createTbl();
    // for TEST: this adds borders to all cells
    TblPr tblPr = new TblPr();
    TblStyle tblStyle = new TblStyle();
    tblStyle.setVal("TableGrid");
    tblPr.setTblStyle(tblStyle);
    table.setTblPr(tblPr);
    Tr tableRow = factory.createTr();
    // a default table cell style
    DocxStyle defStyle = new DocxStyle();
    defStyle.setBold(false);
    defStyle.setItalic(false);
    defStyle.setUnderline(false);
    defStyle.setHorizAlignment(JcEnumeration.CENTER);
    // a specific table cell style
    DocxStyle style = new DocxStyle();
    style.setBold(true);
    style.setItalic(true);
    style.setUnderline(true);
    style.setFontSize("40");
    style.setFontColor("FF0000");
    style.setFontFamily("Book Antiqua");
    style.setTop(300);
    style.setBackground("CCFFCC");
    style.setVerticalAlignment(STVerticalJc.CENTER);
    style.setHorizAlignment(JcEnumeration.CENTER);
    style.setBorderTop(true);
    style.setBorderBottom(true);
    style.setNoWrap(true);
    addTableCell(tableRow, "Field 1", 3500, style, 1, null);
    // start vertical merge for Filed 2 and Field 3 on 3 rows
    addTableCell(tableRow, "Field 2", 3500, defStyle, 1, "restart");
    addTableCell(tableRow, "Field 3", 1500, defStyle, 1, "restart");
    table.getContent().add(tableRow);
    tableRow = factory.createTr();
    addTableCell(tableRow, "Text", 3500, defStyle, 1, null);
    addTableCell(tableRow, "", 3500, defStyle, 1, "");
    addTableCell(tableRow, "", 1500, defStyle, 1, "");
    table.getContent().add(tableRow);
    tableRow = factory.createTr();
    addTableCell(tableRow, "Interval", 3500, defStyle, 1, null);
    addTableCell(tableRow, "", 3500, defStyle, 1, "close");
    addTableCell(tableRow, "", 1500, defStyle, 1, "close");
    table.getContent().add(tableRow);
    // add an image horizontally merged on 3 cells
    String filenameHint = null;
    String altText = null;
    int id1 = 0;
    int id2 = 1;
    byte[] bytes;
    try {
        bytes = getImageBytes(new File("/resources/image.png"));
        P pImage = newImage(wordMLPackage, bytes, filenameHint, altText, id1, id2, 8500);
        tableRow = factory.createTr();
        addTableCell(tableRow, pImage, 8500, defStyle, 3, null);
        table.getContent().add(tableRow);
    } catch (FileNotFoundException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return table;
}
Also used : FileNotFoundException(java.io.FileNotFoundException) TblStyle(org.docx4j.wml.CTTblPrBase.TblStyle) IOException(java.io.IOException) TblPr(org.docx4j.wml.TblPr) IOException(java.io.IOException) FileNotFoundException(java.io.FileNotFoundException) Docx4JException(org.docx4j.openpackaging.exceptions.Docx4JException) P(org.docx4j.wml.P) File(java.io.File) Tr(org.docx4j.wml.Tr) Tbl(org.docx4j.wml.Tbl)

Example 23 with Tr

use of org.docx4j.wml.Tr in project Java-Tutorial by gpcodervn.

the class Write_Table method main.

public static void main(String[] args) throws Exception {
    WordprocessingMLPackage wordPackage = WordprocessingMLPackage.createPackage();
    MainDocumentPart mainDocumentPart = wordPackage.getMainDocumentPart();
    mainDocumentPart.addStyledParagraphOfText("Title", "Hello World!");
    mainDocumentPart.addParagraphOfText("Welcome To Baeldung");
    ObjectFactory factory = Context.getWmlObjectFactory();
    P p = factory.createP();
    R r = factory.createR();
    Text t = factory.createText();
    t.setValue("Cell data");
    r.getContent().add(t);
    p.getContent().add(r);
    int writableWidthTwips = wordPackage.getDocumentModel().getSections().get(0).getPageDimensions().getWritableWidthTwips();
    int columnNumber = 3;
    Tbl tbl = TblFactory.createTable(3, 3, writableWidthTwips / columnNumber);
    List<Object> rows = tbl.getContent();
    for (Object row : rows) {
        Tr tr = (Tr) row;
        List<Object> cells = tr.getContent();
        for (Object cell : cells) {
            Tc td = (Tc) cell;
            td.getContent().add(p);
        }
    }
    mainDocumentPart.getContent().add(tbl);
    File exportFile = new File("output/welcome4.docx");
    wordPackage.save(exportFile);
    System.out.println("Done!");
}
Also used : MainDocumentPart(org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart) Text(org.docx4j.wml.Text) WordprocessingMLPackage(org.docx4j.openpackaging.packages.WordprocessingMLPackage) Tc(org.docx4j.wml.Tc) P(org.docx4j.wml.P) R(org.docx4j.wml.R) ObjectFactory(org.docx4j.wml.ObjectFactory) File(java.io.File) Tr(org.docx4j.wml.Tr) Tbl(org.docx4j.wml.Tbl)

Example 24 with Tr

use of org.docx4j.wml.Tr in project tutorials by eugenp.

the class Docx4jExample method createDocumentPackage.

void createDocumentPackage(String outputPath, String imagePath) throws Exception {
    WordprocessingMLPackage wordPackage = WordprocessingMLPackage.createPackage();
    MainDocumentPart mainDocumentPart = wordPackage.getMainDocumentPart();
    mainDocumentPart.addStyledParagraphOfText("Title", "Hello World!");
    mainDocumentPart.addParagraphOfText("Welcome To Baeldung!");
    ObjectFactory factory = Context.getWmlObjectFactory();
    P p = factory.createP();
    R r = factory.createR();
    Text t = factory.createText();
    t.setValue("Welcome To Baeldung");
    r.getContent().add(t);
    p.getContent().add(r);
    RPr rpr = factory.createRPr();
    BooleanDefaultTrue b = new BooleanDefaultTrue();
    rpr.setB(b);
    rpr.setI(b);
    rpr.setCaps(b);
    Color red = factory.createColor();
    red.setVal("green");
    rpr.setColor(red);
    r.setRPr(rpr);
    mainDocumentPart.getContent().add(p);
    File image = new File(imagePath);
    byte[] fileContent = Files.readAllBytes(image.toPath());
    BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordPackage, fileContent);
    Inline inline = imagePart.createImageInline("Baeldung Image", "Alt Text", 1, 2, false);
    P Imageparagraph = addImageToParagraph(inline);
    mainDocumentPart.getContent().add(Imageparagraph);
    int writableWidthTwips = wordPackage.getDocumentModel().getSections().get(0).getPageDimensions().getWritableWidthTwips();
    int columnNumber = 3;
    Tbl tbl = TblFactory.createTable(3, 3, writableWidthTwips / columnNumber);
    List<Object> rows = tbl.getContent();
    for (Object row : rows) {
        Tr tr = (Tr) row;
        List<Object> cells = tr.getContent();
        for (Object cell : cells) {
            Tc td = (Tc) cell;
            td.getContent().add(p);
        }
    }
    mainDocumentPart.getContent().add(tbl);
    File exportFile = new File(outputPath);
    wordPackage.save(exportFile);
}
Also used : MainDocumentPart(org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart) Color(org.docx4j.wml.Color) Text(org.docx4j.wml.Text) BooleanDefaultTrue(org.docx4j.wml.BooleanDefaultTrue) Inline(org.docx4j.dml.wordprocessingDrawing.Inline) WordprocessingMLPackage(org.docx4j.openpackaging.packages.WordprocessingMLPackage) Tc(org.docx4j.wml.Tc) P(org.docx4j.wml.P) R(org.docx4j.wml.R) ObjectFactory(org.docx4j.wml.ObjectFactory) RPr(org.docx4j.wml.RPr) BinaryPartAbstractImage(org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage) File(java.io.File) Tr(org.docx4j.wml.Tr) Tbl(org.docx4j.wml.Tbl)

Example 25 with Tr

use of org.docx4j.wml.Tr in project docx4j-template by vindell.

the class Docx4J_例子2 method createNormalTableTest.

public void createNormalTableTest(WordprocessingMLPackage wordMLPackage, MainDocumentPart t, ObjectFactory factory) throws Exception {
    RPr titleRpr = getRPr(factory, "宋体", "000000", "22", STHint.EAST_ASIA, true, false, false, false);
    RPr contentRpr = getRPr(factory, "宋体", "000000", "22", STHint.EAST_ASIA, false, false, false, false);
    Tbl table = factory.createTbl();
    CTBorder topBorder = new CTBorder();
    topBorder.setColor("80C687");
    topBorder.setVal(STBorder.DOUBLE);
    topBorder.setSz(new BigInteger("2"));
    CTBorder leftBorder = new CTBorder();
    leftBorder.setVal(STBorder.NONE);
    leftBorder.setSz(new BigInteger("0"));
    CTBorder hBorder = new CTBorder();
    hBorder.setVal(STBorder.SINGLE);
    hBorder.setSz(new BigInteger("1"));
    addBorders(table, topBorder, topBorder, leftBorder, leftBorder, hBorder, null);
    // 百分比
    double[] colWidthPercent = new double[] { 15, 20, 20, 20, 25 };
    setTableGridCol(wordMLPackage, factory, table, 80, colWidthPercent);
    Tr titleRow = factory.createTr();
    setTableTrHeight(factory, titleRow, "500");
    addTableCell(factory, wordMLPackage, titleRow, "序号", titleRpr, JcEnumeration.CENTER, true, "C6D9F1");
    addTableCell(factory, wordMLPackage, titleRow, "姓甚", titleRpr, JcEnumeration.CENTER, true, "C6D9F1");
    addTableCell(factory, wordMLPackage, titleRow, "名谁", titleRpr, JcEnumeration.CENTER, true, "C6D9F1");
    addTableCell(factory, wordMLPackage, titleRow, "籍贯", titleRpr, JcEnumeration.CENTER, true, "C6D9F1");
    addTableCell(factory, wordMLPackage, titleRow, "营生", titleRpr, JcEnumeration.CENTER, true, "C6D9F1");
    table.getContent().add(titleRow);
    for (int i = 0; i < 10; i++) {
        Tr contentRow = factory.createTr();
        addTableCell(factory, wordMLPackage, contentRow, i + "", contentRpr, JcEnumeration.CENTER, false, null);
        addTableCell(factory, wordMLPackage, contentRow, "无名氏", contentRpr, JcEnumeration.CENTER, false, null);
        addTableCell(factory, wordMLPackage, contentRow, "佚名", contentRpr, JcEnumeration.CENTER, false, null);
        addTableCell(factory, wordMLPackage, contentRow, "武林", contentRpr, JcEnumeration.CENTER, false, null);
        addTableCell(factory, wordMLPackage, contentRow, "吟诗赋曲", contentRpr, JcEnumeration.CENTER, false, null);
        table.getContent().add(contentRow);
    }
    setTableAlign(factory, table, JcEnumeration.CENTER);
    t.addObject(table);
}
Also used : RPr(org.docx4j.wml.RPr) ParaRPr(org.docx4j.wml.ParaRPr) CTBorder(org.docx4j.wml.CTBorder) BigInteger(java.math.BigInteger) Tr(org.docx4j.wml.Tr) STHint(org.docx4j.wml.STHint) Tbl(org.docx4j.wml.Tbl)

Aggregations

Tr (org.docx4j.wml.Tr)39 Tbl (org.docx4j.wml.Tbl)23 Tc (org.docx4j.wml.Tc)17 P (org.docx4j.wml.P)10 TblPr (org.docx4j.wml.TblPr)7 TcPr (org.docx4j.wml.TcPr)7 File (java.io.File)6 R (org.docx4j.wml.R)6 RPr (org.docx4j.wml.RPr)6 ArrayList (java.util.ArrayList)5 STHint (org.docx4j.wml.STHint)5 BigInteger (java.math.BigInteger)4 WordprocessingMLPackage (org.docx4j.openpackaging.packages.WordprocessingMLPackage)4 MainDocumentPart (org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart)4 TblStyle (org.docx4j.wml.CTTblPrBase.TblStyle)4 TblWidth (org.docx4j.wml.TblWidth)4 Text (org.docx4j.wml.Text)4 ObjectFactory (org.docx4j.wml.ObjectFactory)3 TblGrid (org.docx4j.wml.TblGrid)3 TblGridCol (org.docx4j.wml.TblGridCol)3