1. Sivaprakash BKR
  2. PowerBuilder
  3. Wednesday, 14 November 2018 13:51 PM UTC

Hello,

PB 2017 R3

Need to print Cheque from Powerbuilder, with customer paper size:  Width = 7.99 inch, Length / Height : 3.70 inch

Tried:

Created a datawindow, with required fields including a picture field.  Picture field is to display the image of the cheque and resized the dw, picture field to the size of the cheque leaf.   Moved and resized the data fields at appropriate places.   Everything displayed perfectly, even in preview mode.   All margins set to zero, both in datawindow and in script.

Now trying to print it.  Two methods:  1.  Direct print      2. Print to PDF (Native)

1.  Direct print    [ dw_entry.Print() ]

     It's not exactly printing at the correct place.  Need few adjustments [ movement of fields ] even though the preview is showing everything at right place.  

 

2.  Print to PDF [ Native ]

     NO issues with printing.   Got the output.  When opened in Acrobat Reader, the paper size shown is A4, and not the custom paper size which we declared in dw.  Code to save the pdf 

dw_entry.Modify("DataWindow.Export.PDF.Method = NativePDF!")
dw_entry.Modify("DataWindow.Export.PDF.NativePDF.UsePrintSpec = Yes")

dw_entry.modify("p_background.visible = False")   /* Don't want to export the image */
li_ret = dw_entry.SaveAs(ls_filename, PDF!, true)
dw_entry.modify("p_background.visible = True")

I expected that the page size will be preserved in pdf file also which will make this printing lot easier.   With no way to alter the paper size acrobat reader, printing is not happening at correct place.  

 

2a.  Print to PDF [ Native ]  with custom settings

dw_entry.Modify("DataWindow.Export.PDF.Method = NativePDF!")
dw_entry.Modify("DataWindow.Export.PDF.NativePDF.UsePrintSpec = No")
dw_entry.Modify("DataWindow.Export.Print.Paper.Size = '1'")      /* Not much options here */

// Set Orientation
If ddlb_orientation.Text = 'Potrait' Then
       ls_str = "DataWindow.Export.PDF.NativePDF.CustomOrientation = '2'"
       ls_ret = dw_entry.Modify(ls_str)
Elseif ddlb_orientation.Text = 'Landscape' Then
        ls_str = "DataWindow.Export.PDF.NativePDF.CustomOrientation = '1'"
        ls_ret = dw_entry.Modify(ls_str)
End If

dw_entry.modify("p_background.visible = False")
li_ret = dw_entry.SaveAs(ls_filename, PDF!, true)
dw_entry.modify("p_background.visible = True")

What else options shall we try to get the cheque printing correct ?

We plan to print a set of cheques at one stretch, by giving from no and to no, say 1 to 50 cheques, and save it in a pdf file for later viewing / printing.

Any solution to this ?

 

Happiness Always
BKR Sivaprakash

 

Accepted Answer
Sivaprakash BKR Accepted Answer Pending Moderation
  1. Thursday, 15 November 2018 11:50 AM UTC
  2. PowerBuilder
  3. # Permalink

Thanks Mark Lee.

Since Native PDF doesn't support custom page sizes, I reverted back to printing through free pdf printers (CutePDF).  Printing through this free utility perfectly solved this issue.   

Seems native pdf is still to evolve.

Happiness Always
BKR Sivaprakash

 

Comment
There are no comments made yet.
Mark Lee @Appeon Accepted Answer Pending Moderation
  1. Thursday, 15 November 2018 08:52 AM UTC
  2. PowerBuilder
  3. # 1

Hi  Sivaprakash,

 

 

Currently, PB NativePDF doesn’t support margin settings or custom paper size.

BTW, the current NativePDF only supports print.paper.size when UsePrintSpec is set “Yes”.

 

Please refer to the following code:

dw_entry.Modify("DataWindow.Export.PDF.Method = NativePDF!")

dw_entry.Modify("DataWindow.Export.PDF.NativePDF.UsePrintSpec = Yes")

dw_1.Object.DataWindow.Print.Paper.Size = 1

 

When UsePrintSpec is set to “No”, please use CustomSize to set the size.

Please refer to the following code:

dw_entry.Modify("DataWindow.Export.PDF.Method = NativePDF!")

dw_entry.Modify("DataWindow.Export.PDF.NativePDF.UsePrintSpec = no")

dw1.Object.DataWindow.Export.PDF.NativePDF.CustomSize = '4'            // Yes, this is  Not much options here

 

Hope this would help!

 

Regards,

Mark Lee

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.