public abstract class POIXMLDocument extends POIXMLDocumentPart implements java.io.Closeable
POIXMLDocumentPart.RelationPart
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DOCUMENT_CREATOR |
static java.lang.String |
OLE_OBJECT_REL_TYPE |
static java.lang.String |
PACK_OBJECT_REL_TYPE |
Modifier | Constructor and Description |
---|---|
protected |
POIXMLDocument(OPCPackage pkg) |
protected |
POIXMLDocument(OPCPackage pkg,
java.lang.String coreDocumentRel) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the underlying
OPCPackage from which this
document was read, if there is one |
abstract java.util.List<PackagePart> |
getAllEmbeddedParts()
Get the document's embedded files.
|
java.util.List<PackagePart> |
getAllEmbedds()
Deprecated.
use
getAllEmbeddedParts instead |
protected PackagePart |
getCorePart() |
OPCPackage |
getPackage()
Get the assigned OPCPackage
|
POIXMLProperties |
getProperties()
Get the document properties.
|
protected PackagePart[] |
getRelatedByType(java.lang.String contentType)
Retrieves all the PackageParts which are defined as relationships of the base document with the
specified content type.
|
protected void |
load(POIXMLFactory factory) |
static OPCPackage |
openPackage(java.lang.String path)
Wrapper to open a package, which works around shortcomings in java's this() constructor calls
|
void |
write(java.io.OutputStream stream)
Write out this document to an Outputstream.
|
_invokeOnDocumentRead, addRelation, commit, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationPartById, getRelationParts, getRelations, getTargetPart, isCommited, onDocumentCreate, onDocumentRead, onDocumentRemove, onSave, prepareForCommit, read, rebase, removeRelation, removeRelation, removeRelation, setCommited, toString
public static final java.lang.String DOCUMENT_CREATOR
public static final java.lang.String OLE_OBJECT_REL_TYPE
public static final java.lang.String PACK_OBJECT_REL_TYPE
protected POIXMLDocument(OPCPackage pkg)
protected POIXMLDocument(OPCPackage pkg, java.lang.String coreDocumentRel)
public static OPCPackage openPackage(java.lang.String path) throws java.io.IOException
path
- the path to the documentjava.io.IOException
- if there was a problem opening the documentpublic OPCPackage getPackage()
protected PackagePart getCorePart()
protected PackagePart[] getRelatedByType(java.lang.String contentType) throws InvalidFormatException
contentType
- the content typeInvalidFormatException
- when the relationships or the parts contain errorsXSSFRelation
,
XSLFRelation
,
XWPFRelation
,
XDGFRelation
public POIXMLProperties getProperties()
@Deprecated @Removal(version="4.2") public java.util.List<PackagePart> getAllEmbedds() throws OpenXML4JException
getAllEmbeddedParts
insteadOpenXML4JException
- if the embedded parts can't be determinedpublic abstract java.util.List<PackagePart> getAllEmbeddedParts() throws OpenXML4JException
OpenXML4JException
- if the embedded parts can't be determinedprotected final void load(POIXMLFactory factory) throws java.io.IOException
java.io.IOException
public void close() throws java.io.IOException
OPCPackage
from which this
document was read, if there is one
Once this has been called, no further operations, updates or reads should be performed on the document.
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
java.io.IOException
- for writable packages, if an IO exception occur during the saving process.public final void write(java.io.OutputStream stream) throws java.io.IOException
File
rather
than an InputStream
, you must write out to
a different file, overwriting via an OutputStream isn't possible.
If stream
is a FileOutputStream
on a networked drive
or has a high cost/latency associated with each written byte,
consider wrapping the OutputStream in a BufferedOutputStream
to improve write performance.stream
- - the java OutputStream you wish to write the file tojava.io.IOException
- if anything can't be written.Copyright 2018 The Apache Software Foundation or its licensors, as applicable.