Bug 49827 - integration of barcode in fop 1.0
Summary: integration of barcode in fop 1.0
Status: REOPENED
Alias: None
Product: Fop - Now in Jira
Classification: Unclassified
Component: svg (show other bugs)
Version: 1.0
Hardware: PC Linux
: P1 regression
Target Milestone: ---
Assignee: fop-dev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-26 02:57 UTC by marc-andre.marion
Modified: 2012-11-26 13:16 UTC (History)
2 users (show)



Attachments
Fo file (13.65 KB, application/octet-stream)
2010-09-03 08:19 UTC, marc-andre.marion
Details

Note You need to log in before you can comment on or make changes to this bug.
Description marc-andre.marion 2010-08-26 02:57:36 UTC
Hi,

I tried to generate a pdf including a barcode with fop 1.0 and barcode4j 2.0.
The following error was generated during the integration of bar code in the pdf : 

[ERROR] FOUserAgent - Image not available. URI: (instream-object). Reason: org.apache.xmlgraphics.image.loader.ImageException: The file format is not supported. No ImagePreloader found for null (No context info available)



This works very well with fop 0.95 and with the same configuration.
If I replace the fop.jar by that of fop 0.95 it works.
Comment 1 Jeremias Maerki 2010-08-30 10:22:00 UTC
That setup works for me. Usually, this error means that Barcode4J is not in the classpath. Please recheck your application. When in doubt, make sure that "barcode4j-fop-ext-complete.jar" is in the classpath. If this only happens in your application, please try from the FOP command-line, too. Please re-open if that doesn't help, but I'm not sure how I can help any further since it works for me.
Comment 2 marc-andre.marion 2010-09-03 08:19:57 UTC
Created attachment 25981 [details]
Fo file

Hi,

I have not solved my problem, my classpath is well referenced.

I send you the fo file that contains barcode.
My classpath is : 
LOCALCLASSPATH=${FOP_HOME}/build/fop.jar${pathSepChar}${FOP_HOME}/build/fop-sandbox.jar${pathSepChar}${FOP_HOME}/build/fop-hyph.jar${pathSepChar}${FOP_HOME}/barcode4j-2.0/build/barcode4j-fop-ext-complete.jar${pathSepChar}$LOCALCLASSPATH

barcode4j is in the barcode4j-2.0 folder.

when I change the fop.jar by that of fop-0.95 it works very well, but with that of his fop-1.0 does not work.


when I activate the traces, I see these messages appear :
 - [TRACE] ImageProviderPipeline - Caching image: org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM: null (image/svg+xml)



 - [ERROR] FOUserAgent - Image not available. URI: (instream-object). Reason: org.apache.xmlgraphics.image.loader.ImageException: The file format is not supported. No ImagePreloader found for null (No context info available)



Can you help me please ?

I test only command line.

My configuration is a red hat linux 64 bit.
Comment 3 Jeremias Maerki 2010-09-06 09:52:57 UTC
I'm sorry, Marc-André. I've made a mistake here: it seems I had a CVS HEAD version of Barcode4J in the classpath when I tried to reproduce your problem. And I didn't notice that. Since the Barcode4J 2.0 release, we added the new intermediate format to FOP which uses a different type of plug-in to handle images (and barcodes). The current development code in CVS HEAD of the Barcode4J CVS repository contains the required plug-ins. You'd have to download and compile the source code yourself for now. I plan to finally do a new release of Barcode4J this week, so if you can wait a few days....

A work-around is to set <prefer-renderer>true</prefer-renderer> under the root element in the FOP configuration file which gives you back the behaviour from FOP 0.95. That should work.

HTH
Comment 4 Murthy 2010-10-10 23:33:02 UTC
Jeremy,
Can you pl. confirm if the latest version of Barcode4j released which is compatible with FOP 1.0?
Also can you please confirm if the same is available under "barcode4j-fop-ext-complete.jar"

If Yes, can you please provide the links to download the same.

Thanks
Murthy
Comment 5 Karsten 2010-11-12 03:38:14 UTC
Hi folks, 

I'm just having the very same issues. Any news about a build that works well with fop 1.0?

Cheers,
Karsten
Comment 6 Jeremias Maerki 2010-11-12 03:43:36 UTC
I get side-tracked constantly lately. I've made some progress preparing Barcode4J for release but there are still a few things I need to finish first. Paying clients first, open source second. Sorry.
Comment 7 Glenn Adams 2012-04-01 19:57:37 UTC
(In reply to comment #6)
> I get side-tracked constantly lately. I've made some progress preparing
> Barcode4J for release but there are still a few things I need to finish first.
> Paying clients first, open source second. Sorry.

jeremias, any status change on this bug? should it be moved to resolved?
Comment 8 Jeremias Maerki 2012-04-02 05:32:25 UTC
The Barcode4J 2.1 release should have resolved that: http://barcode4j.sourceforge.net/changes.html#version_2.1
Comment 9 balza 2012-11-23 10:49:07 UTC
The problem still present

FOP 1.1
BARCODE 2.1
JDK1.6.0_22

I don't understand if the problem is barcode4j 2.1, fop 1.1 or xmlgraphic-commons 1.5

Here the stacktrace.

[LoggingEventListener.java:101] Image not available. URI: (instream-object). Reason: org.apache.xmlgraphics.image.loader.ImageException: The file format is not supported. No ImagePreloader found for null (No context info available)
org.apache.xmlgraphics.image.loader.ImageException: The file format is not supported. No ImagePreloader found for null
	at org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:180)
	at org.apache.fop.render.intermediate.AbstractIFPainter.drawImageUsingDocument(AbstractIFPainter.java:296)
	at org.apache.fop.render.pdf.PDFPainter.drawImage(PDFPainter.java:203)
	at org.apache.fop.render.intermediate.IFRenderer.renderForeignObject(IFRenderer.java:1290)
	at org.apache.fop.render.AbstractRenderer.renderInlineViewport(AbstractRenderer.java:820)
	at org.apache.fop.render.AbstractPathOrientedRenderer.renderInlineViewport(AbstractPathOrientedRenderer.java:785)
	at org.apache.fop.render.intermediate.IFRenderer.renderInlineViewport(IFRenderer.java:866)
	at org.apache.fop.render.AbstractRenderer.renderInlineArea(AbstractRenderer.java:678)
	at org.apache.fop.render.intermediate.IFRenderer.renderInlineArea(IFRenderer.java:913)
	at org.apache.fop.render.AbstractRenderer.renderLineArea(AbstractRenderer.java:643)
	at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:561)
	at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:598)
	at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:980)
	at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:546)
	at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:598)
	at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:980)
	at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:546)
	at org.apache.fop.render.AbstractRenderer.renderRegion(AbstractRenderer.java:337)
	at org.apache.fop.render.AbstractRenderer.renderRegionViewport(AbstractRenderer.java:301)
	at org.apache.fop.render.intermediate.IFRenderer.renderRegionViewport(IFRenderer.java:748)
	at org.apache.fop.render.AbstractRenderer.renderPageAreas(AbstractRenderer.java:257)
	at org.apache.fop.render.AbstractRenderer.renderPage(AbstractRenderer.java:238)
	at org.apache.fop.render.intermediate.IFRenderer.renderPage(IFRenderer.java:597)
	at org.apache.fop.area.RenderPagesModel.renderPage(RenderPagesModel.java:193)
	at org.apache.fop.area.RenderPagesModel.checkPreparedPages(RenderPagesModel.java:174)
	at org.apache.fop.area.RenderPagesModel.endDocument(RenderPagesModel.java:258)
	at org.apache.fop.area.AreaTreeHandler.endDocument(AreaTreeHandler.java:342)
	at org.apache.fop.fo.FOTreeBuilder.endDocument(FOTreeBuilder.java:168)
	at org.apache.xml.serializer.ToXMLSAXHandler.endDocument(ToXMLSAXHandler.java:183)
	at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1367)
	at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:709)
	at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1273)
	at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1251)
	at it.gesi.commons.pdf.impl.Obj2pdf.transform(Obj2pdf.java:102)
	at it.gesi.commons.pdf.impl.Obj2pdf.generatePFDOutputStream(Obj2pdf.java:63)
	at it.gesi.wba.gestionali.pdf.CreatePdf.createPDF(CreatePdf.java:69)
	at it.gesi.wba.gestionali.pdf.CreatePdf.createPDF(CreatePdf.java:62)
	at it.gesi.wba.gestionali.pdf.CreatePdf.creaPdf(CreatePdf.java:76)
	at it.gesi.commons.stampa.CreaPdfTest.testCreaPdf(CreaPdfTest.java:86)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at junit.framework.TestCase.runTest(TestCase.java:164)
	at junit.framework.TestCase.runBare(TestCase.java:130)
	at junit.framework.TestResult$1.protect(TestResult.java:110)
	at junit.framework.TestResult.runProtected(TestResult.java:128)
	at junit.framework.TestResult.run(TestResult.java:113)
	at junit.framework.TestCase.run(TestCase.java:120)
	at junit.framework.TestSuite.runTest(TestSuite.java:228)
	at junit.framework.TestSuite.run(TestSuite.java:223)
	at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)