credo che icepdf potrebbe avere quello che stai cercando.
Ho utilizzato questo progetto open source qualche tempo fa per convertire i PDF caricati in immagini da utilizzare in un catalogo online.
import org.icepdf.core.exceptions.PDFException;
import org.icepdf.core.exceptions.PDFSecurityException;
import org.icepdf.core.pobjects.Document;
import org.icepdf.core.pobjects.Page;
import org.icepdf.core.util.GraphicsRenderingHints;
public byte[][] convert(byte[] pdf, String format) {
Document document = new Document();
try {
document.setByteArray(pdf, 0, pdf.length, null);
} catch (PDFException ex) {
System.out.println("Error parsing PDF document " + ex);
} catch (PDFSecurityException ex) {
System.out.println("Error encryption not supported " + ex);
} catch (FileNotFoundException ex) {
System.out.println("Error file not found " + ex);
} catch (IOException ex) {
System.out.println("Error handling PDF document " + ex);
}
byte[][] imageArray = new byte[document.getNumberOfPages()][];
// save page captures to bytearray.
float scale = 1.75f;
float rotation = 0f;
// Paint each pages content to an image and write the image to file
for (int i = 0; i < document.getNumberOfPages(); i++) {
BufferedImage image = (BufferedImage)
document.getPageImage(i,
GraphicsRenderingHints.SCREEN,
Page.BOUNDARY_CROPBOX, rotation, scale);
try {
//get the picture util object
PictureUtilLocal pum = (PictureUtilLocal) Component
.getInstance("pictureUtil");
//load image into util
pum.loadBuffered(image);
//write image in desired format
imageArray[i] = pum.imageToByteArray(format, 1f);
System.out.println("\t capturing page " + i);
} catch (IOException e) {
e.printStackTrace();
}
image.flush();
}
// clean up resources
document.dispose();
return imageArray;
}
Parola di cautela, però, ho avuto problemi con questa libreria gettando un segfault su open-JDK. ha funzionato bene su Sun's. Non so cosa farebbe su GAE. Non riesco a ricordare quale versione fosse il problema, quindi tieni a mente.
http://stackoverflow.com/questions/11513841/appengine-conversion-api-java mostra come eseguire l'API conversioni di Google. * Ma * c'è un problema. Questa API verrà rimossa a novembre. Forse puoi chiedere a Google suggerimenti per qualsiasi alternativa. – halex
Sì, l'avevo visto. Ma come hai scritto tu il supporto sarà presto sospeso. Altrimenti sarebbe stato perfetto. Proverò a ottenere alcune informazioni da Google. – Bommelmutze
Ciao, hai trovato qualcos'altro che fa la stessa conversione? Sto anche cercando una funzionalità simile. So che posso richiedere immagini dal pdf più piccolo di 25 Mb utilizzando Google Drive. Ma ho bisogno che funzioni per file più grandi. – DavidVdd