Convert EPUB to PNG in Java

EPUB is the most widely supported e-book format. Converting EPUB to PNG can be helpful when you want to include an EPUB file in a PowerPoint presentation or send it by email. Or, for example, you want to share an EPUB file with someone who doesn’t have an EPUB reader installed.

Aspose.HTML for Java library provides a wide range of EPUB conversions to images, such as JPG, PNG, BMP, TIFF, and GIF. Converting EPUB to any supported image format follows the same mandatory steps:

The only difference is in specifying the output image format using the ImageSaveOptions class. The ImageSaveOptions(format) constructor initializes the options object with the format specifying. You can set the image format to JPG, PNG, BMP, GIF, or TIFF. The default ImageFormat is PNG.

In this article, you will find information on how to convert an EPUB to PNG using Aspose.HTML for Java and how to apply ImageSaveOptions and MemoryStreamProvider. You can easily use Java examples to convert EPUB to PNG, detailed here for converting EPUB to JPG, EPUB to BMP, EPUB to GIF, and EPUB to TIFF. Just set the ImageFormat to ImageSaveOptions!

EPUB to PNG by a few lines of Java code

The static methods of the Converter class are primarily used as the easiest way to convert an EPUB file into various formats. You can convert EPUB to PNG in your Java application literally with a single line of code!

1    // Open an existing EPUB file for reading
2    final  FileStream stream = File.openRead(StringExtensions.concat(getDataDir(),  "input.epub"));
3    try {        }
4    finally { if (stream != null) ((IDisposable)stream).dispose(); }
5
6    // Convert EPUB to PNG
7    com.aspose.html.converters.Converter.convertEPUB(stream, new ImageSaveOptions(), Path.combine(getOutputDir(), "convert-by-few-lines.png"));   

Convert EPUB to PNG

Let’s walk through the step-by-step instructions for a simple EPUB to PNG conversion scenario:

  1. Open an existing EPUB file. In the example, we use the openRead() method to open and read an EPUB file from the file system at the specified path.
  2. Create an instance of ImageSaveOptions. ImageFormat.Png will be used as default image format.
  3. Use the convertEPUB(stream, options, savePath) method of the Converter class to save EPUB as an PNG image. The method takes as parameters stream, options, and savePath and performs the conversion.

The following Java code snippet shows how to convert EPUB to PNG using Aspose.HTML:

 1    // Open an existing EPUB file for reading
 2    final  com.aspose.html.internal.ms.System.IO.FileStream stream = com.aspose.html.internal.ms.System.IO.File.openRead(StringExtensions.concat(getDataDir(),  "input.epub"));
 3    try
 4    {;
 5    }
 6    finally { if (stream != null) stream.dispose(); }
 7
 8    // Prepare a path for converted file saving 
 9    String savePath = Path.combine(getOutputDir(), "output.png");
10
11    // Initialize ImageSaveOptions 
12    com.aspose.html.saving.ImageSaveOptions options = new com.aspose.html.saving.ImageSaveOptions();
13
14    // Call the convertEPUB() method to convert EPUB to PNG
15    com.aspose.html.converters.Converter.convertEPUB(stream, options, savePath);

You can download the complete examples and data files from GitHub.

Save Options

ImageSaveOptions allows users to customize the rendering process by setting the image format, page size, margins, compression level, CSS media-type, and other parameters.

MethodDescription
setCompression(value)Sets the Tagged Image File Format (TIFF) Compression. By default this property is Compression.LZW.
getCssGets a CssOptions object which is used for configuration of CSS properties processing.
setFormat(value)Sets ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default this property is ImageFormat.Png.
setBackgroundColor(value)Sets Color which will fill background of every page. Default value is Color.Transparent(Color.getTransparent()).
setPageSetup(value)Gets a page setup object is used for configuration output page-set.
setHorizontalResolution(value)Sets horizontal resolution for output images in pixels per inch. The default value is 300 dpi.
setVerticalResolution(value)Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi.
setSmoothingMode(value)Sets the rendering quality for this image.
getText()Gets a TextOptions object which is used for configuration of text rendering.

Convert EPUB to PNG using ImageSaveOptions

Aspose.HTML for Java allows converting EPUB to PNG using default or custom save options. These are the steps to convert an EPUB file to PNG format with ImageSaveOptions specifying:

  1. Open an existing EPUB file. Use the openRead() method of System.IO.FileStream class to open and read source files from the file system at the specified path.
  2. Create a new ImageSaveOptions object with PNG ImageFormat and specify the required save options:
    • Use the setSmoothingMode() method to set the quality of the image smoothing to high.
    • Use the setHorizontalResolution() and setVerticalResolution() methods to set the horizontal and vertical resolution of the image to 400.
    • Use the getBackgroundColor() method to set the background color of the image to Alice Blue.
  3. Use the convertEPUB(stream, options, savePath) method to save EPUB file as a PNG image. The method takes the stream, options, output file path savePath and performs the conversion operation.

The following Java example shows how to use ImageSaveOptions and create a PNG file with custom rendering quality, resolution, and background color:

 1    // Open an existing EPUB file for reading
 2    final  com.aspose.html.internal.ms.System.IO.FileStream stream = com.aspose.html.internal.ms.System.IO.File.openRead(StringExtensions.concat(getDataDir(),  "input.epub"));
 3    try
 4    {;
 5    }
 6    finally { if (stream != null) stream.dispose(); }
 7
 8    // Prepare a path for converted file saving 
 9    String savePath = Path.combine(getOutputDir(), "input-options.png");
10
11    // Initialize ImageSaveOptions 
12    com.aspose.html.saving.ImageSaveOptions options = new com.aspose.html.saving.ImageSaveOptions();
13    options.setSmoothingMode(SmoothingMode.HighQuality);
14    options.setHorizontalResolution(new Resolution(400, UnitType.AUTO));
15    options.setVerticalResolution(new Resolution(400, UnitType.AUTO));
16    com.aspose.html.drawing.Color.getAliceBlue().CloneTo(options.getBackgroundColor());
17
18    // Convert EPUB to PNG
19    com.aspose.html.converters.Converter.convertEPUB(stream, options, savePath);  

For further information on how to customize the conversion process with ImageSaveOptions you can refer to the Fine-Tuning Converters article.

Aspose.HTML offers a free online EPUB to PNG Converter that converts EPUB to PNG with high quality, easy and fast. Just upload, convert your files and get the result in a few seconds!

Text “Banner EPUB to PNG Converter”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.