create pdf FREE Download Purchase pdfMachine

 

pdfMachine Technical F.A.Q.

Can I install multiple pdfMachine printers with different options?

When using Citrix / Windows Terminal Server / Remote sessions, can I initiate a pdfMachine print and have the client side send email / save / view ?

How do I get pdfMachine to work under Windows 2003 Server?

On Windows 98, how do I fix "External Window Handler Error?"

How can I uninstall pdfMachine manually?

Can I customize the pdfMachine install?

How do I edit the bgsconf.ini file in the pdfMachine.exe installer?

How do I create an installer for users without administrative privileges?

How do I create an unattended installer for users without administrative privileges?

pdfMachine installation error message 126




Can I install multiple pdfMachine printers with different options?

This is achievable but setup is a bit tricky...
1. Download the pdfMachine.exe self-extracting zip file.
2. Unzip pdfMachine.exe into a temporary directory using a zip utility. eg Winzip, or 7zip.
3. If your system does not have pdfMachine installed, run bgssetup.exe (from the temporary directory) ie: bgssetup.exe -printer="pdfMachine printer 2"
4. Now you have created a printer called "pdfMachine printer 2" with its own configuration options.
5. Run: bgssetup.exe -addPort -printer="pdfMachine printer 3"
6. This will create a printer called "pdfMachine printer 3" with its own configuration options, and so on...



 





When using Citrix / Windows Terminal Server / Remote sessions, can I initiate a pdfMachine print and have the client side send email / save / view ?

NOTE: This setup is only necessary if you dont want the default behaviour where the server side sends email / saves / views.

This uses a partially implemented feature of pdfMachine that requires some manual setup.

Server machine setup:
Setup pdfMachine to print to a pdf file and update a text file in directory(s) on the server.
1. Install pdfMachine
2. On the "Next Action tab", set the "Next Action" to "execute command line" and the "Command Line" to "C:\touchx.bat"
3. Create a batch file (e.g. C:\touchx.bat) which updates a file (e.g. c:\tmp\x.txt) in a server directory that clients can access (e.g. "echo blah > c:\tmp\x.txt")
4. On the General tab, set "Save Filename action" to "Use the default dir and default save filename" and set the "default directory" to a server directory that the clients can access (e.g "c:\tmp"), and set the "default filename" to any filename (e.g "x.pdf")

Now when a print is done on the server machine, no user interface is presented, the pdf file c:\tmp\x.pdf is generated, and then the file c:\tmp\x.txt is updated.

Client side setup:
Setup pdfMachine to check the server file periodically. The client side must have a drive mapped which allows access to the directory that the server puts the files into (e.g. x.pdf and x.txt above).
1. Install pdfMachine
2. On the general tab, set "Save Filename action" to "Use the default dir and default save filename" and set the "default directory" and "default filename" to the client side mapping of the path required to access the pdf file (e.g. x.pdf above) on the server.
3. Create a new registry string value called "checkfile" under the key "HKEY_CURRENT_USER\Software\pdfMachine\Broadgun pdfMachine".  The last part of the path is the printer name which in this example is the default printer name Broadgun pdfMachine.  Set the string registry value to the client side filepath mapping required to access the file on the server. (e.g. //server/tmp/x.txt)
4. Either reboot the client PC or stop and restart bgsmsnd.exe (bgsmsnd.exe is usually in windows\system32\spool\drivers\w32x86\2)

Now when the server file c:\tmp\x.txt is updated, the client bgsmsnd.exe notices (the checkfile registry val does this) and will load the pdf file on the client.

NOTE: You can choose to have the file automatically emailed by the client by setting the client option "Next Action" to "Launch default email client". If you want encryption with this option, enable it on the server, not the client.







How do I get pdfMachine to work under Windows 2003 Server?

By default Windows 2003 disables the installation of 'kernel mode' printer drivers, of which pdfMachine is.

You can override this setting by editing the Group Policy Object on the local machine - not the domain controller.
To do this:
1. Open Group Policy editor.
2. To open Group Policy so that you can edit the local Group Policy object, click Start, click Run, type gpedit.msc, and then press ENTER.
3. Under Local Computer Policy, double-click Computer Configuration.
4. Double-click Administrative Templates, and then double-click Printers.
5. Right-click "Disallow installation of printers using kernel mode drivers", and then click Properties.
6. On the Setting tab, click Disabled, and then click OK.








On Windows 98, how do I fix "External Window Handler Error?”

This is an occasional problem on Windows 98 related to a known problem with acrobat reader. More … http://www.adobe.com/support/techdocs/2a086.htm
A solution is currently in development, in the interim try:
• Rebooting your machine. Next time you logon things may be ok.
• Opening the acrobat PDF reader (with no document open) prior to printing to pdfMachine.








How can I uninstall pdfMachine manually?

On Windows NT/2000/XP:

Exit all applications you are not using. 1. Run bgsetup.exe–uninstall e.g. from the start menu button, select run, then enter: C:\WINDOWS\system32\spool\drivers\w32x86\2\bgssetup.exe –uninstall.
2. You may need to change the above path to match your system. If this works, you have successfully uninstalled.
Otherwise try; (be careful, don’t go editing the registry unless you know what you are doing...)
1. Start a command line session e.g cmd.exe
2. Type “net stop spooler”
3. Type “regedit”
4. From within regedit - delete the following registry keys (and all subkeys):
HKEY_CURRENT_USER\Software\pdfMachine
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control \Print\Monitors\PDF Port Monitor
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control \Printers\BroadGun pdfMachine

5. From the command line, type “net start spooler”
6. Re-attempt the install.

On Windows 95/98/ME:

Exit all applications you are not using
1. Run bgsetup.exe–uninstall e.g. from the start menu button, select run, then enter:
bgssetup.exe –uninstall If this succeeds, you have successfully uninstalled.
Otherwise try; (be careful, don’t go editing the registry unless you know what you are doing...)
1. Start regedit.exe and delete the following keys and sub keys:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control \Print\Monitors\PDF Port Monitor
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control \Printers\BroadGun pdfMachine
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control \Print\Environments\Windows NT x86\Drivers\Version-2\BroadGun pdfMachine
2. Re-attempt the install.







Can I customize the pdfMachine install?

When bgssetup.exe runs, its loads some configuration information from the bgsconf.ini file.

Install options in the bgsconf,ini file are:
LANGCan currently be EN(English), DE(German), FR(French), ES(Spanish)
startMenuNameControls the name on the start menu
printerName of the printer (defaults to BroadGun pdfMachine)
quietSet to 1 to install without user interaction
isSharedSet to 1 to share the printer on the network.
installOfficeAddinSet to 1 to install the Microsoft Office addin toolbar
installerStartBgProcessSet to 0 to prevent bgsmsnd.exe being started during install. See more info here









How do I edit the bgsconf.ini file in the pdfMachine.exe installer?

pdfMachine.exe is a self extracting zip file that automatically runs bgssetup.exe after extracting.  You can extract all the files from pdfMachine.exe manually, edit the bgsconf.ini and then recreate the pdfMachine.exe.

You can achieve the above however you like, but here is what we do:
- Open pdfMachine.exe in a zip program. eg Winzip, or 7zip.
- Extract the contents to directory of your choosing.
- Edit the bgsconf.ini
- Create a zip file of the new contents.
   eg in the directory contains the extracted and edited files
   zip ..\pdfmachine.zip *.*
- Create a new pdfMachine.exe using winzipse
   eg in the directory containing the zip file:
   winzipse has a limited command line capability so requires these parameters be put in a text file
   create winzipse.txt containing pdfmachine.zip -st pdfMachine.exe -setup -i pdfMachn.ico -t setupdlg.txt -win32 -le -C .\bgssetup.exe
   then run winzipse @winzipse.txt

You now have a new pdfMachine.exe







How do I create an installer for users without administrative privileges?

To install printers, the installer needs administrative privileges.  This can be done using the runas command.
runas /user:Admin pdfMachine.exe
Then enter the Admin users password.
(runas does not allow the password to be specified as a command line parameter - see below for further information)

Unfortunately, the standard pdfMachine.exe generates an error because it starts a background process running as the Admin user.
To prevent this, you need to set installerStartBgProcess=0 in the bgsconf.ini file.

bgsmsnd.exe must be running (as the user) for the user to successfully print to pdfMachine.
When the runas command completes, you should then run the bgsmsnd.exe as the normal user.
(alternatively bgsmsnd.exe will be started automatically next time the user logs on)
 








How do I create an unattended installer for users without administrative privileges?

To use runas without having to manually enter the admin password, requires that you create a script to enter the password for you.

There are a few common ways to do this, some more secure than others:

scriptit - Microsoft's utility for building install scripts.
autoit - A free scripting utility - can produce compiled scripts as standalone executables.
Runas Professional - Can take password on command line but can also produce standalone exes with the password encrypted internally.


pdfMachine installation error message 126


Some users have reported an obscure "error 126" when installing pdfMachine.  We have had a report that this can occur as a result of some other program incorrectly setting a registry type.  The fix was:

1. Open regedit.exe

2. Navigate to :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

3. Rename "Path" value to "Path.1" or some other temporary value. (Right click on value, select rename)

4. Create a new value called "Path" of type "Expandable String Value".
To do this, right click in regedit window, select "New-> Expandable String Value"

5. Copy the value of "Path.1" to "Path".

6. You may have to reboot for the new setting to take effect.