Zen report pdf viewer on redhat

112 views
Skip to first unread message

Sasi

unread,
Apr 19, 2013, 9:17:45 AM4/19/13
to intersys...@googlegroups.com
Hi

I am trying to configure the PDF viewer for our zen report on redhat but all I am getting is a corrupted pdf output file in mozilla

downloaded fop-1.1
set ^%SYS("zenreport","transformerpath")="/cachebin/dev/fop-1.1/fop"

version of cache
Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2008.2.6 (Build 964U) Wed Nov 18 2009 11:05:29 EST

Java
$ which java
/usr/bin/java
$ java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)


If I programatically try to generate the pdf output, I get a 0 kb file and status is successfull.Please, could anyone help me what am I doing wrong?

Sasi
Cache BI Developer

Jonathan Levinson

unread,
Apr 19, 2013, 9:35:16 AM4/19/13
to intersys...@googlegroups.com

Please follow the debugging guide in the back of the ZEN Reports manual and use $REPORTNAME to get more information about the cause of your problem.

 

http://docs.intersystems.com/cache20082/csp/docbook/DocBook.UI.Page.cls?KEY=GRPT_troubleshoot

 

Thanks,

Jonathan

--
You received this message because you are subscribed to the Google Groups "InterSystems: Zen Community" group.
To post to this group, send email to InterSys...@googlegroups.com
To unsubscribe from this group, send email to InterSystems-Z...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/InterSystems-ZEN?hl=en
Zen Community Terms and Conditions: http://groups.google.com/group/InterSystems-ZEN/web/community-terms-and-conditions
---
You received this message because you are subscribed to the Google Groups "InterSystems: Zen Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to intersystems-z...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Parupudi Venkata Sasidhar

unread,
Apr 19, 2013, 10:07:11 AM4/19/13
to intersys...@googlegroups.com
Hi Jonathan,

Thanks for the reply.

I have tried the steps and following is the warning I am getting with a 0kb log file and no pdf output.

 mv *.xsl test.xsl
$ mv *.xml test.xml
$ /cachebin/dev/fop-1.1/fop test.xml -xsl test.xsl -pdf test.pdf > test.log

(.:10538): Gtk-WARNING **: cannot open display:


Regards
Sasi

Derek Day

unread,
Apr 19, 2013, 10:15:15 AM4/19/13
to intersys...@googlegroups.com

Your X windows configuration is not correct to actually view the pdf file (were one to be displayed). Have you enabled X Forwarding as appropriate for your laptop/workstation? Do you have an X Server on your Windows computer (if using OS X it already has X11 or XQuartz so you only need the forwarding).

 

You should also be able to ignore the warning, I think, and just look at the log to see what is happening.

 

~Derek

Parupudi Venkata Sasidhar

unread,
Apr 19, 2013, 10:28:06 AM4/19/13
to intersys...@googlegroups.com
Hi Derek,

Trouble is ,I am not getting anything written to the log file! it gives the warning on the console and exits..All I get is a 0 kb log file after that.

Regards
Sasi

Jonathan Levinson

unread,
Apr 19, 2013, 10:44:08 AM4/19/13
to intersys...@googlegroups.com

Hi Sasi,

 

Try setting –Djava.awt.headless=true

 

As so in fop command file:

 

fop_exec_command="exec \"$JAVACMD\" $LOGCHOICE $LOGLEVEL -classpath \"$LOCALCLASSPATH\" -Xmx512m -Djava.awt.headless=true $TRANSFORMER_OPTS $FOP_OPTS org.apache.fop.cli.Main $fop_exec_args"

Parupudi Venkata Sasidhar

unread,
Apr 22, 2013, 2:53:49 AM4/22/13
to intersys...@googlegroups.com
Hi Jonathan

I have changed the fop_exec_command as follows

fop_exec_command="exec \"$JAVACMD\" $LOGCHOICE $LOGLEVEL -classpath \"$LOCALCLASSPATH\" -Xmx512m -Djava.awt.headless=true $TRANSFORMER_OPTS $FOP_OPTS org.apache.fop.cli.Main $fop_exec_args"

I got the following error
Apr 22, 2013 8:45:16 AM org.apache.fop.cli.Main startFOP
SEVERE: Exception
org.apache.fop.apps.FOPException: Only one input mode can be specified!
        at org.apache.fop.cli.CommandLineOptions.setInputFormat(CommandLineOptions.java:917)
        at org.apache.fop.cli.CommandLineOptions.parseXSLInputOption(CommandLineOptions.java:472)
        at org.apache.fop.cli.CommandLineOptions.parseOptions(CommandLineOptions.java:305)
        at org.apache.fop.cli.CommandLineOptions.parse(CommandLineOptions.java:167)
        at org.apache.fop.cli.Main.startFOP(Main.java:161)
        at org.apache.fop.cli.Main.main(Main.java:208)
$

the original line in fop is as follows
fop_exec_command="exec \"$JAVACMD\" $java_exec_args $LOGCHOICE $LOGLEVEL -classpath \"$LOCALCLASSPATH\" $FOP_OPTS org.apache.fop.cli.Main $fop_exec_args"


Regards
Sasi

Jonathan Levinson

unread,
Apr 22, 2013, 6:24:08 AM4/22/13
to intersys...@googlegroups.com

What is your version of fop?  You can detect this by running:

 

fop –version

 

How are you running the fop command?  The error looks like an error running the fop command, not an error in the script that runs the fop command.

Parupudi Venkata Sasidhar

unread,
Apr 23, 2013, 8:58:18 AM4/23/13
to intersys...@googlegroups.com
Hi Jonathan,

./fop -version
FOP Version 1.1

The command I am using is
/cachebin/dev/fop-1.1/fop test.xml -xsl test.xsl -pdf test.pdf


Regards
Sasi

Jonathan Levinson

unread,
Apr 23, 2013, 9:06:27 AM4/23/13
to intersys...@googlegroups.com

Hi Sasi,

 

Aren’t you missing the –xml in front of test.xml?

 

Regards,

Jonathan

Parupudi Venkata Sasidhar

unread,
Apr 23, 2013, 9:11:33 AM4/23/13
to intersys...@googlegroups.com
Hi Jonathan,

Yeah sorry, I missed the xml flag..Below is the error. I have also attached the xml,xsl files for your review

Regards
Sasi

$ /cachebin/dev/fop-1.1/fop -xml test.xml -xsl test.xsl -pdf test.pdf
Apr 23, 2013 3:05:58 PM org.apache.fop.cli.Main startFOP
SEVERE: Exception
javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: "fo:block" is not a valid child of "fo:page-sequence"! (No context info available)
        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:303)
        at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130)
        at org.apache.fop.cli.Main.startFOP(Main.java:177)
        at org.apache.fop.cli.Main.main(Main.java:208)
Caused by: javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: "fo:block" is not a valid child of "fo:page-sequence"! (No context info available)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1323)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:393)
        at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:176)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
        at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2281)
        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:1284)
        at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1262)
        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:300)
        ... 3 more
Caused by: org.apache.fop.fo.ValidationException: "fo:block" is not a valid child of "fo:page-sequence"! (No context info available)
        at org.apache.fop.events.ValidationExceptionFactory.createException(ValidationExceptionFactory.java:38)
        at org.apache.fop.events.EventExceptionManager.throwException(EventExceptionManager.java:58)
        at org.apache.fop.events.DefaultEventBroadcaster$1.invoke(DefaultEventBroadcaster.java:175)
        at $Proxy0.invalidChild(Unknown Source)
        at org.apache.fop.fo.FONode.invalidChildError(FONode.java:561)
        at org.apache.fop.fo.FONode.invalidChildError(FONode.java:537)
        at org.apache.fop.fo.pagination.PageSequence.validateChildNode(PageSequence.java:155)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:265)
        at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:175)
        at org.apache.xml.serializer.ToXMLSAXHandler.closeStartTag(ToXMLSAXHandler.java:204)
        at org.apache.xml.serializer.ToSAXHandler.flushPending(ToSAXHandler.java:277)
        at org.apache.xml.serializer.ToXMLSAXHandler.startPrefixMapping(ToXMLSAXHandler.java:348)
        at org.apache.xml.serializer.ToXMLSAXHandler.startPrefixMapping(ToXMLSAXHandler.java:318)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1315)
        ... 18 more

---------

javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: "fo:block" is not a valid child of "fo:page-sequence"! (No context info available)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1323)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:393)
        at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:176)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
        at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2281)
        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:1284)
        at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1262)
        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:300)
        at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130)
        at org.apache.fop.cli.Main.startFOP(Main.java:177)
        at org.apache.fop.cli.Main.main(Main.java:208)
Caused by: org.apache.fop.fo.ValidationException: "fo:block" is not a valid child of "fo:page-sequence"! (No context info available)
        at org.apache.fop.events.ValidationExceptionFactory.createException(ValidationExceptionFactory.java:38)
        at org.apache.fop.events.EventExceptionManager.throwException(EventExceptionManager.java:58)
        at org.apache.fop.events.DefaultEventBroadcaster$1.invoke(DefaultEventBroadcaster.java:175)
        at $Proxy0.invalidChild(Unknown Source)
        at org.apache.fop.fo.FONode.invalidChildError(FONode.java:561)
        at org.apache.fop.fo.FONode.invalidChildError(FONode.java:537)
        at org.apache.fop.fo.pagination.PageSequence.validateChildNode(PageSequence.java:155)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:265)
        at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:175)
        at org.apache.xml.serializer.ToXMLSAXHandler.closeStartTag(ToXMLSAXHandler.java:204)
        at org.apache.xml.serializer.ToSAXHandler.flushPending(ToSAXHandler.java:277)
        at org.apache.xml.serializer.ToXMLSAXHandler.startPrefixMapping(ToXMLSAXHandler.java:348)
        at org.apache.xml.serializer.ToXMLSAXHandler.startPrefixMapping(ToXMLSAXHandler.java:318)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1315)
        ... 18 more
---------
org.apache.fop.fo.ValidationException: "fo:block" is not a valid child of "fo:page-sequence"! (No context info available)
        at org.apache.fop.events.ValidationExceptionFactory.createException(ValidationExceptionFactory.java:38)
        at org.apache.fop.events.EventExceptionManager.throwException(EventExceptionManager.java:58)
        at org.apache.fop.events.DefaultEventBroadcaster$1.invoke(DefaultEventBroadcaster.java:175)
        at $Proxy0.invalidChild(Unknown Source)
        at org.apache.fop.fo.FONode.invalidChildError(FONode.java:561)
        at org.apache.fop.fo.FONode.invalidChildError(FONode.java:537)
        at org.apache.fop.fo.pagination.PageSequence.validateChildNode(PageSequence.java:155)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:265)
        at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:175)
        at org.apache.xml.serializer.ToXMLSAXHandler.closeStartTag(ToXMLSAXHandler.java:204)
        at org.apache.xml.serializer.ToSAXHandler.flushPending(ToSAXHandler.java:277)
        at org.apache.xml.serializer.ToXMLSAXHandler.startPrefixMapping(ToXMLSAXHandler.java:348)
        at org.apache.xml.serializer.ToXMLSAXHandler.startPrefixMapping(ToXMLSAXHandler.java:318)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1315)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:393)
        at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:176)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
        at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2281)
        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:1284)
        at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1262)
        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:300)
        at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130)
        at org.apache.fop.cli.Main.startFOP(Main.java:177)
        at org.apache.fop.cli.Main.main(Main.java:208)
$

test.xsl
test.xml

Jonathan Levinson

unread,
Apr 23, 2013, 9:15:14 AM4/23/13
to intersys...@googlegroups.com

Hi Sasi,

 

Please send me a ZEN Report that duplicates this problem.  I’m sure you have invalid xsl.  I need to understand why.

 

Thanks,

Jonathan

Parupudi Venkata Sasidhar

unread,
Apr 23, 2013, 9:57:55 AM4/23/13
to intersys...@googlegroups.com
Hi Jonathan,

As requested,I have attached the xml file of the report class that gave me the error.

What I observed is that ,for some other reports, the fop command from the linux prompt is generating the pdf file but if I run the export method or view the report with $MODE from the browser , I am getting a blank output.
Is it something related to cache/csp/linux security ?

Regards
Sasi
tmp.xml

Jonathan Levinson

unread,
Apr 23, 2013, 10:04:38 AM4/23/13
to intersys...@googlegroups.com

Hi Sasi,

 

Your ReportDisplay looks like the following:

 

<report xmlns="http://www.intersystems.com/zen/report/display"

name="tmp">

<header>

                        <table group="record" orient="col" width="8in" class='table4'>

                        <item caption="t" field="@t" width="2in"/>

                        </table>

                        </header>

                       

</report>

 

 

You need to enclose <header> within <body> so your report looks like the following:

 

<report xmlns="http://www.intersystems.com/zen/report/display"

name="tmp">

<body>

<header>

                        <table group="record" orient="col" width="8in" class='table4'>

                        <item caption="t" field="@t" width="2in"/>

                        </table>

                        </header>

</body>

                       

</report>

 

I believe the structure of a report is specified in the documentation.

 

I don’t know what would cause the issue with blank output on the *other* reports you are describing.

Parupudi Venkata Sasidhar

unread,
Apr 24, 2013, 7:55:19 AM4/24/13
to intersys...@googlegroups.com
Hi Jonathan,


I observed the following..

If I run the following command from a cache terminal,I get a warning message and nothing happens.

ALSARDEV>Do $zf(-1,$zu(147,"/cachebin/dev/fop-1.1/fop"))

(.:5948): Gtk-WARNING **: cannot open display:

If I manually execute fop command from the linux prompt and then csession into cache and execute fop, I get the response. I am able to programatically create the pdf file.

ALSARDEV>Do $zf(-1,$zu(147,"/cachebin/dev/fop-1.1/fop"))
FOP Version 1.1

USAGE
fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl|-ps|-txt|-at [mime]|-print] <outfile>
 [OPTIONS]
  -version          print FOP version and exit
  -d                debug mode


Regards
Sasi

Jonathan Levinson

unread,
Apr 24, 2013, 9:10:11 AM4/24/13
to intersys...@googlegroups.com

Hi Sasi,

 

What are you trying to do?  Why can’t you use GenerateReport?

Parupudi Venkata Sasidhar

unread,
Apr 29, 2013, 4:10:30 AM4/29/13
to intersys...@googlegroups.com
Hi Jonathan,

I figured it out, it was JAVA_HOME is not being set properly, and our system administrator has fixed it.It is working fine now.

Thanks for your help.

Regards
Sasi
Reply all
Reply to author
Forward
0 new messages