You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@pdfbox.apache.org by ph...@free.fr on 2014/10/16 14:36:56 UTC
"About to return NULL from unhandled branch"
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
Re: "About to return NULL from unhandled branch"
Posted by Philippe de Rochambeau <ph...@free.fr>.
Hi Tilman,
the situation which causes the message to be displayed doesn’t prevent my PDFs from being generated, so it doesn’t really matter.
Many thanks from looking into this « bug ».
Cheers,
Philippe
By the
Le 21 oct. 2014 à 19:17, Tilman Hausherr <TH...@t-online.de> a écrit :
> Hi,
>
> I have changed the message in issue PDFBOX-2443 <https://issues.apache.org/jira/browse/PDFBOX-2443>. The message is now DEBUG level and less scary, hopefully. The message won't go away, this a "grown code with lots of stuff problem" that has been changed in 2.0 by an API redesign.
>
> I hope that is OK for you, and that whatever you do with PDFBox works. If not, just post it here.
>
> Tilman
>
> Am 21.10.2014 um 18:39 schrieb Tilman Hausherr:
>> I was able to reproduce the message after setting up log4j properly.
>>
>> The good news is that your PDF is produced. In the source code, it is an INFO and not a WARNING or an ERROR, although I admit it is scary.
>>
>> I'll see if I can fix this...
>>
>> Tilman
>>
>> Am 20.10.2014 um 19:10 schrieb Tilman Hausherr:
>>> 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 phiroc@free.fr:
>>>> 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" <TH...@t-online.de>
>>>> À: users@pdfbox.apache.org
>>>> 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 phiroc@free.fr:
>>>>>>> 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
>>>
>>
>
Re: "About to return NULL from unhandled branch"
Posted by Tilman Hausherr <TH...@t-online.de>.
Hi,
I have changed the message in issue PDFBOX-2443
<https://issues.apache.org/jira/browse/PDFBOX-2443>. The message is now
DEBUG level and less scary, hopefully. The message won't go away, this a
"grown code with lots of stuff problem" that has been changed in 2.0 by
an API redesign.
I hope that is OK for you, and that whatever you do with PDFBox works.
If not, just post it here.
Tilman
Am 21.10.2014 um 18:39 schrieb Tilman Hausherr:
> I was able to reproduce the message after setting up log4j properly.
>
> The good news is that your PDF is produced. In the source code, it is
> an INFO and not a WARNING or an ERROR, although I admit it is scary.
>
> I'll see if I can fix this...
>
> Tilman
>
> Am 20.10.2014 um 19:10 schrieb Tilman Hausherr:
>> 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 phiroc@free.fr:
>>> 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" <TH...@t-online.de>
>>> À: users@pdfbox.apache.org
>>> 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 phiroc@free.fr:
>>>>>> 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
>>
>
Re: "About to return NULL from unhandled branch"
Posted by Tilman Hausherr <TH...@t-online.de>.
I was able to reproduce the message after setting up log4j properly.
The good news is that your PDF is produced. In the source code, it is an
INFO and not a WARNING or an ERROR, although I admit it is scary.
I'll see if I can fix this...
Tilman
Am 20.10.2014 um 19:10 schrieb Tilman Hausherr:
> 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 phiroc@free.fr:
>> 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" <TH...@t-online.de>
>> À: users@pdfbox.apache.org
>> 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 phiroc@free.fr:
>>>>> 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
>
Re: "About to return NULL from unhandled branch"
Posted by Tilman Hausherr <TH...@t-online.de>.
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 phiroc@free.fr:
> 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" <TH...@t-online.de>
> À: users@pdfbox.apache.org
> 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 phiroc@free.fr:
>>>> 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
Re: "About to return NULL from unhandled branch"
Posted by ph...@free.fr.
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" <TH...@t-online.de>
À: users@pdfbox.apache.org
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 phiroc@free.fr:
>>> 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
>>
>
Re: "About to return NULL from unhandled branch"
Posted by Tilman Hausherr <TH...@t-online.de>.
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 phiroc@free.fr:
>>> 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
>>
>
Re: "About to return NULL from unhandled branch"
Posted by Tilman Hausherr <TH...@t-online.de>.
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 phiroc@free.fr:
>> 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
>
Re: "About to return NULL from unhandled branch"
Posted by Tilman Hausherr <TH...@t-online.de>.
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 phiroc@free.fr:
> 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