pdfbox convertir pdf en image byte[]

À l'aide de pdfbox, est-il possible de convertir un fichier PDF (ou un PDF byte[]) en une image byte[]? J'ai regardé à travers plusieurs exemples en ligne, et les seuls que je peux trouver décrire comment d'écrire directement le fichier converti sur le système de fichiers ou de les convertir en Java AWT objet.

Je préfère ne pas en subir les IO de l'écriture d'un fichier d'image du système de fichiers, lire dans un byte[], puis le supprimer.

Donc, ce que je peux faire:

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);

Ainsi que ceci:

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();
}

Où je ne suis pas clair sur la façon de transformer la BufferedImage dans un byte[]. Je sais que c'est transformé en un fichier de flux de sortie dans imageWriter.writeImage(), mais je ne suis pas clair sur la façon dont l'API travaille.

OriginalL'auteur user2100746 | 2013-02-22