Printing a PDF using Brainy Data PDFDevice

Michael Mantkowski michaelj at
Thu Sep 2 14:42:37 UTC 2021

Hi Mayada,

Normally your report would be set with a specific paper setting by default
and these settings would be saved with the report.

We normally print to memory and view the report in an Omnis Report Field on
a window before printing it or saving it as a PDF with PDF Device.  The
"Load Page setup" gets the saved paper settings from the report and sets
them up for this print.  I also have a whole set of generic report formats
setup to just store page settings for various categories of reports so that
I can use its printer and papers settings for 95% of my printing methods.
If I want my invoices to go to a specific printer with letter size for
example but want my daily reports to go to another printer and print in
landscape format.

;Print Report
Calculate $cdevice as kDevMemory
Set report name MyReport
Begin reversible block
    Load page setup
End reversible block
Print report
Open Preview Window

; Save to PDF
Do FileOps.$putfilename(ivPDFfile,'Save As',con('*','.pdf'),ivPDFfile)
Returns #F
If flag false
    Quit method 
End If
;  Get final location
Do FileOps.$splitpathname(ivPDFfile,lvDrv,lvDir,lvFile,lvExt) Returns
Do code method CodeClass/SaveLastPDFPath (con(lvDrv,lvDir))

Begin reversible block
    Calculate $cdevice as kDevPdf
End reversible block
Do $cdevice.$setparam(kDevPdfConvLinks,kTrue)
Do $cdevice.$setparam(kDevPdfFileName,ivPDFfile)

Do $cinst.$objs.ReportField.$redirect(kFalse) Returns lvError

Michael Mantkowski
ClienTrax Software

-----Original Message-----
From: omnisdev-en On Behalf Of malkishtini at
Sent: Thursday, September 2, 2021 10:23 AM
To: 'OmnisDev List - English' <omnisdev-en at>
Subject: RE: Printing a PDF using Brainy Data PDFDevice

Hi Phil,

Thank you for your response.
I found this page property on the report and on the $root of Omnis as well
and I figured that this might be what I need to change at runtime.
I have to play with it and see how to change it based on user pref.

Thank you and best regards,

-----Original Message-----
From: omnisdev-en <omnisdev-en-bounces at> On Behalf Of
Phil (OmnisList) via omnisdev-en
Sent: Thursday, September 02, 2021 9:41 AM
To: omnisdev-en at
Cc: Phil (OmnisList) <phil at>
Subject: Re: Printing a PDF using Brainy Data PDFDevice

Hi Mayada,

For Omnis reports, you set the page setup to what you want on the individual
in Property manager
So I guess paper would be set to kPaUsLegal ?

not forgetting to load page setup before printing.

You could probably set it via notation before the instance is generated, if
it changes...

I tend to use oWrite these days, so slightly different, but still you set
the page paper size within the report in oWrite as well.

Phil Potter
Based in Chester in the UK.

On 02/09/2021 13:35, malkishtini at wrote:
> Hello all,
> I'm using Brainy Data PDFDevice to print an Omnis report to a PDF in
memory in studio 10.
> The PDF document that gets created will always be in "letter" size, is
there a way to change the paper size of the created doc to "Legal" when
printing from an API?
> Thank you,
> Mayada
> _____________________________________________________________
> Manage your list subscriptions at Start a 
> new message -> mailto:omnisdev-en at

Manage your list subscriptions at Start a new
message -> mailto:omnisdev-en at 

Manage your list subscriptions at Start a new
message -> mailto:omnisdev-en at 

More information about the omnisdev-en mailing list