Utilizzando pdfbox, è possibile convertire un PDF (o un byte PDF []) in un byte di immagine []? Ho esaminato diversi esempi online e gli unici che posso trovare descrivono come scrivere direttamente il file convertito nel filesystem o convertirlo in un oggetto AWT Java.pdfbox converte pdf in image byte []
Preferisco non incorrere nell'IO di scrivere un file di immagine nel filesystem, leggere in un byte [] e quindi cancellarlo.
Quindi questo che posso fare:
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);
Oltre a questo:
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();
}
Dove io non sono chiare su è come trasformata della BufferedImage in un byte []. So che questo è trasformato in un flusso di output di file in imageWriter.writeImage(), ma non sono chiaro su come funziona l'API.
Grazie. Funziona come previsto. Se avessi abbastanza reputazione, ti voterei, ma questo è il mio primo post su StackOverflow. – user2100746
Prego; dovresti essere in grado di contrassegnarlo come accettato. – aditsu
@ user2100746 dovresti contrassegnare la risposta come accettata :) – Genjuro