Hi,

I was able to run that code and create a PDF, although I don't have your jpeg file, I used another.

Please upload that jpeg somewhere, or email it to me, or post the URL.

Tilman

Am 20.10.2014 um 10:13 schrieb [email protected]:
Hi Tilman,

please find below the shortest possible code to reproduce the error, as 
requested.

The message I get is as follows:

Oct 20, 2014 10:08:45 AM 
org.apache.pdfbox.pdmodel.graphics.xobject.PDXObjectImage getColorSpace
INFO: About to return NULL from unhandled branch. filter = COSName{DCTDecode}

My pom.xml contains the following entries:

<properties>
        <pdfbox.version>1.8.7</pdfbox.version>
...
<dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>${pdfbox.version}</version>
</dependency>
...

Best regards,


Philippe

-------------------------------------

public class App {
        
     public static void main(String[] args) {
         new App();
     }
public App() {
        
        go();
} // end main private void go() {
        
        try {
                
                PDDocument doc = new PDDocument();

             PDPage page = null;
             PDPageContentStream pcs = null;
             page = addNewPage(doc, PDPage.PAGE_SIZE_A4);
             pcs = new PDPageContentStream(doc, page);
loadLogoImage(
                        new File(
                                "/home/p/Desktop/data/img/doodle.jpg"
                        ),
                        doc,
                        pcs);
pcs.close();

             doc.save(
                "/home/p/Desktop/data/pdf/test.pdf");         
             doc.close();
} catch (IOException ioe) {
                ioe.printStackTrace();
        } catch (Exception e) {
                e.printStackTrace();                    
        }
        
     } // end test
        
        private PDPage addNewPage(PDDocument doc, PDRectangle rect) {
                
            PDPage page = new PDPage(rect);
            doc.addPage(page);
            return page;
        
        }
        
        public void loadLogoImage(
                final File pathToImage,
                PDDocument pdDocument,
                PDPageContentStream pdPageContentStream) {
                
                InputStream logoInputStream = null;
                PDJpeg logoImage = null;
                
                if (pathToImage.exists()) {
                        try {
                                logoInputStream = new 
FileInputStream(pathToImage);
                        } catch (FileNotFoundException fnfe) {
                                fnfe.printStackTrace();
                        }
                } else {
                        System.err.println("Invalid path to logo image: " + 
pathToImage.toString());  
                        return;
                }
                
                if (logoInputStream != null) {
                        try {
                                logoImage = new PDJpeg(pdDocument, 
logoInputStream);
                                if (logoImage != null) {
                                        
pdPageContentStream.drawImage(logoImage, 100, 100);
                                }       
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                } else {
                        System.err.println("Could not draw image because input 
stream is null.");                     
                }
        
        }
        

        
}

--------------------------------



----- Mail original -----
De: "Tilman Hausherr" <[email protected]>
À: [email protected]
Envoyé: Samedi 18 Octobre 2014 14:23:01
Objet: Re: "About to return NULL from unhandled branch"

If you are sure that you get this error with 1.8.7, then please post the
shortest possible code that reproduces the error.

I just used the PDFToImage or PDFReader commands from the command line
application, which calls PDPage.convertToImage().

Tilman

Am 18.10.2014 um 14:16 schrieb Tilman Hausherr:
Hi,

I downloaded the file at the link you gave me (I assume you don't want
it to become public), and I didn't get the error you mention, I get
many warnings:

Okt 18, 2014 1:52:00 PM
org.apache.pdfbox.util.operator.pagedrawer.ClosePath process
WARNUNG: java.awt.geom.IllegalPathStateException: missing initial
moveto in path definition
java.awt.geom.IllegalPathStateException: missing initial moveto in
path definition
     at java.awt.geom.Path2D$Float.needRoom(Unknown Source)
     at java.awt.geom.Path2D.closePath(Unknown Source)
     at
org.apache.pdfbox.util.operator.pagedrawer.ClosePath.process(ClosePath.java:55)
     at
org.apache.pdfbox.util.PDFStreamEngine.processOperator(PDFStreamEngine.java:557)
     at
org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:268)
     at
org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:235)
     at
org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:215)
     at
org.apache.pdfbox.pdfviewer.PageDrawer.drawPage(PageDrawer.java:139)
     at org.apache.pdfbox.pdmodel.PDPage.convertToImage(PDPage.java:801)
     at
org.apache.pdfbox.util.PDFImageWriter.writeImage(PDFImageWriter.java:130)
     at org.apache.pdfbox.PDFToImage.main(PDFToImage.java:226)
     at org.apache.pdfbox.PDFBox.main(PDFBox.java:96)

The reason are sequences like this in the PDF:

708 388.2756347656 m
708 380.2756347656 l
S
h
/F1 8 Tf
0 0 0 rg
BT
31 381.2756347656 Td
9.52 TL
() Tj
T*
ET
h



h = closepath ("connects the end of a subpath back to its starting
point"). The last "h" doesn't have a starting point.

However the pages are rendered, I tested with 1.8.7, 1.8.6, 1.8.8 and
2.0.

Either you are using a much older version, or you uploaded the wrong
file.

Tilman



Am 16.10.2014 um 18:35 schrieb Tilman Hausherr:
That error is a follow-up error on another error. There was probably
a problem with the DCTDecode filter, i.e. a JPEG in the PDF. Please
upload the PDF somewhere, as you can't attach it here.

Tilman

Am 16.10.2014 um 14:36 schrieb [email protected]:
Hi,

When I run a Java program that uses the PdfBox 1.8.7 API, the
following message appears several times:

"About to return NULL from unhandled branch. filter =
COSName{DCTDecode}"

Does anyone have any idea what might cause it?

Many thanks.

Cheers,

Philippe

Reply via email to