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.
      • getImageStream

        public InputStream getImageStream(ImageOptions options)
        Returns the image stream in a different format.

        The following example shows how to save images in PNG format:

         // 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;
             }
        
             // Create the options to save images in PNG format
             ImageOptions options = new ImageOptions(ImageFormat.Png);
        
             int imageNumber = 0;
             // Iterate over images
             for (PageImageArea image : images) {
                 // Open the image stream
                 try (InputStream imageStream = image.getImageStream(options)) {
                     // Create the file to save image
                     try (OutputStream destStream = new FileOutputStream(imageNumber + ".png")) {
                         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++;
                 }
             }
         }
         
        Parameters:
        options - The options which are used to extract the image.
        Returns:
        A stream with the image
      • save

        public void save(String filePath)
        Saves the image to the file.

        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)
             {
                 // Save the image to the file
                 image.save(Constants.getOutputFilePath(String.format("%d", imageNumber) + image.getFileType().getExtension()));
        
                 imageNumber++;
             }
         }
         
        Parameters:
        filePath - The path to the file.
      • save

        public void save(String filePath,
                         ImageOptions options)
        Saves the image to the file in a different format.

        The following example shows how to save images to files in PNG format:

         // 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;
             }
        
             // Create the options to save images in PNG format
             ImageOptions options = new ImageOptions(ImageFormat.Png);
        
             int imageNumber = 0;
             // Iterate over images
             for (PageImageArea image : images)
             {
                 // Save the image to the png file
                 image.save(Constants.getOutputFilePath(String.format("%d.png", imageNumber)), options);
        
                 imageNumber++;
             }
         }
         
        Parameters:
        filePath - The path to the file.
        options - The options which are used to save the image.