Introduction
Print Wizard supports a number of different approaches to faxing, including through the Print Wizard user interface, through the Print Wizard engine, via the Print Wizard DLL or the Web Page Print Object, WēPO, or by including bang commands as part of a data file.
- PWUI
Through the Print Wizard user interface, you can select a file, and choose to fax it, utilizing any of the methods available. Also through the user interface you can set up how default faxing behaves and define each fax engine’s default settings.
- Print Wizard Engine
The Print Wizard engine can be called directly from a third-party program or script, or with the use of command-line parameters, to process a print job and fax it.
- Print Wizard DLL
The Print Wizard DLL also contains some limited capabilities for faxing.
- WēPO
Through the ActiveX version of Print Wizard, WēPO can be instructed to do faxing.
- Bang Commands
Bang commands can be added to a single print job file to do a fax or multiple faxes by just passing the file through the Print Wizard engine.
Print Wizard also includes fax support for several fax engines available to Windows users. This includes Fax32 from Microsoft, Mapi ® from Microsoft, and WinFaxPro ® from Symantecs.
- Fax32
Windows faxing is referred to here as Fax32. Windows XP, Windows 2000 and Windows 2003 support this type of faxing without the need to purchase additional software. While it may not be installed initially (“Fax” should show as a printer driver), you should be able to install it from your Windows CD.
- MAPI
The Messaging Application Programming Interface comes in various flavors with support for many 3rd party applications such as Outlook (MAPI), Outlook Express (Simple MAPI), Exchange (Extended MAPI), and others. Print Wizard implements standard MAPI with support for sending of faxes based on the profiles default transport mechanism being set for faxing.
- WinFax PRO
Symantec’s WinFax PRO supports many object calls into their software for the control of faxing through 3rd party applications. Print Wizard implements a basic set of calls to do WinFax PRO faxing.
Print Wizard Engine Command-Line Parameters
There are several Print Wizard command line parameters used for faxing (certain required items may be pulled from default fax type):
/fax=
/fax32=
/faxcoverpg=
/faxfromnum=
/faxfrom=
/faxprofile=
/faxmapi-
/faxwinfaxpro=
/j
/n
/t
Notes
“Notes” can be included to fill in the body of the fax. These notes can be a line of text with a vertical bar, ‘|’, causing a carriage return in the body. You can also replace the notes with a file name to include, such as
/nc:\temp\mybody.txtThis file will then be placed in the body of the cover page. Also note that, depending on your fax method, including a note may trigger a cover page whether you intended for one to be included or not.
Cover Pages
Cover pages are preformatted layouts, or templates. A fax cover page for Fax32 will not work with WinFaxPro, and vise versa, they are fax engine specific. If you wish to include a fax cover page, make sure you select a fax cover page for your specific fax software (check the vendor’s documentation for more information).
A fax cover page for the Fax32 fax engine includes the extension “.cov”. We include a generic cover page example for Fax32 in our examples, called Fax32CoverPage.cov. These cover pages are created through Microsoft’s “Fax Cover Page Editor” program that gets installed with the Fax32 driver.
A fax cover page for WinFaxPro usually carries the extension “.cvp”. We also include a generic example of this called WinFaxCoverPage.cvp. These are normally edited and designed in the “WinFaxPro Cover Page Designer” included with WinFax Pro.
Fax32
Back in Windows 95, Microsoft released a fax engine that would allow applications, such as Word scripting, VBA (Visual Basic for Application) and Word itself, to fax. They then dropped this support until Windows 2000 came out. Fax32 may not be installed by default on Windows 2000, 20003 or XP but can be added as a Windows component.
The new version of Fax32 is supported by Print Wizard both as a "superfile" (print to a file named fax://....), and as a fax target.
Currently, from the command line you can direct output to a “print-to-file” name of fax32:// or you can specify the current "target" type as fax32 (/Fax32=
- In the case of the "superfile", fax32://, the current files to process get handled one at a time as a write to the printer driver for faxing. This does assume what you are faxing is a file type that Print Wizard can handle.
- In the command line option, all files are passed to fax32 as attachments and ran thru a TIF file creation routine instead of writing them to the printer driver directly. In this manner, Print Wizard can handle multiple attachments of any file type (as long as there is a “file association” application).
- If a cover page name is specified in the CoverPage field of Fax32 in the Print Wizard default file (printwiz.ini), then a cover page is looked for by that name. Otherwise we obey the UseServerCoverPage option set in the fax printer driver. In this case, the driver looks for a “.cov” file as specified in the registry
CSIDL_PERSONAL\Fax\Personal Coverpages\ directory
i.e.
C:\Documents and Settings\User\My Documents\Fax\Personal Coverpages
or in the case of a file server in
\SERVERNAME\FAX$\
If no name is given but “include cover page flag” is set, then MS Fax looks in
CSIDL_APPDATA\Microsoft\Windows NT\MSFax\coverpg.cov
or
\\SERVERNAME\FAX$\Coverpg.cov
When using the command line parameter to fax with Fax32, all files are handled as attachments, including regular file names, so some file association must exist for the file to get rendered. We then merge all these tifs into one and re-pass it back to Fax32.
MAPI
MAPI is the standard set of calls used by Outlook, Outlook Express, Exchange and others. There are several levels of MAPI including Simple, Extended and Exchange Server versions. Print Wizard implements basic MAPI calls which should work with Simple MAPI (Outlook Express) and Extended (Outlook).
In order to fax with MAPI, you must set up a profile that uses the “fax transport” method rather than an email transport. You must then reference this as the profile to use when faxing.
Starting with Print Wizard MAPI sends all files as attachments, letting the fax transport render them as necessary. The default transport application for faxing is normally Windows Fax32 in the case of Windows 2000 or later. However this can be overridden if some other fax transport is loaded, such as WinFax PRO. Check your Outlook settings.
When faxing via the MAPI protocol, you are dependent on 2 major items:
- Security software may prohibit or at least warn you before allowing a 3rd party program, such as Print Wizard to fax
- Outlook settings determine if and when faxes get sent and may also require recipients have fax numbers in some cases.
MAPI fax support in Print Wizard takes all files as attachments, no writing to the printer. So a file association must exist for the file extension.
WinFax PRO
WinFax PRO from Symantec supports several 3rd party calls into its objects. Print Wizard uses these calls, writing to the fax device. These calls should work with WinFax PRO version 9.6 (from Delrina, though the object name may need to be manually changed inside the printwiz.ini file), and with version 10.0 or something later than version 10.03.
When Symantec took over support, they determined that there was too much support necessary with the 3rd party object calls. Hence support was dropped in version 10.01. Due to numerous complaints, in 10.02 some were put back in, but full support was not restored till 10.03. This latest version has to be ordered from Symantec tech support (tell them you are using a 3rd party program to fax through WinFax PRO and they will send a CD). As of November 2004, this version should be shipping as the “Windows XP Version”.
WinFax PRO support in Print Wizard does support writing to the printer device and then rendering attachments separately. This works fine provided the file name is capable of being handled by Print Wizard. Otherwise the file should be passed as an attachment.
Cover pages are handled with the command line parameter
'/faxcoverpg=<>'
or by the variable in the profile file (it must be a complete path).
Otherwise a QuickCoverPage flag inside the WinFax PRO setup is used. QuickCoverPage can include a logo and a file of text to show, but the general layout cannot be changed. Any textual change of this needs to be done through the CoverPage Editor included with WinFax PRO.
Custom cover pages can be developed within WinFax PRO Cover Page Editor, but watch for the variables.
Including only a notes line will cause Print Wizard to automatically use a QuickCoverPage, otherwise you should specify a cover page file.
Using Bang Commands
“Bang” commands are designed to provide a means of separating print jobs within one print file. With the inclusion of “bang” commands, multiple print jobs can be processed by the Print Wizard engine even though they come from the same source file. This includes the faxing of various parts of a file to multiple fax numbers.
!FAX
!FAX /x
... !FAX uses the default fax settings found in the “printwiz.ini: file as were set via the Print Wizard user interface.
!FAX32
!FAX32 /x
/t /j /n /a /c !Fax32 utilizes the Windows Fax 32 protocol to send a fax of the following data. A Microsoft Fax printer driver must be available for this to work properly.
Multiple fax attachments can be listed provided there are no spaces included. If a file name includes spaces, be sure to quote the whole attachment string with no spaces around the commas:
/a"c:\temp\test.doc,c:\testfile with blanks.xls"When the “bang” line contains a /n
command, it is assumed we need to fax a cover page. The defaults for “fax32” in the “printwiz.ini” file may specify a default cover page file name to be used. If none is specified, no cover page is sent. If you wish to override this behavior, you can include a /c where you specify the cover page (with full path) to use.
You can also send a cover page only by including the note data in the “bang” command line with no following data to process (see Developer Examples in the appendix).!MAPISEND
!MAPISEND (passes any mapisend switch)
!MapiSend saves all the following data off to a file that then processes that temporary file via the MapiSend program. Any included switches are passed on to the stand-alone MapiSend program (see the MapiSend section later in this document). In this manner the data can be faxed or emailed according to the MAPI protocol and the Outlook profile.
!MapiSend does take advantage of the “Expand Variables” procedure described in the Appendix for placing Print Wizard global variables as command line parameters.
One additional note, if you end the list of switches with a “/n” followed immediately by carriage return and line feed, the following data will become the body of either the email or fax as is passed through to the MapiSend program.
!WINFAX
!WINFAX /x
/t /j /n /a !WinFax uses the WinFax PRO object calls to fax the following data and any included attachments to the indicated fax number. Symantec’s WinFax PRO version 10.03 is recommended for this to work properly.
Examples
Note that there are more examples in the appendix of the Print Wizard manual. This example will fax data to two different sources:
!fax32 /n"note line 1 and|note line 2" /x5036240760 /j"fax 1"
this is a multi-part file for fax32 #1
fax with no attachments but a default cover page
(cover page determined because of "/n")
blablabla
blablabla
!fax32 /aC:\TEMP\TEST.DOC /n"note line 1 and| line 2" /x5036240760 /j"fax 2"
this is a multi-part file for fax32 #2
fax with attachments and a default cover page
(cover page determined because of "/n" from fax32 default settings)
blablabla
blablabla
!fax32 /x5036240760
this is a multi-part file for fax32 #3
fax with no attachment and no cover page
blablabla
blablabla
!fax32 /x5036240760 /c"c:\temp\faxcoverpage.cov" /n" line 1 and| line 2" /j"fax 4"
this is a multi-part file for fax32 #4
fax with no attachment and different cover page
(overriding default cover page with '/c')
blablabla
blablabla
!fax32 /x5036240760 /n"Fax cover page only #5|note line 2 and|note line 3" /j"fax 5"
!fax32 /x5036240760 /a"c:\temp\test.doc,c:\temp\test file.xls" /n" line 1 and| line 2" /j"fax 6"
this is a multi-part file for fax32 #6
fax with two attachment (one with an embedded space) and default cover page
blablabla
blablabla