com.aspose.words

Class FileFormatUtil

  • java.lang.Object
    • com.aspose.words.FileFormatUtil
public abstract class FileFormatUtil 
extends java.lang.Object

Provides utility methods for working with file formats, such as detecting file format or converting file extensions to/from file format enums.

Example:

Shows how to detect encoding in an html file.
// 'DetectFileFormat' not working on a non-html files
FileFormatInfo info = FileFormatUtil.detectFileFormat(getMyDir() + "Document.doc");
Assert.assertEquals(info.getLoadFormat(), LoadFormat.DOC);
Assert.assertNull(info.getEncoding());

// This time the property will not be null
info = FileFormatUtil.detectFileFormat(getMyDir() + "Document.LoadFormat.html");
Assert.assertEquals(info.getLoadFormat(), LoadFormat.HTML);
Assert.assertNotNull(info.getEncoding());

// It now has some more useful information
Assert.assertEquals(info.getEncoding().displayName(), "windows-1252");

Method Summary
static intcontentTypeToLoadFormat(java.lang.String contentType)
Converts IANA content type into a load format enumerated value.
static intcontentTypeToSaveFormat(java.lang.String contentType)
Converts IANA content type into a save format enumerated value.
static FileFormatInfodetectFileFormat(java.io.InputStream stream)
Detects and returns the information about a format of a document stored in a stream.
static FileFormatInfodetectFileFormat(java.lang.String fileName)
Detects and returns the information about a format of a document stored in a disk file.
static intextensionToSaveFormat(java.lang.String extension)
Converts a file name extension into a SaveFormat value.
static java.lang.StringimageTypeToExtension(int imageType)
Converts an Aspose.Words image type enumerated value into a file extension. The returned extension is a lower-case string with a leading dot.
static java.lang.StringloadFormatToExtension(int loadFormat)
Converts a load format enumerated value into a file extension. The returned extension is a lower-case string with a leading dot.
static intloadFormatToSaveFormat(int loadFormat)
Converts a LoadFormat value to a SaveFormat value if possible.
static java.lang.StringsaveFormatToExtension(int saveFormat)
Converts a save format enumerated value into a file extension. The returned extension is a lower-case string with a leading dot.
static intsaveFormatToLoadFormat(int saveFormat)
Converts a SaveFormat value to a LoadFormat value if possible.
 

    • Method Detail

      • contentTypeToLoadFormat

        public static int contentTypeToLoadFormat(java.lang.String contentType)
        Converts IANA content type into a load format enumerated value.

        Example:

        Shows how to find the corresponding Aspose load/save format from an IANA content type string.
        // Trying to search for a SaveFormat with a simple string will not work
        try {
            Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("jpeg"), SaveFormat.JPEG);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
        
        // The convertion methods only accept official IANA type names, which are all listed here:
        //      https://www.iana.org/assignments/media-types/media-types.xhtml
        // Note that if a corresponding SaveFormat or LoadFormat for a type from that list does not exist in the Aspose enums,
        // converting will raise an exception just like in the code above 
        
        // File types that can be saved to but not opened as documents will not have corresponding load formats
        // Attempting to convert them to load formats will raise an exception
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("image/jpeg"), SaveFormat.JPEG);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("image/png"), SaveFormat.PNG);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("image/tiff"), SaveFormat.TIFF);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("image/gif"), SaveFormat.GIF);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("image/x-emf"), SaveFormat.EMF);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("application/vnd.ms-xpsdocument"), SaveFormat.XPS);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("application/pdf"), SaveFormat.PDF);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("image/svg+xml"), SaveFormat.SVG);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("application/epub+zip"), SaveFormat.EPUB);
        
        // File types that can both be loaded and saved have corresponding load and save formats
        Assert.assertEquals(FileFormatUtil.contentTypeToLoadFormat("application/msword"), LoadFormat.DOC);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("application/msword"), SaveFormat.DOC);
        
        Assert.assertEquals(FileFormatUtil.contentTypeToLoadFormat("application/vnd.openxmlformats-officedocument.wordprocessingml.document"), LoadFormat.DOCX);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("application/vnd.openxmlformats-officedocument.wordprocessingml.document"), SaveFormat.DOCX);
        
        Assert.assertEquals(FileFormatUtil.contentTypeToLoadFormat("text/plain"), LoadFormat.TEXT);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("text/plain"), SaveFormat.TEXT);
        
        Assert.assertEquals(FileFormatUtil.contentTypeToLoadFormat("application/rtf"), LoadFormat.RTF);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("application/rtf"), SaveFormat.RTF);
        
        Assert.assertEquals(FileFormatUtil.contentTypeToLoadFormat("text/html"), LoadFormat.HTML);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("text/html"), SaveFormat.HTML);
        
        Assert.assertEquals(FileFormatUtil.contentTypeToLoadFormat("multipart/related"), LoadFormat.MHTML);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("multipart/related"), SaveFormat.MHTML);
      • contentTypeToSaveFormat

        public static int contentTypeToSaveFormat(java.lang.String contentType)
        Converts IANA content type into a save format enumerated value.

        Example:

        Shows how to find the corresponding Aspose load/save format from an IANA content type string.
        // Trying to search for a SaveFormat with a simple string will not work
        try {
            Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("jpeg"), SaveFormat.JPEG);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
        
        // The convertion methods only accept official IANA type names, which are all listed here:
        //      https://www.iana.org/assignments/media-types/media-types.xhtml
        // Note that if a corresponding SaveFormat or LoadFormat for a type from that list does not exist in the Aspose enums,
        // converting will raise an exception just like in the code above 
        
        // File types that can be saved to but not opened as documents will not have corresponding load formats
        // Attempting to convert them to load formats will raise an exception
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("image/jpeg"), SaveFormat.JPEG);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("image/png"), SaveFormat.PNG);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("image/tiff"), SaveFormat.TIFF);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("image/gif"), SaveFormat.GIF);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("image/x-emf"), SaveFormat.EMF);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("application/vnd.ms-xpsdocument"), SaveFormat.XPS);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("application/pdf"), SaveFormat.PDF);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("image/svg+xml"), SaveFormat.SVG);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("application/epub+zip"), SaveFormat.EPUB);
        
        // File types that can both be loaded and saved have corresponding load and save formats
        Assert.assertEquals(FileFormatUtil.contentTypeToLoadFormat("application/msword"), LoadFormat.DOC);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("application/msword"), SaveFormat.DOC);
        
        Assert.assertEquals(FileFormatUtil.contentTypeToLoadFormat("application/vnd.openxmlformats-officedocument.wordprocessingml.document"), LoadFormat.DOCX);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("application/vnd.openxmlformats-officedocument.wordprocessingml.document"), SaveFormat.DOCX);
        
        Assert.assertEquals(FileFormatUtil.contentTypeToLoadFormat("text/plain"), LoadFormat.TEXT);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("text/plain"), SaveFormat.TEXT);
        
        Assert.assertEquals(FileFormatUtil.contentTypeToLoadFormat("application/rtf"), LoadFormat.RTF);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("application/rtf"), SaveFormat.RTF);
        
        Assert.assertEquals(FileFormatUtil.contentTypeToLoadFormat("text/html"), LoadFormat.HTML);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("text/html"), SaveFormat.HTML);
        
        Assert.assertEquals(FileFormatUtil.contentTypeToLoadFormat("multipart/related"), LoadFormat.MHTML);
        Assert.assertEquals(FileFormatUtil.contentTypeToSaveFormat("multipart/related"), SaveFormat.MHTML);
      • detectFileFormat

        public static FileFormatInfo detectFileFormat(java.io.InputStream stream)
                                                   throws java.lang.Exception
        Detects and returns the information about a format of a document stored in a stream.

        The stream must be positioned at the beginning of the document.

        Detecting a file format might require seeking to various positions in the stream. Because java.io.InputStream is not seekable, this method loads the whole stream into memory temporarily. When this method returns, the stream is positioned at the end of the document.

        Even if this method detects the document format, it does not guarantee that the specified document is valid. This method only detects the document format by reading data that is sufficient for detection. To fully verify that a document is valid you need to load the document into a Document object.

        This method throws FileCorruptedException when the format is recognized, but the detection cannot complete because of corruption.

        Parameters:
        stream - The stream.
        Returns:
        A FileFormatInfo object that contains the detected information.

        Example:

        Shows how to use the FileFormatUtil methods to detect the format of a document without any extension and save it with the correct file extension.
        // Load the document without a file extension into a stream and use the DetectFileFormat method to detect it's format. 
        // These are both times where you might need extract the file format as it's not visible
        // The file format of this document is actually ".doc"
        FileInputStream docStream = new FileInputStream(getMyDir() + "Document.FileWithoutExtension");
        FileFormatInfo info = FileFormatUtil.detectFileFormat(docStream);
        
        // Retrieve the LoadFormat of the document.
        int loadFormat = info.getLoadFormat();
        
        // Let's show the different methods of converting LoadFormat enumerations to SaveFormat enumerations.
        //
        // Method #1
        // Convert the LoadFormat to a String first for working with. The String will include the leading dot in front of the extension.
        String fileExtension = FileFormatUtil.loadFormatToExtension(loadFormat);
        // Now convert this extension into the corresponding SaveFormat enumeration
        int saveFormat = FileFormatUtil.extensionToSaveFormat(fileExtension);
        
        // Method #2
        // Convert the LoadFormat enumeration directly to the SaveFormat enumeration.
        saveFormat = FileFormatUtil.loadFormatToSaveFormat(loadFormat);
        
        // Load a document from the stream.
        Document doc = new Document(docStream);
        
        // Save the document with the original file name, " Out" and the document's file extension.
        doc.save(getArtifactsDir() + "Document.WithFileExtension" + FileFormatUtil.saveFormatToExtension(saveFormat));
      • detectFileFormat

        public static FileFormatInfo detectFileFormat(java.lang.String fileName)
                                                   throws java.lang.Exception
        Detects and returns the information about a format of a document stored in a disk file.

        Even if this method detects the document format, it does not guarantee that the specified document is valid. This method only detects the document format by reading data that is sufficient for detection. To fully verify that a document is valid you need to load the document into a Document object.

        This method throws FileCorruptedException when the format is recognized, but the detection cannot complete because of corruption.

        Parameters:
        fileName - The file name.
        Returns:
        A FileFormatInfo object that contains the detected information.

        Example:

        Shows how to check a document for digital signatures before loading it into a Document object.
        // The path to the document which is to be processed.
        String filePath = getMyDir() + "Document.Signed.docx";
        
        FileFormatInfo info = FileFormatUtil.detectFileFormat(filePath);
        if (info.hasDigitalSignature()) {
            System.out.println("Document " + Paths.get(filePath) + " has digital signatures, they will be lost if you open/save this document with Aspose.Words.");
        }

        Example:

        Shows how to use the FileFormatUtil class to detect the document format and other features of the document.
        FileFormatInfo info = FileFormatUtil.detectFileFormat(getMyDir() + "Document.doc");
        System.out.println("The document format is: " + FileFormatUtil.loadFormatToExtension(info.getLoadFormat()));
        System.out.println("Document is encrypted: " + info.isEncrypted());
        System.out.println("Document has a digital signature: " + info.hasDigitalSignature());
      • extensionToSaveFormat

        public static int extensionToSaveFormat(java.lang.String extension)
        Converts a file name extension into a SaveFormat value.

        If the extension cannot be recognized, returns SaveFormat.UNKNOWN.

        Parameters:
        extension - The file extension. Can be with or without a leading dot. Case-insensitive.

        Example:

        Shows how to use the FileFormatUtil methods to detect the format of a document without any extension and save it with the correct file extension.
        // Load the document without a file extension into a stream and use the DetectFileFormat method to detect it's format. 
        // These are both times where you might need extract the file format as it's not visible
        // The file format of this document is actually ".doc"
        FileInputStream docStream = new FileInputStream(getMyDir() + "Document.FileWithoutExtension");
        FileFormatInfo info = FileFormatUtil.detectFileFormat(docStream);
        
        // Retrieve the LoadFormat of the document.
        int loadFormat = info.getLoadFormat();
        
        // Let's show the different methods of converting LoadFormat enumerations to SaveFormat enumerations.
        //
        // Method #1
        // Convert the LoadFormat to a String first for working with. The String will include the leading dot in front of the extension.
        String fileExtension = FileFormatUtil.loadFormatToExtension(loadFormat);
        // Now convert this extension into the corresponding SaveFormat enumeration
        int saveFormat = FileFormatUtil.extensionToSaveFormat(fileExtension);
        
        // Method #2
        // Convert the LoadFormat enumeration directly to the SaveFormat enumeration.
        saveFormat = FileFormatUtil.loadFormatToSaveFormat(loadFormat);
        
        // Load a document from the stream.
        Document doc = new Document(docStream);
        
        // Save the document with the original file name, " Out" and the document's file extension.
        doc.save(getArtifactsDir() + "Document.WithFileExtension" + FileFormatUtil.saveFormatToExtension(saveFormat));
      • imageTypeToExtension

        public static java.lang.String imageTypeToExtension(int imageType)
        Converts an Aspose.Words image type enumerated value into a file extension. The returned extension is a lower-case string with a leading dot.
        Parameters:
        imageType - A ImageType value.

        Example:

        Shows how to extract images from a document and save them as files.
        public void extractImagesToFiles() throws Exception {
            Document doc = new Document(getMyDir() + "Image.SampleImages.doc");
        
            NodeCollection shapes = doc.getChildNodes(NodeType.SHAPE, true);
            int imageIndex = 0;
            for (Shape shape : (Iterable<Shape>) shapes) {
                if (shape.hasImage()) {
                    String imageFileName = MessageFormat.format("Image.ExportImages.{0}{1}", imageIndex,
                            FileFormatUtil.imageTypeToExtension(shape.getImageData().getImageType()));
                    shape.getImageData().save(getArtifactsDir() + imageFileName);
                    imageIndex++;
                }
            }
        }
      • loadFormatToExtension

        public static java.lang.String loadFormatToExtension(int loadFormat)
        Converts a load format enumerated value into a file extension. The returned extension is a lower-case string with a leading dot.

        The SaveFormat.WORD_ML value is converted to ".wml".

        Parameters:
        loadFormat - A LoadFormat value.

        Example:

        Shows how to use the FileFormatUtil methods to detect the format of a document without any extension and save it with the correct file extension.
        // Load the document without a file extension into a stream and use the DetectFileFormat method to detect it's format. 
        // These are both times where you might need extract the file format as it's not visible
        // The file format of this document is actually ".doc"
        FileInputStream docStream = new FileInputStream(getMyDir() + "Document.FileWithoutExtension");
        FileFormatInfo info = FileFormatUtil.detectFileFormat(docStream);
        
        // Retrieve the LoadFormat of the document.
        int loadFormat = info.getLoadFormat();
        
        // Let's show the different methods of converting LoadFormat enumerations to SaveFormat enumerations.
        //
        // Method #1
        // Convert the LoadFormat to a String first for working with. The String will include the leading dot in front of the extension.
        String fileExtension = FileFormatUtil.loadFormatToExtension(loadFormat);
        // Now convert this extension into the corresponding SaveFormat enumeration
        int saveFormat = FileFormatUtil.extensionToSaveFormat(fileExtension);
        
        // Method #2
        // Convert the LoadFormat enumeration directly to the SaveFormat enumeration.
        saveFormat = FileFormatUtil.loadFormatToSaveFormat(loadFormat);
        
        // Load a document from the stream.
        Document doc = new Document(docStream);
        
        // Save the document with the original file name, " Out" and the document's file extension.
        doc.save(getArtifactsDir() + "Document.WithFileExtension" + FileFormatUtil.saveFormatToExtension(saveFormat));
      • loadFormatToSaveFormat

        public static int loadFormatToSaveFormat(int loadFormat)
        Converts a LoadFormat value to a SaveFormat value if possible.
        Parameters:
        loadFormat - A LoadFormat value.

        Example:

        Shows how to use the FileFormatUtil methods to detect the format of a document without any extension and save it with the correct file extension.
        // Load the document without a file extension into a stream and use the DetectFileFormat method to detect it's format. 
        // These are both times where you might need extract the file format as it's not visible
        // The file format of this document is actually ".doc"
        FileInputStream docStream = new FileInputStream(getMyDir() + "Document.FileWithoutExtension");
        FileFormatInfo info = FileFormatUtil.detectFileFormat(docStream);
        
        // Retrieve the LoadFormat of the document.
        int loadFormat = info.getLoadFormat();
        
        // Let's show the different methods of converting LoadFormat enumerations to SaveFormat enumerations.
        //
        // Method #1
        // Convert the LoadFormat to a String first for working with. The String will include the leading dot in front of the extension.
        String fileExtension = FileFormatUtil.loadFormatToExtension(loadFormat);
        // Now convert this extension into the corresponding SaveFormat enumeration
        int saveFormat = FileFormatUtil.extensionToSaveFormat(fileExtension);
        
        // Method #2
        // Convert the LoadFormat enumeration directly to the SaveFormat enumeration.
        saveFormat = FileFormatUtil.loadFormatToSaveFormat(loadFormat);
        
        // Load a document from the stream.
        Document doc = new Document(docStream);
        
        // Save the document with the original file name, " Out" and the document's file extension.
        doc.save(getArtifactsDir() + "Document.WithFileExtension" + FileFormatUtil.saveFormatToExtension(saveFormat));
      • saveFormatToExtension

        public static java.lang.String saveFormatToExtension(int saveFormat)
        Converts a save format enumerated value into a file extension. The returned extension is a lower-case string with a leading dot.

        The SaveFormat.WORD_ML value is converted to ".wml".

        The SaveFormat.FLAT_OPC value is converted to ".fopc".

        Parameters:
        saveFormat - A SaveFormat value.

        Example:

        Shows how to use the FileFormatUtil methods to detect the format of a document without any extension and save it with the correct file extension.
        // Load the document without a file extension into a stream and use the DetectFileFormat method to detect it's format. 
        // These are both times where you might need extract the file format as it's not visible
        // The file format of this document is actually ".doc"
        FileInputStream docStream = new FileInputStream(getMyDir() + "Document.FileWithoutExtension");
        FileFormatInfo info = FileFormatUtil.detectFileFormat(docStream);
        
        // Retrieve the LoadFormat of the document.
        int loadFormat = info.getLoadFormat();
        
        // Let's show the different methods of converting LoadFormat enumerations to SaveFormat enumerations.
        //
        // Method #1
        // Convert the LoadFormat to a String first for working with. The String will include the leading dot in front of the extension.
        String fileExtension = FileFormatUtil.loadFormatToExtension(loadFormat);
        // Now convert this extension into the corresponding SaveFormat enumeration
        int saveFormat = FileFormatUtil.extensionToSaveFormat(fileExtension);
        
        // Method #2
        // Convert the LoadFormat enumeration directly to the SaveFormat enumeration.
        saveFormat = FileFormatUtil.loadFormatToSaveFormat(loadFormat);
        
        // Load a document from the stream.
        Document doc = new Document(docStream);
        
        // Save the document with the original file name, " Out" and the document's file extension.
        doc.save(getArtifactsDir() + "Document.WithFileExtension" + FileFormatUtil.saveFormatToExtension(saveFormat));
      • saveFormatToLoadFormat

        public static int saveFormatToLoadFormat(int saveFormat)
        Converts a SaveFormat value to a LoadFormat value if possible.
        Parameters:
        saveFormat - A SaveFormat value.

        Example:

        Shows how to use the FileFormatUtil class and to convert a SaveFormat enumeration into the corresponding LoadFormat enumeration.
        // Define the SaveFormat enumeration to convert.
        int saveFormat = SaveFormat.HTML;
        // Convert the SaveFormat enumeration to LoadFormat enumeration.
        int loadFormat = FileFormatUtil.saveFormatToLoadFormat(saveFormat);
        System.out.println("The converted LoadFormat is: " + FileFormatUtil.loadFormatToExtension(loadFormat));