com.groupdocs.parser.data

Class PageImageArea

    • Constructor Detail

      • PageImageArea

        public PageImageArea(InputStream imageStream,
                     FileType fileType,
                     double rotation)
        Initializes a new instance of the PageImageArea class.
        Parameters:
        imageStream - The stream of the image.
        fileType - The format of the image.
        rotation - The rotation angle of the image.
      • PageImageArea

        public PageImageArea(InputStream imageStream,
                     FileType fileType,
                     double rotation,
                     Page page,
                     Rectangle rectangle)
        Initializes a new instance of the PageImageArea class.
        Parameters:
        imageStream - The stream of the image.
        fileType - The format of the image.
        rotation - The rotation angle of the image.
        page - The page that contains the image.
        rectangle - The rectangular area that contains the image.
    • Method Detail

      • getFileType

        public FileType getFileType()
        Gets the format of the image.
        Returns:
        An instance of FileType class that represents the format of the image.
      • getRotation

        public double getRotation()
        Gets the rotation angle of the image.
        Returns:
        A double value that represents the rotation angle of the image.
      • getImageStream

        public InputStream getImageStream()
        Returns the image stream.

        The following example shows how to save images to files:

        // Create an instance of Parser class
         try (Parser parser = new Parser(Constants.SampleZip)) {
             // Extract images from document
             Iterable<PageImageArea> images = parser.getImages();
             // Check if images extraction is supported
             if (images == null) {
                 System.out.println("Page images extraction isn't supported");
                 return;
             }
             int imageNumber = 0;
             // Iterate over images
             for (PageImageArea image : images) {
                 // Open the image stream
                 try (InputStream imageStream = image.getImageStream()) {
                     // Create the file to save image
                     try (OutputStream destStream = new FileOutputStream(imageNumber + image.getFileType().getExtension())) {
                         byte[] buffer = new byte[4096];
                         int readed = 0;
                         do {
                             // Read data from the image stream
                             readed = imageStream.read(buffer, 0, buffer.length);
                             if (readed > 0) {
                                 // Write data to the file stream
                                 destStream.write(buffer, 0, readed);
                             }
                         }
                         while (readed > 0);
                     }
                     imageNumber++;
                 }
             }
         }
         
        Returns:
        A stream with the image.