You can convert XPS to ODT by using two simple steps. First you need to render XPS file to DOC using Aspose.PDF for Java . After that, by using powerful Document Processing API Aspose.Words for Java , you can convert DOC to ODT. Both APIs come under Aspose.Total for Java package.
Java API to Convert XPS to ODT
Get Started with Java File Manipulation APIs
You can easily use Aspose.Total for Java directly from a Maven based project and include Aspose.PDF for Java and Aspose.Words for Java in your pom.xml.
Alternatively, you can get a ZIP file from downloads .
// load XPS file with an instance of Document class
Document document = new Document("template.xps");
// save XPS as a DOC
document.save("DocOutput.doc", SaveFormat.DOC);
// load DOC with an instance of Document
Document outputDocument = new com.aspose.words.Document("DocOutput.doc");
// call save method while passing SaveFormat.ODT
outputDocument.save("output.odt", SaveFormat.ODT);
Open Password Protected XPS Document via Java
While converting XPS to ODT, even if your document is password protected, you can still open it using PDF Manipulation API Aspose.PDF for Java . In order to open the encrypted file, you need to create a Document object and open the XPS using the owner’s password.
Document document = new Document("input.xps", "password");
// save XPS as a DOC
document.save("DocOutput.doc", SaveFormat.DOC);
Save ODT Document to a Database via Java
While saving your input document to ODT file format, you can also save your document to database instead of a file system. You may need to implement storing and retrieving Document objects to and from a database. This would be necessary if you were implementing any type of content management system. In order to save your ODT to database it is often necessary to serialize the document to obtain a byte array. This can be done using Aspose.Words for Java API. After getting your byte array, you can store it in the database using SQL statement.
public static void StoreToDatabase(Document doc, Connection mConnection) throws Exception {
// create an output stream which uses byte array to save data
ByteArrayOutputStream aout = new ByteArrayOutputStream();
// save the document to byte array
doc.save(aout, SaveFormat.ODT);
// get the byte array from output steam
// the byte array now contains the document
byte[] buffer = aout.toByteArray();
// get the filename from the document.
String fileName = doc.getOriginalFileName();
String filePath = fileName.replace("\\", "\\\\");
// create the SQL command.
String commandString = "INSERT INTO Documents (FileName, FileContent) VALUES('" + filePath + "', '" + buffer + "')";
Statement statement = mConnection.createStatement();
statement.executeUpdate(commandString);
}
Explore XPS Conversion Options with Java
What is XPS File Format
XPS is a file format that represents a fixed-layout document, which includes document content and print settings. XPS files are based on the XML Paper Specification, which was developed by Microsoft. XPS files are similar to PDF files, but they are not as widely supported by software and hardware.
Read MoreWhat is ODT File Format
OpenDocument Text File Format (ODT) is a file format for storing and exchanging text documents. It is an open standard developed by the OpenDocument Foundation. ODT is based on the XML format and uses the ZIP compression algorithm.ODT files are compatible with a variety of word processing applications, including Microsoft Word, LibreOffice, and Apache OpenOffice. ODT files can be opened and edited without any special software.ODT files are typically saved with a .odt file extension.
Read More