One more thing, that when I tried to access a particular cell of a table using the code given below, I get an exception stating that "java.lang.ClassCastException: javax.xml.bind.JAXBElement cannot be cast to org.docx4j.wml.Tc". What is the problem here?
- Code: Select all
- static Tbl addImageInTable (WordprocessingMLPackage templateDocument, Tbl table, String imageName) throws Exception {
 File file = new File("C:\\ImgTest\\test.BMP");
 //File file = new File("C:\\ImgTest\\" + imageName);
 java.io.InputStream is = new java.io.FileInputStream(file );
 long length = file.length();
 // You cannot create an array using a long type.
 // It needs to be an int type.
 if (length > Integer.MAX_VALUE) {
 System.out.println("File too large!!");
 }
 byte[] bytes = new byte[(int)length];
 int offset = 0;
 int numRead = 0;
 while (offset < bytes.length
 && (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
 offset += numRead;
 }
 // Ensure all the bytes have been read in
 if (offset < bytes.length) {
 System.out.println("Could not completely read file "+file.getName());
 }
 is.close();
 
 String filenameHint = null;
 String altText = null;
 int id1 = 0;
 int id2 = 1;
 
 org.docx4j.wml.P p = newImage(templateDocument, bytes,
 filenameHint, altText,
 id1, id2 );
 
 // Now add our p to the document
 //wordMLPackage.getMainDocumentPart().addObject(p);
 //table.getContent().add(p);
 List rows = table.getEGContentRowContent();
 Tr row = (Tr) rows.get(0);
 List cells = row.getEGContentCellContent();
 Tc tc = (Tc) cells.get(0);
 
 tc.getEGBlockLevelElts().add(p);
 return table;
 }


 News
 News Site map
 Site map SitemapIndex
 SitemapIndex RSS Feed
 RSS Feed