I am attempting to convert a DOCX file to PDF with Docx4J and receiving two distinct exceptions for two different documents.
1) For document 1, a NullPointerException occurs at org.docx4j.utils.SingleTraversalUtilVisitorCallback.apply(SingleTraversalUtilVisitorCallback.java:27) for the first document.
2) For document 2, this exception occurs: org.apache.fop.fo.ValidationException: The column-number or number of cells in the row overflows the number of fo:table-columns specified for the table."
The content of the documents is similar. Both documents contain tables in them that were created with Apache POI. Tables in both documents contain multi-column cell spans (set by POI). These errors do not occur when no spans are present in Apache POI-created tables. Clearly, the problem has something to do with the spans. I am wondering if I am incorrectly creating spans with POI.
Is the code I have included below the correct way to create cell spans in tables within POI? Another important fact to note, is that, if I open either document in Word one time and save it out (after creating it initially with POI, subsequent PDF conversion is successful. This is an indication to me that Word is cleaning up inconsistency or problems with the document. I want to confirm that the spans are being created correctly to avoid the suspected table problem.
Here's the code I'm using to create the span in the document table with Apache POI:
XWPFTableRow row = table.getRow( rowIndex );
XWPFTableCell cell = row.getCell( colIndex );
CTTcPr cellPointer = cell.getCTTc().getTcPr();
cellPointer.addNewGridSpan();
cellPointer.getGridSpan().setVal( bigIntSpan );
Here's the code I'm using to convert the doc to PDF:
String fileName = "DocName";
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load( new java.io.File( fileName + ".docx" ) );
FileOutputStream outputStream = new FileOutputStream( fileName + ".pdf" );
Docx4J.toPDF( wordMLPackage, outputStream );
Here's the full XML from the word/document.xml file in the DOCX archive:
<?xml version="1.0" encoding="UTF-8"?>
<w:document mc:Ignorable="w14 wp14" xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:mo="http://schemas.microsoft.com/office/mac/office/2008/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mv="urn:schemas-microsoft-com:mac:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><w:body><w:p w14:paraId="23F196FC" w14:textId="6A07C789" w:rsidR="00224B2C" w:rsidRDefault="00224B2C" w:rsidP="00224B2C"><w:pPr><w:jc w:val="center"/><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/><w:b/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/><w:b/></w:rPr><w:t>Event Order Services</w:t></w:r></w:p><w:p w14:paraId="73306DCF" w14:textId="77777777" w:rsidR="00224B2C" w:rsidRDefault="00224B2C"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/><w:sz w:val="18"/></w:rPr></w:pPr></w:p><w:tbl><w:tblPr><w:tblW w:w="0" w:type="auto"/><w:tblW w:type="dxa" w:w="11000"/><w:tblBorders><w:top w:val="single"/><w:left w:val="single"/><w:bottom w:val="single"/><w:right w:val="single"/><w:insideH w:val="none" w:sz="0" w:space="5" w:color="000000"/><w:insideV w:val="single"/></w:tblBorders><w:tblCellMar><w:top w:type="dxa" w:w="40"/><w:left w:type="dxa" w:w="100"/><w:bottom w:type="dxa" w:w="40"/><w:right w:type="dxa" w:w="100"/></w:tblCellMar></w:tblPr><w:tr><w:tc><w:tcPr><w:tcBorders><w:top w:val="thick" w:space="0" w:color="000000"/></w:tcBorders><w:shd w:color="auto" w:val="clear" w:fill="D4D3C9"/></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="2000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="true"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Service Time and Location</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="thick" w:space="0" w:color="000000"/></w:tcBorders><w:shd w:color="auto" w:val="clear" w:fill="D4D3C9"/></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="2000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="true"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Service Type and Notes</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="thick" w:space="0" w:color="000000"/></w:tcBorders><w:shd w:color="auto" w:val="clear" w:fill="D4D3C9"/></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="4000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="true"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Service Items</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="thick" w:space="0" w:color="000000"/></w:tcBorders><w:shd w:color="auto" w:val="clear" w:fill="D4D3C9"/></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="1000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="true"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Quantity</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="thick" w:space="0" w:color="000000"/></w:tcBorders><w:shd w:color="auto" w:val="clear" w:fill="D4D3C9"/></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="1000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="true"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Price</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="thick" w:space="0" w:color="000000"/></w:tcBorders><w:shd w:color="auto" w:val="clear" w:fill="D4D3C9"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="true"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Total</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcBorders><w:top w:val="thick" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="2000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>5:00pm-7:00pm</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="thick" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="2000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Food</w:t></w:r></w:p><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t xsi:nil="true"/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="thick" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="4000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Breakfast Pastries</w:t></w:r></w:p><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Assorted Breakfast Pastries and Muffins (One Dozen)</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="thick" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="1000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>9.50</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="thick" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="1000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>$18.00</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="thick" w:space="0" w:color="000000"/></w:tcBorders></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>$171.00</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="2000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="2000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="4000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Chicken Parmesan</w:t></w:r></w:p><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Charcoal Grilled Chicken Breast with Roasted New Potatoes, Pancetta, Mushroom, Chard and Roast Garlic Aioli</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="1000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>75</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="1000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>$9.50</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>$712.50</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="2000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>5:00pm-7:00pm</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="2000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Beverage</w:t></w:r></w:p><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t xsi:nil="true"/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="4000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>House Chardonnay</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="1000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>55</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="1000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>$8.50</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>$467.50</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="2000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="2000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="4000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Imported Beer</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="1000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>75</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="1000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>$3.00</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>$225.00</w:t></w:r></w:p></w:tc></w:tr><w:tr><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="2000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>6:00pm-6:30pm</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="2000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Equipment</w:t></w:r></w:p><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t xsi:nil="true"/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="4000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>Large Trash Cans</w:t></w:r></w:p><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>20 Gallon Trash Cans</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="1000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t>8</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:tcPr><w:tcW w:type="dxa" w:w="1000"/></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t/></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcBorders><w:top w:val="none" w:space="0" w:color="FFFFFF"/></w:tcBorders></w:tcPr><w:p><w:pPr><w:jc w:val="center"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial" w:eastAsia="Arial"/><w:b w:val="false"/><w:i w:val="false"/><w:sz w:val="20"/></w:rPr><w:t/></w:r></w:p></w:tc></w:tr></w:tbl><w:p/><w:p w14:paraId="7C9EC931" w14:textId="64559963" w:rsidR="00946FE4" w:rsidRPr="002C5993" w:rsidRDefault="00516E3A" w:rsidP="006726C4"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/><w:sz w:val="18"/></w:rPr></w:pPr><w:proofErr w:type="spellStart"/><w:proofErr w:type="gramStart"/><w:r w:rsidR="00F41D65" w:rsidRPr="00F41D65"><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/><w:sz w:val="18"/></w:rPr><w:t/></w:r><w:r w:rsidR="00674C75"><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/><w:sz w:val="18"/></w:rPr><w:t/></w:r><w:proofErr w:type="spellEnd"/><w:proofErr w:type="gramEnd"/></w:p><w:p w14:paraId="1046E6B9" w14:textId="3BF4552D" w:rsidR="00FF34DB" w:rsidRPr="001E128D" w:rsidRDefault="00FF34DB" w:rsidP="001E128D"><w:pPr><w:tabs><w:tab w:val="left" w:pos="4507"/></w:tabs><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/></w:rPr></w:pPr><w:bookmarkStart w:id="0" w:name="_GoBack"/><w:bookmarkEnd w:id="0"/></w:p><w:sectPr w:rsidR="00FF34DB" w:rsidRPr="001E128D" w:rsidSect="000E7529"><w:headerReference w:type="even" r:id="rId9"/><w:headerReference w:type="default" r:id="rId10"/><w:footerReference w:type="even" r:id="rId11"/><w:footerReference w:type="default" r:id="rId12"/><w:headerReference w:type="first" r:id="rId13"/><w:footerReference w:type="first" r:id="rId14"/><w:type w:val="continuous"/><w:pgSz w:w="12240" w:h="15840" w:code="1"/><w:pgMar w:top="288" w:right="720" w:bottom="662" w:left="720" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/><w:docGrid w:linePitch="272"/></w:sectPr></w:body></w:document>
and the stacktrace:
[2015-01-08 15:05:04,084] [http-bio-7070-exec-10] ERROR [org.docx4j.convert.out.common.AbstractExporter] - Exception exporting package java.lang.NullPointerException at org.docx4j.utils.SingleTraversalUtilVisitorCallback.apply(SingleTraversalUtilVisitorCallback.java:27) at org.docx4j.utils.AbstractTraversalUtilVisitorCallback.walkJAXBElements(AbstractTraversalUtilVisitorCallback.java:76) at org.docx4j.utils.AbstractTraversalUtilVisitorCallback.walkJAXBElements(AbstractTraversalUtilVisitorCallback.java:78) at org.docx4j.utils.AbstractTraversalUtilVisitorCallback.walkJAXBElements(AbstractTraversalUtilVisitorCallback.java:78) at org.docx4j.utils.AbstractTraversalUtilVisitorCallback.walkJAXBElements(AbstractTraversalUtilVisitorCallback.java:78) at org.docx4j.utils.AbstractTraversalUtilVisitorCallback.walkJAXBElements(AbstractTraversalUtilVisitorCallback.java:78) at org.docx4j.utils.AbstractTraversalUtilVisitorCallback.walkJAXBElements(AbstractTraversalUtilVisitorCallback.java:78) at org.docx4j.TraversalUtil.visit(TraversalUtil.java:662) at org.docx4j.TraversalUtil.visit(TraversalUtil.java:574) at org.docx4j.convert.out.common.preprocess.FieldsCombiner.process(FieldsCombiner.java:59) at org.docx4j.convert.out.common.Preprocess.process(Preprocess.java:144) at org.docx4j.convert.out.common.AbstractWmlExporter.preprocess(AbstractWmlExporter.java:51) at org.docx4j.convert.out.common.AbstractWmlExporter.preprocess(AbstractWmlExporter.java:32) at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:63) at org.docx4j.Docx4J.toFO(Docx4J.java:467) at org.docx4j.Docx4J.toPDF(Docx4J.java:481)
The NullPointerException at org.docx4j.utils.SingleTraversalUtilVisitorCallback.apply(SingleTraversalUtilVisitorCallback.java:27 was caused by an Apache POI XWPFRun that had null text. There was code in my application that would erroneously set the text for an XWPFRun inside a XWPFTableCell > XWPFParagraph element to null.
When the subsequent conversion of the document to PDF was performed, the above-mentioned exception would occur. I added code to make sure no XWPFRuns exist in the document with null text.
Whenever a run is created, now I do it like this to make sure the text can never be null.
xwpfRun.setText( text == null ? "" : text);
I hope this helps anyone else who hits this error.