Skip to main content
Participant
April 22, 2009
Question

Using Excel VBA to Programmatically change Adobe Print Properties

  • April 22, 2009
  • 3 replies
  • 30528 views

Specifically I want to be able to uncheck the Adobe PDF Setting "Rely on system fonts only; do not use document fonts".  Is there any way to do this using Excel VBA?
I've seen many posts on the internet asking the same question but no solutions.

Any help would be appreciated.

Thank you!

This topic has been closed for replies.

3 replies

Participating Frequently
February 9, 2010

Hi,

It was very hard to find, but look at this document:

http://support.adobe.com/devsup/devsup.nsf/docs/53549.htm

So in order to change the "Rely on system fonts only; do not use documents fonts" I had to change this key:

HKEY_CURRENT_USER\Printers\DevModePerUser\Adobe PDF

Now, it is a binary key and it should be different for each version of Acrobat.

In Acrobat 9.0 Professional I had to change only one byte in the binary data, and it was located at the index 0x0472.

0 Value = Off / Disabled

1 Value = On / Enabled

Hope that helps.

Cheers,

Doron Ori Tal

Participating Frequently
February 11, 2010

A small mistake: the index number is: 0x046C (1132)

Cheers,

Doron Ori Tal

lrosenth
Adobe Employee
Adobe Employee
April 22, 2009

Where do you find this setting?? I don't see it in the Adobe PDF Printer - where do you?

Please be specific about which version of Adobe Acrobat and a screen shot would be great!

Also, what do you think this setting does and why do you wish to disable it?

Participant
April 22, 2009

I'm attaching two screen prints. One is the dialog box from Adobe with the property setting I want to change and the other is the error message I receive from Adobe prompting me to change it. I'm using Excel VBA to print a series of reports.

If I uncheck this option everything works great and the reports are output as postscript files. Then I convert them all at the same time to PDF documents. I was hoping for a way to do it programmatically so that any other users wouldn't have to manually make this change. Below is the small piece of VBA code that I'm using to print the Excel file.

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _

"Adobe PDF on Ne05:", Collate:=True, PrToFileName:="Q:\Common\UW\UNDERWRITING RISK SERVICES\01. Reporting\Underwriting Metrics Reporting\Produced Reports\" & strInput & "\Quarterly Dashboard Package\Support\" & strName & "KB.ps"

I have Adobe Acrobat 8 Professional and Adobe Distiller 8.

Patrick_Leckey
Participating Frequently
April 22, 2009

Leonard, to see that setting bring up the print dialog in any application, choose the AdobePDF Printer, click "Properties" and it is on the "Adobe PDF Settings" tab of the printer properties dialog.  As I mentioned earlier in the thread, it's a Distiller setting not Acrobat.

Patrick_Leckey
Participating Frequently
April 22, 2009

That is a Distiller option, not Acrobat.  See the Distiller API Reference included with the Acrobat SDK documentation.  You can turn that option off, save it to a new .joboptions file and then tell Distiller to use that .joboptions file when printing through the Distiller APIs.

Participant
April 22, 2009

Thank you this is sending me in the right direction. I could use alittle more assistance though. I created a new .joboptions file called UWAutomation and saved it with the other settings. My question is how to call this file each time I want to print this particular Excel file? Thank you again for your help.