使用Docx4j将DOCX转换为PDF时出错

时间:2015-01-09 00:29:50

标签: java apache-poi docx4j

我正在尝试使用Docx4J将DOCX文件转换为PDF,并为两个不同的文档接收两个不同的例外。

1)对于文档1,第一个文档的org.docx4j.utils.SingleTraversalUtilVisitorCallback.apply(SingleTraversalUtilVisitorCallback.java:27)发生NullPointerException。

2)对于文档2,会发生以下异常:org.apache.fop.fo.ValidationException:行中的列号或单元格数溢出了为表指定的fo:table-columns的数量。“< / p>

文件内容类似。这两个文档都包含使用Apache POI创建的表。两个文档中的表都包含多列单元格跨度(由POI设置)。当Apache POI创建的表中没有跨度时,不会发生这些错误。显然,这个问题与跨度有关。我想知道我是否错误地使用POI创建了跨度。

我在下面列出的代码是否正确地在POI中的表中创建单元格跨度?需要注意的另一个重要事实是,如果我在Word中打开一个文档并将其保存(最初使用POI创建后,后续的PDF转换成功。这表明Word正在清理不一致或问题我希望确认正确创建了跨度以避免可疑的表格问题。

以下是我用于在Apache POI文档表中创建范围的代码:

XWPFTableRow row = table.getRow( rowIndex );
XWPFTableCell cell = row.getCell( colIndex );
CTTcPr cellPointer = cell.getCTTc().getTcPr();
cellPointer.addNewGridSpan();
cellPointer.getGridSpan().setVal( bigIntSpan );

以下是我用于将文档转换为PDF的代码:

String fileName = "DocName";
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load( new java.io.File( fileName + ".docx" ) );

FileOutputStream outputStream = new FileOutputStream( fileName + ".pdf" );

Docx4J.toPDF( wordMLPackage, outputStream );

以下是DOCX档案中word / document.xml文件的完整XML:

<?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>

和stacktrace:

  

[2015-01-08 15:05:04,084] [http-bio-7070-exec-10] ERROR [org.docx4j.convert.out.common.AbstractExporter] - 异常导出包   显示java.lang.NullPointerException       在org.docx4j.utils.SingleTraversalUtilVisitorCallback.apply(SingleTraversalUtilVisitorCallback.java:27)       at org.docx4j.utils.AbstractTraversalUtilVisitorCallback.walkJAXBElements(AbstractTraversalUtilVisitorCallback.java:76)       在org.docx4j.utils.AbstractTraversalUtilVisitorCallback.walkJAXBElements(AbstractTraversalUtilVisitorCallback.java:78)       在org.docx4j.utils.AbstractTraversalUtilVisitorCallback.walkJAXBElements(AbstractTraversalUtilVisitorCallback.java:78)       在org.docx4j.utils.AbstractTraversalUtilVisitorCallback.walkJAXBElements(AbstractTraversalUtilVisitorCallback.java:78)       在org.docx4j.utils.AbstractTraversalUtilVisitorCallback.walkJAXBElements(AbstractTraversalUtilVisitorCallback.java:78)       在org.docx4j.utils.AbstractTraversalUtilVisitorCallback.walkJAXBElements(AbstractTraversalUtilVisitorCallback.java:78)       在org.docx4j.TraversalUtil.visit(TraversalUtil.java:662)       在org.docx4j.TraversalUtil.visit(TraversalUtil.java:574)       在org.docx4j.convert.out.common.preprocess.FieldsCombiner.process(FieldsCombiner.java:59)       在org.docx4j.convert.out.common.Preprocess.process(Preprocess.java:144)       在org.docx4j.convert.out.common.AbstractWmlExporter.preprocess(AbstractWmlExporter.java:51)       在org.docx4j.convert.out.common.AbstractWmlExporter.preprocess(AbstractWmlExporter.java:32)       在org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:63)       在org.docx4j.Docx4J.toFO(Docx4J.java:467)       在org.docx4j.Docx4J.toPDF(Docx4J.java:481)

1 个答案:

答案 0 :(得分:0)

org.docx4j.utils.SingleTraversalUtilVisitorCallback.apply(SingleTraversalUtilVisitorCallback.java:27)中的NullPointerException是由具有空文本的Apache POI XWPFRun引起的。我的应用程序中的代码会错误地为XWPFRun内部设置文本XWPFTableCell&gt; XWPFParagraph元素为null。

当执行文档到PDF的后续转换时,将发生上述异常。我添加了代码以确保文档中不存在带有空文本的XWPFRuns。

每当创建一个运行时,现在我这样做是为了确保文本永远不会为空。

xwpfRun.setText( text == null ? "" : text);

我希望这有助于其他任何遇到此错误的人。