Focal Point
[CODE] Rotating Text in PDF's and other interesting things

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/8381082572

March 09, 2008, 06:09 PM
Waz
[CODE] Rotating Text in PDF's and other interesting things
If you have ever wanted to say rotate the titles on a PDF report, but everyone says its impossible, they're wrong.

I have created a utility (Written in FOCUS) that can do this.

There are limits to this, some are WF based, some not.



Can simulate a PCHOLD with the command

SET HTMLFORMTYPE = PDF
-HTMLFORM {name of pdf file without extenstion}


Here is a sample

The example PDF is here

A zip file of the code and samples is here

If you have any issues with the code, please add to this post, and I'll attempt to fix the problem.

If anyone is interested in how this is done, please add to this post and I'll explain what I know.

This message has been edited. Last edited by: Waz,


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

March 10, 2008, 05:07 AM
Tony A
Very nice Warren, manipulating the PDF file stream itself, amending control objects etc.

Also good to see that you've tried to incorporate full error vetting as well.

It would have been good to know what environment and platform from your signature, but I guess that you are running on a unix box due to the following code snippet?
! sed 's/[ ]*$//' tmp_pdf.ftm > &UTLPDFFX_File
This obviously restricts it, but should be able to be coded to for some other platforms by using &FOCMODE tests.

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
April 29, 2008, 05:57 PM
Waz
I've just made some changes to the PDF Effects routine.

Fixed some bugs

And

Added an outline functionality.

This will allow you to either have text as an outline or filled outline.

The obvious use for the outline would be a watermark in the report like DRAFT.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

April 29, 2008, 06:01 PM
Francis Mariani
Very nice!


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
May 06, 2008, 09:19 AM
Waz
I've just replaced the SED command with Dialog Manager, so now the utility is pure FOCUS code.

This has been tested with WF 7.1.6 (Unix) and 7.6.4 (Windows and Unix)


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

July 18, 2008, 09:36 AM
Waz
Oops another typo, seems to get worse the older I get, or are the keyboards changing ? Music


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

July 18, 2008, 11:14 AM
susannah
-* Write out a master to read the BSB_ACC list
EX -LINES 5 EDAPUT MASTER,pdf_effects,CV,FILE

just this wee bit of syntax by itself is the most brilliant thing i've ever seen...
wow




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
July 18, 2008, 12:13 PM
susannah
so it seems that DEALER_COST is the key element in this whole thing..
One of the TITLE's has to be set
with a whole lot of room vertically, in the usual sense, in order to get the rotated titles to fit.

so the entry for [c] could be an explicit blank
-SET &UTLPDFFX_Fx3 = '[c];R0;;; ' ;
and the AS phrase for DEALER_COST
DEALER_COST AS '[c], , ,Dealer'
will make the whole title bar tall enough to handle flipped titles.

this is sooooooo sweet.
i hope you won a tv or a car or a house or something.
Last year T and I won iPods...very sweet,
but this one's worth a sailboat.




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
July 18, 2008, 12:22 PM
Tony A
quote:
or are the keyboards changing
You must have had the same batch as mine - it's disl dyls can't spell either Wink

As for the top tip Summit 2008, a worthy winner Smiler

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
July 20, 2008, 06:54 PM
Waz
Susannah, if you need more info on EDAPUT, have a look here

As for how it works, yes, you have to consider the space that WebFOCUS will leave.

I won an iPod, its billiant.

Perhaps next time the prize will be an iPhone ??

This message has been edited. Last edited by: Waz,


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

July 21, 2008, 04:51 PM
PBrightwell
And no matter what size font you use the print on the screen just keeps getting smaller!


Pat
WF 7.6.8, AIX, AS400, NT
AS400 FOCUS, AIX FOCUS,
Oracle, DB2, JDE, Lotus Notes
July 21, 2008, 08:46 PM
Waz
quote:
And no matter what size font you use the print on the screen just keeps getting smaller!

Pat, I don't follow. Confused


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

July 22, 2008, 09:38 AM
PBrightwell
quote:
Oops another typo, seems to get worse the older I get, or are the keyboards changing ?



Pat
WF 7.6.8, AIX, AS400, NT
AS400 FOCUS, AIX FOCUS,
Oracle, DB2, JDE, Lotus Notes
July 22, 2008, 09:42 AM
susannah
i think its a comment about our eyes Wink




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
July 22, 2008, 09:54 AM
Waz
The eyes are going, and the keyboards are getting smaller. Sweating


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

July 24, 2008, 10:48 AM
Llance
The result is extremely cool! To be frank I barely understand how it works. OK, I'll admit right now I don't understand how it works at all Roll Eyes

However I must say that it appeals to my sense of irony that the winning entry is based on a feature that is both undocumented and unsupported, which of course makes the achievement even more impressive.

Do you think they'll 'code-tighten' then ask for the ipod back when it no longer works?






Live and Direct from the University of Virginia.


DevStudio 7.6.9 - WF-7.6.9 - Win2k3 - MRE - RC - MSSQL - XBOX-360 Elite - Playstation 3 - Wii - PSP - Nintendo DSi - iPod Touch - Suzuki B-King - Honda Valkyrie - Subaru WRX STI - Canon EOS 1D Mark IV - Lover of Toys.
July 24, 2008, 11:12 AM
Llance
Oh now I get it!

Veeery nice.






Live and Direct from the University of Virginia.


DevStudio 7.6.9 - WF-7.6.9 - Win2k3 - MRE - RC - MSSQL - XBOX-360 Elite - Playstation 3 - Wii - PSP - Nintendo DSi - iPod Touch - Suzuki B-King - Honda Valkyrie - Subaru WRX STI - Canon EOS 1D Mark IV - Lover of Toys.
July 24, 2008, 12:17 PM
susannah
its not even a feature
its all 'Waz', hacking a result out of thin air and magic.
Waz is the real 'David Copperfield'




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
July 24, 2008, 05:30 PM
Waz
Stop it, my head is getting bigger, oopps it exploded. Red Face

But seriously, any of us can do this sort of thing, you just have to keep an open mind and think outside the box, well perhaps in another container in another port. Winky


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

August 06, 2008, 03:17 PM
zoogy55
Waz.... great routine. Thanks. I needed to add parentheses around the code in line 202 of your zipped utlpdffx to get it to work for me, else it gave an:
 0 ERROR AT OR NEAR LINE    202  IN PROCEDURE UTLPDFFXFOCEXEC *
 (FOC279) NUMERIC ARGUMENTS IN PLACE WHERE ALPHA ARE CALLED FOR


works great as:

 S&Cntr..ALin2/I9    = IF ('&UTLPDFFX_Efct.&Cntr' CONTAINS 'R270')
                       (OR '&UTLPDFFX_Efct.&Cntr' CONTAINS 'R90')





Prod: WebFOCUS 7.1.6 Servlet - Self Service on Solaris 8 - Apache Tomcat 5.0.28
DevStudio 7.1.6 on MS Windows XP SP2
Output: HTML, Excel 2000 and PDF
August 07, 2008, 08:39 AM
Waz
Thanks zoogy55, i've fixed it in the zip in the link above.

The new version has some other general fixes as well.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

September 25, 2014, 08:21 AM
Richard Copeland
Doesn't appear to work correctly with 7.7.03. Looks like some syntax errors. Working to try to correct them.


WebFOCUS 7.6
Windows, All Outputs
September 25, 2014, 07:02 PM
Waz
Not sure if I have ever tested it on 7.7 and certainly not 8.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!