Package org.apache.tika.detect.microsoft
Class POIFSContainerDetector
- java.lang.Object
-
- org.apache.tika.detect.microsoft.POIFSContainerDetector
-
- All Implemented Interfaces:
Serializable,org.apache.tika.detect.Detector
public class POIFSContainerDetector extends Object implements org.apache.tika.detect.Detector
A detector that works on a POIFS OLE2 document to figure out exactly what the file is. This should work for all OLE2 documents, whether they are ones supported by POI or not.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static org.apache.tika.mime.MediaTypeCOMP_OBJSome other kind of embedded document, in a CompObj container within another OLE2 documentstatic org.apache.tika.mime.MediaTypeDGN_8static org.apache.tika.mime.MediaTypeDOCMicrosoft Wordstatic org.apache.tika.mime.MediaTypeDRM_ENCRYPTEDTIKA-3666 MSOffice or other file encrypted with DRM in an OLE containerstatic org.apache.tika.mime.MediaTypeESRI_LAYERstatic org.apache.tika.mime.MediaTypeGENERAL_EMBEDDEDGeneral embedded document type within an OLE2 containerstatic org.apache.tika.mime.MediaTypeMPPMicrosoft Projectstatic org.apache.tika.mime.MediaTypeMS_EQUATIONEquation embedded in Office docsstatic org.apache.tika.mime.MediaTypeMS_GRAPH_CHARTGraph/Charts embedded in PowerPoint and Excelstatic org.apache.tika.mime.MediaTypeMSGMicrosoft Outlookstatic StringOCX_NAMEstatic org.apache.tika.mime.MediaTypeOLEThe OLE base file formatstatic org.apache.tika.mime.MediaTypeOLE10_NATIVEAn OLE10 Native embedded document within another OLE2 documentstatic org.apache.tika.mime.MediaTypeOOXML_PROTECTEDThe protected OOXML base file formatstatic org.apache.tika.mime.MediaTypePPTMicrosoft PowerPointstatic org.apache.tika.mime.MediaTypePUBMicrosoft Publisherstatic org.apache.tika.mime.MediaTypeSDAStarOffice Drawstatic org.apache.tika.mime.MediaTypeSDCStarOffice Calcstatic org.apache.tika.mime.MediaTypeSDDStarOffice Impressstatic org.apache.tika.mime.MediaTypeSDWStarOffice Writerstatic org.apache.tika.mime.MediaTypeSLDWORKSSolidWorks CAD filestatic org.apache.tika.mime.MediaTypeVSDMicrosoft Visiostatic org.apache.tika.mime.MediaTypeWPSMicrosoft Worksstatic org.apache.tika.mime.MediaTypeXLRMicrosoft Works Spreadsheet 7.0static org.apache.tika.mime.MediaTypeXLSMicrosoft Excel
-
Constructor Summary
Constructors Constructor Description POIFSContainerDetector()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.tika.mime.MediaTypedetect(InputStream input, org.apache.tika.metadata.Metadata metadata)static org.apache.tika.mime.MediaTypedetect(Set<String> anyCaseNames, org.apache.poi.poifs.filesystem.DirectoryEntry root)Internal detection of the specific kind of OLE2 document, based on the names of the top-level streams within the file.voidsetMarkLimit(int markLimit)If a TikaInputStream is passed in todetect(InputStream, Metadata), and there is not an underlying file, this detector will spool up tomarkLimitto disk.static Set<String>tryOpenContainerOnTikaInputStream(InputStream input, org.apache.tika.metadata.Metadata metadata)
-
-
-
Field Detail
-
OLE
public static final org.apache.tika.mime.MediaType OLE
The OLE base file format
-
OOXML_PROTECTED
public static final org.apache.tika.mime.MediaType OOXML_PROTECTED
The protected OOXML base file format
-
DRM_ENCRYPTED
public static final org.apache.tika.mime.MediaType DRM_ENCRYPTED
TIKA-3666 MSOffice or other file encrypted with DRM in an OLE container
-
GENERAL_EMBEDDED
public static final org.apache.tika.mime.MediaType GENERAL_EMBEDDED
General embedded document type within an OLE2 container
-
OLE10_NATIVE
public static final org.apache.tika.mime.MediaType OLE10_NATIVE
An OLE10 Native embedded document within another OLE2 document
-
COMP_OBJ
public static final org.apache.tika.mime.MediaType COMP_OBJ
Some other kind of embedded document, in a CompObj container within another OLE2 document
-
MS_GRAPH_CHART
public static final org.apache.tika.mime.MediaType MS_GRAPH_CHART
Graph/Charts embedded in PowerPoint and Excel
-
MS_EQUATION
public static final org.apache.tika.mime.MediaType MS_EQUATION
Equation embedded in Office docs
-
OCX_NAME
public static final String OCX_NAME
- See Also:
- Constant Field Values
-
XLS
public static final org.apache.tika.mime.MediaType XLS
Microsoft Excel
-
DOC
public static final org.apache.tika.mime.MediaType DOC
Microsoft Word
-
PPT
public static final org.apache.tika.mime.MediaType PPT
Microsoft PowerPoint
-
PUB
public static final org.apache.tika.mime.MediaType PUB
Microsoft Publisher
-
VSD
public static final org.apache.tika.mime.MediaType VSD
Microsoft Visio
-
WPS
public static final org.apache.tika.mime.MediaType WPS
Microsoft Works
-
XLR
public static final org.apache.tika.mime.MediaType XLR
Microsoft Works Spreadsheet 7.0
-
MSG
public static final org.apache.tika.mime.MediaType MSG
Microsoft Outlook
-
MPP
public static final org.apache.tika.mime.MediaType MPP
Microsoft Project
-
SDC
public static final org.apache.tika.mime.MediaType SDC
StarOffice Calc
-
SDA
public static final org.apache.tika.mime.MediaType SDA
StarOffice Draw
-
SDD
public static final org.apache.tika.mime.MediaType SDD
StarOffice Impress
-
SDW
public static final org.apache.tika.mime.MediaType SDW
StarOffice Writer
-
SLDWORKS
public static final org.apache.tika.mime.MediaType SLDWORKS
SolidWorks CAD file
-
ESRI_LAYER
public static final org.apache.tika.mime.MediaType ESRI_LAYER
-
DGN_8
public static final org.apache.tika.mime.MediaType DGN_8
-
-
Method Detail
-
detect
public static org.apache.tika.mime.MediaType detect(Set<String> anyCaseNames, org.apache.poi.poifs.filesystem.DirectoryEntry root)
Internal detection of the specific kind of OLE2 document, based on the names of the top-level streams within the file. In some cases the detection may need access to the rootDirectoryEntryof that file for best results. The entry can be given as a second, optional argument. Following 2.6.1 of MS-CFB , The detection is performed on case insensitive entry names.- Parameters:
anyCaseNames-root-- Returns:
-
setMarkLimit
public void setMarkLimit(int markLimit)
If a TikaInputStream is passed in todetect(InputStream, Metadata), and there is not an underlying file, this detector will spool up tomarkLimitto disk. If the stream was read in entirety (e.g. the spooled file is not truncated), this detector will open the file with POI and perform detection. If the spooled file is truncated, the detector will returnOLE(orMediaType.OCTET_STREAMif there's no OLE header).As of Tika 1.21, this detector respects the legacy behavior of not performing detection on a non-TikaInputStream.
- Parameters:
markLimit-
-
detect
public org.apache.tika.mime.MediaType detect(InputStream input, org.apache.tika.metadata.Metadata metadata) throws IOException
- Specified by:
detectin interfaceorg.apache.tika.detect.Detector- Throws:
IOException
-
tryOpenContainerOnTikaInputStream
public static Set<String> tryOpenContainerOnTikaInputStream(InputStream input, org.apache.tika.metadata.Metadata metadata)
-
-