SOTFUL
Links
  • Home
  • About Us
    • Oracle APEX Experts
  • Software
    • Evermenu >
      • Your Ad in Evermenu
      • Privacy Policy
  • Oracle APEX Services
    • Rates for Clients
    • Rates for Vendors Request
    • Development Service Request
    • Sandro Ferreira's Resume
  • Blogs
    • Sandro's APEX Blog
    • Sandro's ClickUp Blog
  • Career
  • Contact Us

Quickest Print Friendly in Oracle APEX

3/20/2018

15 Comments

 

Scenario

Recently I was asked in two different projects to implement a simple way to print the current APEX page without requiring any client software or plugin, and also preserving the main appearance of the APEX page.
​
There are several more sophisticated ways to implement a Print Friendly in Oracle APEX. This is the quickest solution I could think of, following the requirements mentioned above.
​

Solution

The solution basically hides all page components that should not be printed and invokes the browser print, and then the user can choose to print or save the pdf file. Then all the page components that were hidden before are shown back to the user.

The implementation consist of Dynamic Actions to do the Hide, the window.print() JavaScript command to invoke the browser print and then Dynamic Actions to show the components back. An even quicker implementation is to place all the necessary JavaScript code in a single Dynamic Action (Click Print Button) that will do the Hides, Print and Shows.

​Below are the steps to implement this solution.

Implementation

Classic Reports

After creating your APEX Page with a Classic Report, create a button and name it Print. ​
Picture

​
For the button to look like this
Picture
you have to define the Icon CSS Class as fa-print and change the Button Template to Text with Icon.


​
Then you create a Dynamic Action in the Print Button, and define the When section to be Click - Button - Print.
Picture


​Then for the True you choose 
Execute JavaScript Code.
Picture

and in Settings - Code, you paste the following code below:
Code Editor

    
If the Report data is too wide you can placing the following CSS in the Page Properties so that the Print is in Landscape format
Picture
That is it. You are now ready to run the page, click on the Print button and then you will have the behavior shown below.
Picture
​
​Following up in this article, we have this same solution implemented in pages with other types of Oracle APEX components. All the examples in this article are developed in the demo SOTFUL - APEX Examples application. Link and credentials are available below.


​

Interactive Report

The solution above can also work on an Interactive Report with some adjustments. We need the code below, similar to the one above, plus one additional step.

    

​Additional step:

In your Interactive Report click on Attributes, then on Heading change
Fixed To     None
Picture

​Now let's run the page. Click on the Print button and then you will have the behavior shown below.
Picture


​

Form

After creating your APEX Page with a Form create a button and name it Print.

​Then for the True you choose Execute JavaScript Code. In Settings - Code, you paste the following code below:

    
Right on. You are again ready to run the page, click on the Print button and then you will have the behavior shown below.
Picture

Note: This solution works on the Google Chrome browser. I am going to test it on the Internet Explorer/Edge browsers soon. For the Safari browser this code needs adjustment, since after the 1st Print the Hides no longer work. Feel free to post comments if you are able to adapt the code.

​


​
​Demo Application

You can login and see this solution accessing this demo APEX application.

SOTFUL - APEX Examples
https://pex.oracle.com/pls/apex/f?p=sotful_examples
Username: contact@sotful.com
Password: orclapex1

If you would like to login to the APEX Builder to see more details or export this demo application, please email me at contact@sotful.com or send your info on the SOTFUL Contact Us page, and I will gladly provide your credentials.


In my next blog post I am going to share the details for implementing a collapsible, user friendly Report Filter, using declarative Dynamic Actions. I promise taking "no time" to publish this next one :)

Best,
Sandro
15 Comments

Welcome to my blog!

10/26/2016

1 Comment

 
Given my continued focus and passion about Rapid Application Development products since my early days at Oracle, I decided to start writing about my ongoing efforts and accomplishments using Oracle APEX and share any valuable content I come across about Oracle APEX, related technologies and about other RAD options. I plan to write a summary of my professional history that started in 1997 in an internet provider and got considerably more interesting when I joined Oracle in 1999. As time permits I also plan to write about my journey as an entrepreneur and some insights about life.

By the way, I am starting the ORCLAPEX Chicago meetup group and we are planning our first meetup for December 2016. If you are in the area and is passionate about Oracle APEX you can join us here https://www.meetup.com/ORCLAPEX-Chicago/

Until my next post.
Sandro
1 Comment
    Picture

    Sandro Ferreira

    Hi there! I am an Oracle APEX Developer, Enterprise Application Architect and Founder at SOTFUL. I've worked as an Oracle Consultant for many years, on several Oracle APEX projects and I like to learn every day. I am passionate about RAD products and building Enterprise Applications.

    Archives

    October 2018
    March 2018
    November 2016
    October 2016

    Categories

    All
    Meetup
    Oracle APEX
    Print
    RAD

    RSS Feed

    View my profile on LinkedIn
    Follow @sandrogferr
Copyright © 2015 - 2023 SOTFUL. All rights reserved.​

We build with using

We build with love using Oracle APEX
Picture