Можно ли с помощью pdfbox преобразовать PDF (или байт PDF []) в байт изображения []? Я просмотрел несколько примеров в Интернете, и единственные, которые я могу найти, описывают, как либо напрямую записать преобразованный файл в файловую систему, либо преобразовать его в объект Java AWT.
Я бы предпочел не брать на себя затраты ввода-вывода для записи файла изображения в файловую систему, чтения в байт [], а затем его удаления.
Так что я могу:
String destinationImageFormat = "jpg";
boolean success = false;
InputStream is = getClass().getClassLoader().getResourceAsStream("example.pdf");
PDDocument pdf = PDDocument.load( is, true );
int resolution = 256;
String password = "";
String outputPrefix = "myImageFile";
PDFImageWriter imageWriter = new PDFImageWriter();
success = imageWriter.writeImage(pdf,
destinationImageFormat,
password,
1,
2,
outputPrefix,
BufferedImage.TYPE_INT_RGB,
resolution);
А также это:
InputStream is = getClass().getClassLoader().getResourceAsStream("example.pdf");
PDDocument pdf = PDDocument.load( is, true );
List<PDPage> pages = pdf.getDocumentCatalog().getAllPages();
for ( PDPage page : pages )
{
BufferedImage image = page.convertToImage();
}
Я не понимаю, как преобразовать BufferedImage в byte []. Я знаю, что это преобразуется в выходной поток файла в imageWriter.writeImage (), но я не понимаю, как работает API.