Apex 4.2.2 PDF Printing with Apex 2.0 Listener

We recently installed Apex 4.2 with the Apex 2.0 Listener and can successfully print interactive reports and classic reports to PDF.  I viewed Mark Sewtz PDF Printing with Apex 4.2.2 and saw how he is using third party tools to format reports.  We have also looked into the Jasper Report Integration Toolkit, but have only got it working on the Tomcat environment, not WebLogic.
I'm trying to download a classic report in PDF format with our logo displayed at the header.  In the print attributes section, there is a section for header.  I've tried adding the following in the header section:
<img src = "http://hr.unm.edu/common/images/unm_dept_logo.gif">
No Logo Prints
#APP_IMAGES#unm_dept_logo.gif
Prints in header:
wwv_flow_file_mgr.get_file?
p_security_group_id=3930016164431413%26p_flow_id=106%26p_fname=unm_dept_logo.gif
#WORKSPACE_IMAGES#unm_dept_logo.gif
Prints in header: /i/unm_dept_logo.gif
I've also added the logo in the report region, prior to the columns printing, but no logo downloads to PDF.
Does the Apex Listener only render text?  Is there any way to get the logo to print in the header without using a third party tool?  Any suggestions are greatly appreciated.  Thanks!

Hi,
There are different options to include images in your PDF exports. What's important to understand though is that with the PDF export functionality we separate the formatting from the actual data. So the formatting is defined in your RTF or XSL-FO templates and the data is stored in the XML that APEX generates based on your report data. We have several formatting options exposed on the print attributes pages, i.e. you can define page formatting, dimensions, fonts, colors, etc - all of these are applied to what we call generic XSL-FO templates. Those templates are generic in that they can be used with different reports, having variable numbers of columns and variable column names. Those formatting attributes can not be used however with named column templates, such as those that you generate with BI Publisher or those third-party tools I talked about in my Blog.
So if you want to use these formatting options, you need a generic report layout - which you get out of the box using the built-in layout. But you also have the option to create your own generic report layout (see Shared Components -> Report Layouts). When creating a custom generic report layout, you'll get a copy of the built-in layout as a starting point. Once created, you can manually modify this layout to meet your needs. As you edit this template, you'll find a number of #....# substitution strings. This is what APEX uses at runtime to fill in your formatting values as well as to assemble your generic layout based on your result set.
Now one way to include your own image would be to add an image reference to this generic report layout. You can't use the page header or footer attributes on the print attributes page for that because the FOP rendering engine does not understand or translate HTML. It renders XSL-FO. So to add your own image reference, you need to use XSL-FO mark-up. If you want to add an image to your page header, look for the #PAGE_HEADER# substitution string in the "Page Template" attribute of your generic report layout. You should be able to find the following:
<fo:inline xsl:use-attribute-sets="page-header">
    #PAGE_HEADER#
</fo:inline>
Now assuming you have a file stored in your local images directory on localhost, you could add the following external graphic reference:
<fo:inline xsl:use-attribute-sets="page-header">
    <fo:external-graphic src="http://localhost:8080/i/cloud.gif" content-height="scale-to-fit" height="30px"  content-width="150px" scaling="non-uniform"/>
    #PAGE_HEADER#
</fo:inline>
Once you're done with your chanages, save the report layout and edit your report. Go to the print attributes and select your generic report layout and then run your report page and export the PDF. Provided the APEX Listener is able to find this external image reference, it will now be included above your report in your PDF document.
Regards,
Marc

Similar Messages

  • Apex with XE10g/Tomcat 6.0.13 PDF Print with Apex  FOP.WAR

    Apex with XE10g/Tomcat 6.0.13 PDF Print with Apex fop.war/apex_fop.jsp
    Hello,
    Excuse me bad english.
    I have a problem with Oracle XE and Printing from Reports over Tomcat 6.0.13.
    I have update Oracle XE with Apex 3.1 and it works fine.
    Now i have tried to Print a report to PDF. So i have deployed the FOP.WAR from Apex Utilities under Tomcat.
    I see in Tomcat Manager http://localhost:8888/manager/html/list that the FOO
    has been deployed and is running.
    If i try to print then i get this Message down to this page.
    Can anybody give me a hint to solve this problem???
    Hint
    To resolve the problem i have installed Oracle OC4J with same Port and deployed
    the same foo.war file.
    Then works and all printing from Oracle Apex work fine and okay.
    So i thing the Apex and Oracle work correct.
    But we have a small Application so i would prefer to work with Tomcat a application Server.
    Becaus of previous Errors have copied some *.jar files to C:\tomcat6.0.13\lib
    but i thing this is not the Problem.
    18.03.2007 18:12 546.765 xml.jar
    18.03.2007 18:07 634.772 xmlmesg.jar
    18.03.2007 18:14 1.238.899 xmlparserv2.jar
    10.06.2007 22:59 674.005 xquery.jar
    18.03.2007 18:11 3.059 xsqlserializers.jar
    18.03.2007 18:14 194.691 xsu12.jar
    10.11.2005 13:13 7.043.169 tools.jar
    .... and preinstalled files
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: java.lang.IllegalStateException: getOutputStream() has already been called for this response
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:429)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause
    java.lang.IllegalStateException: getOutputStream() has already been called for this response
    org.apache.catalina.connector.Response.getWriter(Response.java:604)
    org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)
    org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
    org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
    org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:186)
    org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
    org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
    org.apache.jsp.apex_005ffop_jsp._jspService(apex_005ffop_jsp.java:120)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    ------------------------------------------------------------------------

    at the end of the apex_fop.jsp put the follow code just before the driver.run(); line:
    out.clear();
    out = pageContext.pushBody();
    and explanation of why this works is here:
    http://forums.sun.com/thread.jspa?threadID=5307942

  • PDF printing with APEX version 3.2.1 and OAS 10.1.2.3

    Hello,
    Is it possible to print PDF's with APEX version 3.2.1 and OAS 10.1.2.3? (Not using freeware- that'll never fly with my company).
    Thanks!

    JasperReports will do this and there is an integration toolkit out there for it and APEX.
    BI Publisher is available, and costly
    Oracle Reports can do this and is still available..
    One question, why would your company shy away from open source software like Cocoon/FOP? It comes with APEX 3.2 as an installable WAR and if you use the APEX listener, it comes with that for FREE!!
    Thank you,
    Tony Miller
    Webster, TX

  • PDF Printing with Apex Listener: XSL over 32k gives error

    I'm using Ape Listener 2.0.2 deployed in GlassFish. We do have some custom designed XSL which are over 32k. We tried apex_util api but get the error
    Error processing branch. ORA-00942: table or view does not exist
    My XML is 5966 bytes and XSL is 36551 bytes.
    Please help.

    Apples and Oranges really.. Why do you want TWO App Servers running on your server?   The HTTP Server requires a 3rd party product to produce PDF files (FOP)... The Apex Listener is the PREFERRED App Server over the HTTP server.  I would suggest switching your access to the APEX Listener based port and try shutting down the HTTP server unless it offers you something the Listener is NOT providing..
    Thank you,
    Tony Miller
    LuvMuffin Software

  • PDF Printing 11g APEX

    Hi,
    On and off for the last wee while, I have been fighting to configure PDF printing with APEX in my 11g instance. Specifically I am always producing PDF files of size 0 bytes.
    I am running 11g on Windoze and have BI Publisher 10.1.3.2.1 installed. The instructions are easy enough (I got it working when I was running 10g!), but I cannot get it working this time :-(
    Can anybody point me the way of error logs for both APEX and BI Publisher so I can have a dig and see if I can find anything wrong.
    Thanks.

    Graham,
    When setting up your 11g database, did you perform the post-installation tasks, particularly enabling network services? Since APEX reaches out to BI Publisher through http, you'll have to enable network services when setting up the database, because in 11g, that's disabled by default.
    Here's the link to the documentation:
    http://download.oracle.com/docs/cd/B28359_01/install.111/b32006/postcfg.htm#BGEJJIHE
    In case the link doesn't work, it's chapter 4.5.6 Enabling Network Services in Oracle Database 11g, of the Database 11g installation guide.
    Regards,
    Marc

  • Problem with pdf printing in Apex 3.2

    Hi All,
    I have apex 3.2 in Oracle 11.1, and the OS is OEL4. I ran the post installation script for granting connect privileges for APEX_030200 also.I have installed BI Publisher in another machine, and configured the URL in apex.
    But the Pdf printing part is still failing.
    when i open the pdf ,the Error is "Adobe Reader could not open 'Applications[1].pdf' because it is either not a supported file type or because the file has been damaged(for exmple, it was sent as an email attachment and wasn't correctly decoded)."
    I tried to open the file using text edtor, the text inside is "ORA-20001: The printing engine could not be reached because either the URL specified is incorrect or a proxy URL needs to be specified"
    My apex machine is 64 bit and BI Publisher machine is 32 bit.
    I ran the following query to verify that the grants were given:
    SELECT * FROM DBA_NETWORK_ACL_PRIVILEGES;
    The result of this query is the following:
    ACL     ACLID     PRINCIPAL     PRIVILEGE     IS_GRANT     INVERT     START_DATE     END_DATE
    /sys/acls/power_users.xml     (RAW)     FLOWS_030000     connect     true     false     (null)     (null)
    /sys/acls/power_users.xml     (RAW)     FLOWS_030100     connect     true     false     (null)     (null)
    /sys/acls/power_users.xml     (RAW)     APEX_030200     connect     true     false     (null)     (null)
    /sys/acls/local-access-users.xml     (RAW)     FLOWS_030100     connect     true     false     (null)     (null)
    /sys/acls/local-access-users.xml     (RAW)     APEX_030200     connect     true     false     (null)     (null)
    Please suggest a solution for this.
    Thanks,
    Sunil

    Sunil
    Verify that the BI server is accessible from the 11g database by executing the SQL below in the 11g database
    select utl_http.request('http://<bi_server_host>:<bi_server_port>/xmlpserver/convert') from dual;
    The response returned should be something similar to
    <HTML><HEAD><TITLE>500 Internal Server Error</TITLE></HEAD><BODY><H1>500 Internal Server Error</H1><PRE>Servlet error: An exception occurred. The current application deployment descriptors do not allow for including it in this response. Please consult the application log for details.</PRE></BODY></HTML>

  • Problem regarding PDF printing in apex 3.1 and 11g database using cocoon

    Hi,
    i am configuring pdf printing on apex 3.1 (database 11g on windows XP OS) with cocoon/apache tomcat/fop using steps given in Carl Backstrom blog
    http://carlback.blogspot.com/2007/03/apex-cocoon-pdf-and-more.html
    I am using cocoon 2.2.10 / tomcat 6.0.20 and JDK 1.6
    I did everything as was mentioned in Carl's blog and everything configured without any hassle. I even enabled network services for FLOWS_030100 user on database. Even after doing all the steps I'm getting the error
    ORA-20001: The printing engine could not be reached because either the URL specified is incorrect or a proxy URL needs to be specified.
    I'm confused and don't know what to do next.

    Hi,
    By default, the ability to interact with network services is disabled in Oracle Database 11g release 1 (11.1). Therefore, if running Oracle Application Express with Oracle Database 11g release 1 (11.1), use the new DBMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the FLOWS_030100 database user. Failing to grant these privileges results in issues with PDF/report printing, specifically, you will get the following error message:
    ORA-20001: The printing engine could not be reached because either
    the URL specified is incorrect or a proxy URL needs to be specified.
    Follow the steps mentioned in the Oracle Application Express Installation Guide, [Enabling Network Services in Oracle Database11g|http://download.oracle.com/docs/cd/E10513_01/doc/install.310/e10496/post_inst.htm#BGEJJIHE]. Also refer to the [troubleshooting section|http://download.oracle.com/docs/cd/E10513_01/doc/install.310/e10496/post_inst.htm#BHAGIHIB] in case you receive an ORA-44416: Invalid ACL error after running the previous script.
    /Kenny

  • PDF printing using APEX Listener

    Hi -
    I have one report region a an apex page which displays a classic report based on a simple query. I also have a some header information above the report which are the application item information passed from the previous page. I am trying to generate a PDF report(using APEX listener), the report comes fine but it doesn't show the header information that is displayed above the report. Is there a way to do that? I tried putting some values in "Print Attributes" --> "Page Header" section but it just shows it as static text. Please provide your expertise.
    APEX version: 4.2.2
    Oracle:11gR2
    Printing Engine: Apex Listener
    Thanks,
    -Seenu

    You will need to build an Xsl document and load it into APEX..  Here is the link showing how to do advanced printing with APEX..:
    Marc Sewtz: PDF Printing with Oracle Application Express 4.2.2
    Thank you,
    Tony Miller
    LuvMuffin Software
    Ruckersville, VA

  • PDF Printing in APEX 3.0

    Hello. I am working my way thru the PDF Printing in Application Express 3.0 document. I am currently stuck at step 5: Configure Oracle Application Express to use the JSP for PDF printing. When I access the Admin Services home page and select Manage Services, I cannot locate the Instance Settings, under the Manage Environment Settings. Is there an error in the documentation or am I just not in the right spot?
    Thanks
    Dennis

    Hi Denise,
    That .cpio file is not a CD image file, it is actually an archive file containing the files and directory layout that you need to extract first. You can do that by using the (Linux/Unix) command cpio like this -
    cpio -idmv < file.cpioNote that BI Publisher is an extra licensed option that you will need to make sure you're covered for.
    As an alternative (and if you're willing to live without the 'Advanced' support that BIP provides), then you can use Apache FOP. Carl Backstrom made a fantastic video showing how to set this up, which you can find here -
    http://carlback.blogspot.com/2007/03/apex-cocoon-pdf-and-more.html
    APEX does not come with a built-in BI Publisher, I think you're thinking of the pre-supplied FOP configuration in APEX 3.0.1 (which makes it even easier to setup now).
    If you haven't looked through it already, I can highly recommend the "PDF Printing in APEX" document available here -
    http://www.oracle.com/technology/products/database/application_express/html/configure_printing.html
    Hope this helps,
    John.

  • PDF printing and APEX Listener.

    Hi,
    I noticed in the Application Express statement of direction, dated February 2, 2010, the section regarding the Application Express Listener stated "improved PDF printing". I construed (possibly misconstrued) this to mean the APEX Listener might include its own FOP processor, thus simplifying the setup and use of simple PDF printing in APEX.
    As I can't find any mention of PDF printing in the Listener Installation Guide, I was wondering if this was a misinterpretation on my part or has this functionality simply not been implemented? If it has not been implemented, are there plans to do so in a later release?
    Regards
    Andre

    This feature slipped out for this release. We will revisit for a future version.
    -kris

  • PDF-printing in APEX Listener

    Hello,
    We have installed Listener apex_listener.1.10.179.10.43 on AIX . . . . .
    What is the way to confige PDF printing for Apex 4.0 ?
    Thanks for the help
    Edited by: user11979779 on 7-jul-2010 1:15

    You should ask this in the apex forum itself. This one is specific to the listener.
    -kris

  • PDF Printing with FOP/Apache Tomcat/J4LFOPServer in windows

    Hi everyone,
    I have been learning to create pdf report with Apex 4.2 and BI Publisher 10 which I have been successful with. Now I like to learn how to create pdf reports using FOP thinking of the customers who will not spend money on BI Publisher. I have gone through the documents and procedures described in Java 4 Less. http://www.java4less.com/apache/fop.php and http://www.java4less.com/fopdesigner/fodesigner.php?info=apex. Configured Apex instance setting accordingly.
    For default layout a tabular pdf report is created.
    I have created an xsl-fo file named Formatted_report.fo on same query and xml file from report query with BI Desktop. But when I try to print a formatted output with Formatted_report.fo report layout it does not work(J4LFOPServer ). but same layout with .rtf template works fine (BI Publisher Print Server).
    Please help
    Hasan Al Mamun
    Programmer/Assistant Systems Analyst
    Bangladesh Bank
    Dhaka, Bangladesh
    Edited by: 913230 on Dec 15, 2012 9:37 AM

    hi,
    if you use the J4lFOPServer as you write, you can set it in debug mode as described here:
    http://www.java4less.com/apache/fop.php?info=faq#debug
    you will then see the XML data and the FO data in the server window. Maybe you can see there if there is an error and that can help you fixing it.
    Jon

  • PDF printing with oc4j apache fop not working

    I am configuring PDF printing in Apex 3.1.1. I have set up a shared component report query with a simple query. I have implemented the oc4j standalone and implemented the fop.war as specified in the "pdf printing in Apex" documentation. When I use the test button to verify the output of the report, I am redirected to a 404-page not found and the oc4j instance logs the following:
    08/09/09 12:02:36 [ERROR] Logger not set
    08/09/09 12:02:36 [INFO] Using oracle.xml.parser.v2.SAXParser as SAX2 Parser
    08/09/09 12:02:36 [INFO] building formatting object tree
    08/09/09 12:02:36 [INFO] setting up fonts
    08/09/09 12:02:36 [INFO] [1]
    08/09/09 12:02:36 [WARNING] table-layout=auto is not supported, using fixed!
    08/09/09 12:02:36 [WARNING] Sum of fixed column widths 662000 greater than maximum specified IPD 658800
    08/09/09 12:02:36 [INFO] Parsing of document complete, stopping renderer
    Any ideas why this is happening?
    Database is oracle 9.2.0.7
    OC4J standalone 10.1.3

    Hello,
    Just did some more search on this, and apparently it's a more common problem:
    Re: PDF problem FOP mod_plsql: /pls/apex/wwv_flow.accept ORA-22293
    Regards,
    Dimitri
    http://dgielis.blogspot.com/
    http://www.apex-evangelists.com/
    http://www.apexblogs.info/

  • What are the New Features in Apex 3.1.2 as Comparitive with Apex 3.1

    hi all
    what are the new features in Apex 3.1.2 as compartively with Apex 3.1?
    Is it recommended to use 3.12 comparitivly 3.1?
    please drop ur valuable answers
    many thanks
    khaja
    Edited by: ATM on Dec 27, 2008 1:06 PM
    Edited by: ATM on Dec 27, 2008 1:11 PM
    Edited by: khaja on Jan 18, 2009 10:47 AM

    Hello,
    Versions 3.1.1 and 3.1.2 are actually patched version of APEX 3.1. As such, they don’t introduce new features, but mainly fix bugs from the main release. If you want to learn specific details about these versions, you should read the readme file attached to the patch set files (on metalink).
    It’s always best to work with the latest patched version, as it reduces your chances to encounter bugs. In general, so far the new APEX versions added many new features and technologies, while maintaining backward compatibility, so existing applications functionality is not impaired. Personally, I don’t see any reason not to upgrade and use the latest version, certainly when you are comparing 3.1 to 3.1.2.
    Regards,
    Arie.

  • Pdf printing with linux client

    hi,
    i'm working with a SuSE 9.3 Client and I want to use PDF-Printing with the Acrobat Reader. With Windows Xp it works fine, but if i choose the PDF-Printer with the Linux-Client nothing happens. The PDF-Job exist in the cue. What do i have to do that it works?
    P.S. I`am from germany ;-)

    Thanks! But on which machine do i have to put the lp command?
    Application-Server?
    Tarantella Server?
    Client?
    I have put it on my Client! But nothinng happens.
    My PATH --> /home/me/bin:/usr/local/sgdee:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/jvm/jre/bin:/usr/lib/qt3/bin
    my script -->
    me@my-notebook:~> cat /usr/local/sgdee/lp
    #!/bin/bash
    LPINFILE=/tmp/.nclp.$$
    PATH="/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin"
    export PATH
    [ -f $1 ] && mv $1 $LPINFILE
    [ -f $2 ] && mv $2 $LPINFILE
    echo "Print: $* -> $LPINFILE" >> /tmp/nclog.`logname`
    echo "/usr/bin/xpdf -display $DISPLAY $LPINFILE; rm -f $LPINFILE" | at now
    exit 0
    me@my-notebook:~>

Maybe you are looking for