mirror of https://github.com/apache/poi.git
Detect if a file is actually PDF instead of .doc similar to how it is already done for RTF
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1674951 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
63598c852d
commit
208955bc8c
|
@ -85,7 +85,7 @@ public abstract class HWPFDocumentCore extends POIDocument
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Takens an InputStream, verifies that it's not RTF, builds a
|
* Takens an InputStream, verifies that it's not RTF or PDF, builds a
|
||||||
* POIFSFileSystem from it, and returns that.
|
* POIFSFileSystem from it, and returns that.
|
||||||
*/
|
*/
|
||||||
public static POIFSFileSystem verifyAndBuildPOIFS(InputStream istream) throws IOException {
|
public static POIFSFileSystem verifyAndBuildPOIFS(InputStream istream) throws IOException {
|
||||||
|
@ -98,9 +98,11 @@ public abstract class HWPFDocumentCore extends POIDocument
|
||||||
if(first6[0] == '{' && first6[1] == '\\' && first6[2] == 'r'
|
if(first6[0] == '{' && first6[1] == '\\' && first6[2] == 'r'
|
||||||
&& first6[3] == 't' && first6[4] == 'f') {
|
&& first6[3] == 't' && first6[4] == 'f') {
|
||||||
throw new IllegalArgumentException("The document is really a RTF file");
|
throw new IllegalArgumentException("The document is really a RTF file");
|
||||||
|
} else if(first6[0] == '%' && first6[1] == 'P' && first6[2] == 'D' && first6[3] == 'F' ) {
|
||||||
|
throw new IllegalArgumentException("The document is really a PDF file");
|
||||||
}
|
}
|
||||||
|
|
||||||
// OK, so it's not RTF
|
// OK, so it's neither RTF nor PDF
|
||||||
// Open a POIFSFileSystem on the (pushed back) stream
|
// Open a POIFSFileSystem on the (pushed back) stream
|
||||||
pis.unread(first6);
|
pis.unread(first6);
|
||||||
return new POIFSFileSystem(pis);
|
return new POIFSFileSystem(pis);
|
||||||
|
|
Loading…
Reference in New Issue