You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Andreas Lehmkühler (JIRA)" <ji...@apache.org> on 2011/05/29 19:51:47 UTC
[jira] [Closed] (PDFBOX-616) Invalid Images Returned
[ https://issues.apache.org/jira/browse/PDFBOX-616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Lehmkühler closed PDFBOX-616.
-------------------------------------
Resolution: Won't Fix
Assignee: Andreas Lehmkühler
> Invalid Images Returned
> -----------------------
>
> Key: PDFBOX-616
> URL: https://issues.apache.org/jira/browse/PDFBOX-616
> Project: PDFBox
> Issue Type: Bug
> Components: PDModel
> Affects Versions: 0.8.0-incubator
> Environment: Multiple (Windows)
> Reporter: James A. Thomas
> Assignee: Andreas Lehmkühler
> Labels: PDXObjectImage, image, invalid, null
> Attachments: TIFFimageProblem.pdf
>
>
> When getting images from a PDF document using PDXObjectImage (code fragment below), it returns an image with invalid characteristics. The PDXObjectImage is not null, but attributes like .getColorSpace() return null. The image has a height and width, but the getRGBImage() method returns null.
> This happens on EVERY image of the attached file. Code fragment and output is shown below.
> If I use the write2file() method of PDXObjectImage to write out the image to a fil, then I get a valid image. (At least, it displays fine.)
> Code Fragment:
> // Get a list of pages from the input PDF document
> List pages = InputDoc.getDocumentCatalog().getAllPages();
> // Process each page
> int i = 0;
> for (Object obj : pages)
> {
> String Barcode = null;
> i++;
> PDPage page = (PDPage)obj;
> // Get the image on the page and process it
> PDResources resources = page.getResources();
> Map images = resources.getImages();
> System.out.println("Found " + images.size() + " images on Page " + i);
> if( images != null )
> {
> Iterator imageIter = images.keySet().iterator();
> while ( imageIter.hasNext() )
> {
> String key = (String)imageIter.next();
> System.out.println("key = " + key);
> PDXObjectImage image = (PDXObjectImage)images.get( key );
> if (image != null)
> {
> System.out.println("Image subtype = " + image.SUB_TYPE.toString());
> System.out.println("Image suffix = " + image.getSuffix());
> System.out.println("PDX image has height = " + image.getHeight()
> + " and width " + image.getWidth());
> // Convert image to a Buffered Image, so we can
> // look for a barcode and decode it
> BufferedImage RGBimage = image.getRGBImage();
> if (RGBimage == null)
> System.out.println("RGBimage is null");
> }
> }
> }
> Output:
> Found 1 images on Page 1
> key = Obj3
> Image subtype = Image
> Image suffix = tiff
> PDX image has height = 2335 and width 1651
> RGBimage is null
> Found 1 images on Page 2
> key = Obj8
> Image subtype = Image
> Image suffix = tiff
> PDX image has height = 2335 and width 1651
> RGBimage is null
> Found 1 images on Page 3
> key = Obj13
> Image subtype = Image
> Image suffix = tiff
> PDX image has height = 2335 and width 1651
> RGBimage is null
> Found 1 images on Page 4
> key = Obj18
> Image subtype = Image
> Image suffix = tiff
> PDX image has height = 2335 and width 1651
> RGBimage is null
> Found 1 images on Page 5
> key = Obj23
> Image subtype = Image
> Image suffix = tiff
> PDX image has height = 2335 and width 1651
> RGBimage is null
> Found 1 images on Page 6
> key = Obj28
> Image subtype = Image
> Image suffix = tiff
> PDX image has height = 2335 and width 1651
> RGBimage is null
> Found 1 images on Page 7
> key = Obj33
> Image subtype = Image
> Image suffix = tiff
> PDX image has height = 2335 and width 1651
> RGBimage is null
> Found 1 images on Page 8
> key = Obj38
> Image subtype = Image
> Image suffix = tiff
> PDX image has height = 2335 and width 1651
> RGBimage is null
> Found 1 images on Page 9
> key = Obj43
> Image subtype = Image
> Image suffix = tiff
> PDX image has height = 2335 and width 1651
> RGBimage is null
> Found 1 images on Page 10
> key = Obj48
> Image subtype = Image
> Image suffix = tiff
> PDX image has height = 2335 and width 1651
> RGBimage is null
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira