creo que icepdf podría tener lo que está buscando.
He utilizado este proyecto de código abierto hace un tiempo para convertir archivos PDF cargados en imágenes para su uso en un catálogo en línea.
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;
}
palabra de precaución sin embargo, he tenido problemas con esta biblioteca de lanzar una violación de segmento en el JDK abierta. funcionó bien en Sun's. No estoy seguro de qué haría en GAE. No recuerdo qué versión tenía el problema, así que ten en cuenta.
http://stackoverflow.com/questions/11513841/appengine-conversion-api-java muestra cómo hacerlo con la aplicación Google conversiones. *Pero hay un problema. Esta api se eliminará en noviembre. Tal vez pueda pedirle consejos a Google sobre cualquier alternativa. – halex
Sí, lo había visto. Pero como usted escribió, el soporte pronto se descontinuará. De lo contrario, hubiera sido perfecto. Trataré de obtener información de google. – Bommelmutze
Hola, ¿encontró algo más que haga la misma conversión? También estoy buscando una funcionalidad similar. Sé que puedo solicitar imágenes de archivos PDF de menos de 25 Mb con Google Drive. Pero necesito que funcione para archivos más grandes. – DavidVdd