Java поддерживает множество форматов "из коробки", и написание кода для преобразования просто и понятно. Однако PDF не поддерживается в качестве стандарта, но существует множество библиотек, которые будут его декодировать, например PDF Box .
Вы можете использовать ImageIO для чтения и записи множества форматов изображений. Например, вот как вы можете конвертировать между JPEG и Bitmap.
// Read the JPEG
File input = new File("c:/image.jpg");
BufferedImage image = ImageIO.read(input);
// Write the Bitmap
File output = new File("c:/image.bmp");
ImageIO.write(image, "bmp", output);
Чтобы ImageIO (точнее, ImageReader / Writer) распознавал определенный формат изображения, должен существовать ImageReaderSPI & ImageWriterSPI , зарегистрированный в IIOServiceProvider . Поэтому, если вы хотите использовать ImageIO для чтения / записи неподдерживаемых форматов, таких как PDF, вы должны написать собственную реализацию или скачать библиотеку, в которой они есть. Писать их довольно легко, я делал это раньше.