You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Paulo R C Mello Junior (JIRA)" <ji...@apache.org> on 2013/10/02 21:47:44 UTC
[jira] [Updated] (PDFBOX-1735) Convert page pdf to image
[ https://issues.apache.org/jira/browse/PDFBOX-1735?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paulo R C Mello Junior updated PDFBOX-1735:
-------------------------------------------
Description:
I'm in the fight to perfectly convert a PDF to an image.
But the stacktrace below breaks my application!
---
Out 02, 2013 3:22:35 PM org.apache.pdfbox.pdmodel.graphics.xobject.PDPixelMap getRGBImage
SEVERE: Something went wrong ... the pixelmap doesn't contain any data.
Out 02, 2013 3:22:35 PM org.apache.pdfbox.util.operator.pagedrawer.Invoke process
WARNING: getRGBImage returned NULL
Out 02, 2013 3:22:35 PM org.apache.pdfbox.util.PDFStreamEngine processOperator
INFO: unsupported/disabled operation: i
---
I really need to fix this problem in order to succeed in converting
You know why this error occurs?
You know how I can fix this error?
is some dependence of my environment that i forgot? or a failure of PDFBox framewor ?
Follow my code below:
---
public static List<BufferedImage> getPdfPagesAsImages(String pdfPath, int i)
throws FileNotFoundException, IOException {
List<BufferedImage> bImages = new ArrayList<BufferedImage>();
File f = new File(pdfPath);
if (f.exists()) {
int resolution = 185;
PDDocument pdfDocument = null;
pdfDocument = PDDocument.loadNonSeq(f, null);
if (pdfDocument != null) {
@SuppressWarnings("unchecked")
List<PDPage> pages = (List<PDPage>) pdfDocument
.getDocumentCatalog().getAllPages();
int j = 1;
for (PDPage p : pages) {
System.out.println(j);
BufferedImage convertedImage = p.convertToImage(
BufferedImage.TYPE_INT_BGR , resolution);
saveImageToRepository(i, j, convertedImage);
j++;
if (isNegativeImage(convertedImage)) {
bImages.add(invertNegativeImage(convertedImage));
} else {
bImages.add(convertedImage);
}
}
System.out.println(pdfPath +" sucess");
}
pdfDocument.close();
}else{
System.out.println(pdfPath +" nao existe");
}
return bImages;
}
private static void saveImageToRepository(int i, int j,
BufferedImage convertedImage) throws IOException {
File outputfile = new File("C:/Desenvolvimento/bkp/convertido/" + i + j+ ".png");
ImageIO.write(convertedImage, "png", outputfile);
}
---
I create a list of images
these images are saved to be loaded in the browser later on a JSF component.
Thank you!
was:
I'm in the fight to perfectly convert a PDF to an image.
But the stacktrace below breaks my application!
---
Out 02, 2013 3:22:35 PM org.apache.pdfbox.pdmodel.graphics.xobject.PDPixelMap getRGBImage
SEVERE: Something went wrong ... the pixelmap doesn't contain any data.
Out 02, 2013 3:22:35 PM org.apache.pdfbox.util.operator.pagedrawer.Invoke process
WARNING: getRGBImage returned NULL
Out 02, 2013 3:22:35 PM org.apache.pdfbox.util.PDFStreamEngine processOperator
INFO: unsupported/disabled operation: i
---
I really need to fix this problem in order to succeed in converting
You know why this error occurs?
You know how I can fix this error?
is some dependence of my environment that i forgot? or a failure of PDFBox framewor ?
Follow my code below:
---
public static List<BufferedImage> getPdfPagesAsImages(String pdfPath, int i)
throws FileNotFoundException, IOException {
List<BufferedImage> bImages = new ArrayList<BufferedImage>();
File f = new File(pdfPath);
if (f.exists()) {
int resolution = 185;
PDDocument pdfDocument = null;
pdfDocument = PDDocument.loadNonSeq(f, null);
if (pdfDocument != null) {
@SuppressWarnings("unchecked")
List<PDPage> pages = (List<PDPage>) pdfDocument
.getDocumentCatalog().getAllPages();
int j = 1;
for (PDPage p : pages) {
System.out.println(j);
BufferedImage convertedImage = p.convertToImage(
BufferedImage.TYPE_INT_BGR , resolution);
saveImageToRepository(i, j, convertedImage);
j++;
if (isNegativeImage(convertedImage)) {
bImages.add(invertNegativeImage(convertedImage));
} else {
bImages.add(convertedImage);
}
}
System.out.println(pdfPath +" sucess");
}
pdfDocument.close();
}else{
System.out.println(pdfPath +" nao existe");
}
return bImages;
}
private static void saveImageToRepository(int i, int j,
BufferedImage convertedImage) throws IOException {
File outputfile = new File("C:/Desenvolvimento/bkp/convertido/" + i + j+ ".png");
ImageIO.write(convertedImage, "png", outputfile);
}
---
I create a list of images
these images are saved to be loaded in the browser later on a JSF component.
> Convert page pdf to image
> -------------------------
>
> Key: PDFBOX-1735
> URL: https://issues.apache.org/jira/browse/PDFBOX-1735
> Project: PDFBox
> Issue Type: Bug
> Affects Versions: 1.8.2
> Environment: Windows 8
> JDK 1.7
> Reporter: Paulo R C Mello Junior
>
> I'm in the fight to perfectly convert a PDF to an image.
> But the stacktrace below breaks my application!
> ---
> Out 02, 2013 3:22:35 PM org.apache.pdfbox.pdmodel.graphics.xobject.PDPixelMap getRGBImage
> SEVERE: Something went wrong ... the pixelmap doesn't contain any data.
> Out 02, 2013 3:22:35 PM org.apache.pdfbox.util.operator.pagedrawer.Invoke process
> WARNING: getRGBImage returned NULL
> Out 02, 2013 3:22:35 PM org.apache.pdfbox.util.PDFStreamEngine processOperator
> INFO: unsupported/disabled operation: i
> ---
> I really need to fix this problem in order to succeed in converting
> You know why this error occurs?
> You know how I can fix this error?
> is some dependence of my environment that i forgot? or a failure of PDFBox framewor ?
> Follow my code below:
> ---
> public static List<BufferedImage> getPdfPagesAsImages(String pdfPath, int i)
> throws FileNotFoundException, IOException {
> List<BufferedImage> bImages = new ArrayList<BufferedImage>();
>
> File f = new File(pdfPath);
> if (f.exists()) {
> int resolution = 185;
> PDDocument pdfDocument = null;
> pdfDocument = PDDocument.loadNonSeq(f, null);
> if (pdfDocument != null) {
> @SuppressWarnings("unchecked")
> List<PDPage> pages = (List<PDPage>) pdfDocument
> .getDocumentCatalog().getAllPages();
> int j = 1;
> for (PDPage p : pages) {
> System.out.println(j);
> BufferedImage convertedImage = p.convertToImage(
> BufferedImage.TYPE_INT_BGR , resolution);
> saveImageToRepository(i, j, convertedImage);
> j++;
> if (isNegativeImage(convertedImage)) {
> bImages.add(invertNegativeImage(convertedImage));
> } else {
> bImages.add(convertedImage);
> }
>
> }
> System.out.println(pdfPath +" sucess");
> }
> pdfDocument.close();
> }else{
> System.out.println(pdfPath +" nao existe");
> }
> return bImages;
> }
> private static void saveImageToRepository(int i, int j,
> BufferedImage convertedImage) throws IOException {
> File outputfile = new File("C:/Desenvolvimento/bkp/convertido/" + i + j+ ".png");
> ImageIO.write(convertedImage, "png", outputfile);
> }
> ---
> I create a list of images
> these images are saved to be loaded in the browser later on a JSF component.
> Thank you!
--
This message was sent by Atlassian JIRA
(v6.1#6144)