Powerbuilder Native pdf method does not work in runtime




I have a program where I am trying to save datawindow as PDF using the new new feature in usign NativePDf!


a_dw.Modify ("DataWindow.Export.PDF.Method = NativePDF!")
a_dw.Modify ("DataWindow.Export.PDF.NativePDF.CustomOrientation = 0")

a_dw.Modify ("DataWindow.Export.PDF.NativePDF.CustomSize = 5")

a_dw.saveas('c:\somefolder\test.pdf", PDF!, false)

This works fine everytime in development environment but in rutime it creates a blank pdf? 

I have used powerbuilder runtime packager with all option checked to deploy it to 32 bit version. I have also checked  that PBPDF170.dll is there.

I have applied the September patch so the date on the pbpdf170.dll is 09/22/17.

It just does not make sense at this point. I need a quick fix as users are frustrated!!!




Question Tags: 


René Ullrich answered Powerbuilder Native pdf method does not work in runtime


The user needs write permission to the applications directory because Powerbuilder generates the file dwPage.emf.

ravi@sawinpro.com's picture

The application is installed under c:\program files (x86) and can not give users permission to write under that folder. We are updgrading this application from pb 11.5 and will be deployed to thousand of users. This is not acceptable.

Why PB does not use user's temporary folder? Is there a way to make it store there?


· Ullrich's picture

Hi Ravi,

Appeon plans to correct this in next release (PB 2017 R2).

ravi@sawinpro.com's picture

Thanks for the reply. When will PB 2017 R2 be released?

· Ullrich's picture

My last info from Appeon: 15.01.2018

Olan Knight's picture

I certainly hope that the FIX to this issue involves allowing the user to select the location of the storage solder, both as a property we can code, and from a SAVE FILE AS dialog box.



· Ullrich's picture

Chris Pollach wrote (sadly in wrong thread):

The good news is that this oversight should be corrected in the PB2017R2 (revision #2) where the Native PDF feature will now create the dwPage.emf work file in the target folder where you are trying to build the PDF file. Obviously, the target folder should have write permissions already for the App user. The other enhancement will be the creation of a dwPageN.emf file where when the dwPage.emf already exits when threading multiple PDF requests. That means that the PBVM will create a dwPage1.emf, dwPage2.emf, etc work files as required on the fly.