use of org.docx4j.wml.Tbl in project Java-Tutorial by gpcodervn.
the class TableBordersTest method testTableBorderColors.
@Test
public void testTableBorderColors() throws Docx4JException {
Tbl tbl = table("<table style='border-style: solid; border-color:#111 #222 #333 #444;'><tr><th>1</th></tr></table>");
TblBorders borders = tbl.getTblPr().getTblBorders();
assertEquals("111111", borders.getTop().getColor());
assertEquals("222222", borders.getRight().getColor());
assertEquals("333333", borders.getBottom().getColor());
assertEquals("444444", borders.getLeft().getColor());
}
use of org.docx4j.wml.Tbl in project Java-Tutorial by gpcodervn.
the class TableBordersTest method testTableBorderWidths.
@Test
public void testTableBorderWidths() throws Docx4JException {
Tbl tbl = table("<table style='border-style: solid; border-width: 0px 1px 2px 3px;'><tr><th>1</th></tr></table>");
TblBorders borders = tbl.getTblPr().getTblBorders();
assertNull(borders.getTop().getSz());
assertTrue(borders.getRight().getSz().longValue() > 0);
assertTrue(borders.getBottom().getSz().longValue() > borders.getRight().getSz().longValue());
assertTrue(borders.getLeft().getSz().longValue() > borders.getBottom().getSz().longValue());
}
use of org.docx4j.wml.Tbl 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;
}
use of org.docx4j.wml.Tbl 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!");
}
use of org.docx4j.wml.Tbl 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);
}
Aggregations