import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.OPCPackage;
+import org.apache.poi.openxml4j.opc.PackageAccess;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
import org.apache.poi.poifs.filesystem.DirectoryEntry;
return createExtractor(new POIFSFileSystem(inp));
}
if(POIXMLDocument.hasOOXMLHeader(inp)) {
- return createExtractor(OPCPackage.open(f.toString()));
+ return createExtractor(OPCPackage.open(f.toString(), PackageAccess.READ));
}
throw new IllegalArgumentException("Your File was neither an OLE2 file, nor an OOXML file");
} finally {
// add textboxes
if (includeTextBoxes){
- XSSFDrawing drawing = sheet.createDrawingPatriarch();
- for (XSSFShape shape : drawing.getShapes()){
- if (shape instanceof XSSFSimpleShape){
- String boxText = ((XSSFSimpleShape)shape).getText();
- if (boxText.length() > 0){
- text.append(boxText);
- text.append('\n');
+ XSSFDrawing drawing = sheet.getDrawingPatriarch();
+ if (drawing != null) {
+ for (XSSFShape shape : drawing.getShapes()){
+ if (shape instanceof XSSFSimpleShape){
+ String boxText = ((XSSFSimpleShape)shape).getText();
+ if (boxText.length() > 0){
+ text.append(boxText);
+ text.append('\n');
+ }
}
}
}