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)