public class POIFSContainerDetector extends Object implements Detector
Modifier and Type | Field and Description |
---|---|
static MediaType |
COMP_OBJ
Some other kind of embedded document, in a CompObj container within another OLE2 document
|
static MediaType |
DOC
Microsoft Word
|
static MediaType |
ESRI_LAYER |
static MediaType |
GENERAL_EMBEDDED
General embedded document type within an OLE2 container
|
static MediaType |
MPP
Microsoft Project
|
static MediaType |
MS_EQUATION
Equation embedded in Office docs
|
static MediaType |
MS_GRAPH_CHART
Graph/Charts embedded in PowerPoint and Excel
|
static MediaType |
MSG
Microsoft Outlook
|
static MediaType |
OLE
The OLE base file format
|
static MediaType |
OLE10_NATIVE
An OLE10 Native embedded document within another OLE2 document
|
static MediaType |
OOXML_PROTECTED
The protected OOXML base file format
|
static MediaType |
PPT
Microsoft PowerPoint
|
static MediaType |
PUB
Microsoft Publisher
|
static MediaType |
SDA
StarOffice Draw
|
static MediaType |
SDC
StarOffice Calc
|
static MediaType |
SDD
StarOffice Impress
|
static MediaType |
SDW
StarOffice Writer
|
static MediaType |
SLDWORKS
SolidWorks CAD file
|
static MediaType |
VSD
Microsoft Visio
|
static MediaType |
WPS
Microsoft Works
|
static MediaType |
XLR
Microsoft Works Spreadsheet 7.0
|
static MediaType |
XLS
Microsoft Excel
|
Constructor and Description |
---|
POIFSContainerDetector() |
Modifier and Type | Method and Description |
---|---|
MediaType |
detect(InputStream input,
Metadata metadata)
Detects the content type of the given input document.
|
static MediaType |
detect(Set<String> names)
Deprecated.
Use
detect(Set, DirectoryEntry) and pass the root
entry of the filesystem whose type is to be detected, as a
second argument. |
static MediaType |
detect(Set<String> names,
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.
|
void |
setMarkLimit(int markLimit)
If a TikaInputStream is passed in to
detect(InputStream, Metadata) ,
and there is not an underlying file, this detector will spool up to markLimit
to disk. |
public static final MediaType OLE
public static final MediaType OOXML_PROTECTED
public static final MediaType GENERAL_EMBEDDED
public static final MediaType OLE10_NATIVE
public static final MediaType COMP_OBJ
public static final MediaType MS_GRAPH_CHART
public static final MediaType MS_EQUATION
public static final MediaType XLS
public static final MediaType DOC
public static final MediaType PPT
public static final MediaType PUB
public static final MediaType VSD
public static final MediaType WPS
public static final MediaType XLR
public static final MediaType MSG
public static final MediaType MPP
public static final MediaType SDC
public static final MediaType SDA
public static final MediaType SDD
public static final MediaType SDW
public static final MediaType SLDWORKS
public static final MediaType ESRI_LAYER
public static MediaType detect(Set<String> names)
detect(Set, DirectoryEntry)
and pass the root
entry of the filesystem whose type is to be detected, as a
second argument.public static MediaType detect(Set<String> names, org.apache.poi.poifs.filesystem.DirectoryEntry root)
DirectoryEntry
of that file
for best results. The entry can be given as a second, optional argument.names
- root
- public void setMarkLimit(int markLimit)
detect(InputStream, Metadata)
,
and there is not an underlying file, this detector will spool up to markLimit
to 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 return OLE
(or
MediaType.OCTET_STREAM
if there's no OLE header).
As of Tika 1.21, this detector respects the legacy behavior of not performing detection on a non-TikaInputStream.
markLimit
- public MediaType detect(InputStream input, Metadata metadata) throws IOException
Detector
application/octet-stream
if the type of the document
can not be detected.
If the document input stream is not available, then the first
argument may be null
. Otherwise the detector may
read bytes from the start of the stream to help in type detection.
The given stream is guaranteed to support the
mark feature
and the detector
is expected to mark
the stream before
reading any bytes from it, and to reset
the stream before returning. The stream must not be closed by the
detector.
The given input metadata is only read, not modified, by the detector.
detect
in interface Detector
input
- document input stream, or null
metadata
- input metadata for the documentapplication/octet-stream
IOException
- if the document input stream could not be readCopyright © 2007–2022 The Apache Software Foundation. All rights reserved.