[Please of course replace this placeholder document by your own user manual before shipping it to your clients.]

 

Doc2Fax API

 

1. The Direct Fax Problem and its solution

 

Obviously it is quite complicated and inelegant to first print a digital document and then to have the fax device re-digitalize the printed paper again before finally sending it to the addressee.

 

Hardware components like Fritz Card, ISDN Card and such overcome this problem by virtually establishing a short circuit between computer and telephone line – and along with them a huge market for Fax Software arose, which drives these hardware components in order to send data through them.

 

Now if you as a programmer or software developer intend to offer your clients a tailor-made Fax Software, by which the end user can print his digital documents – for example think of an MS Word *.doc - without fax device, virtually directly into the telephone line, then you encounter two basic problems:

 

 

 

 

The only solution:

 

A printer driver, which writes the graphical data and the text of the digital document destined to be printed, or faxed, respectively, into files, and notifies your software about all print processes, print events and filenames, so that your software can react to it – and all that is done by Doc2Fax printer driver.



2. Target Group: To whom does Doc2Fax API address ?

 

Occasionally prospective buyers call us asking why they would want to buy Doc2Fax API, when for example the driver of company Peernet, which in principle works the same way as the Doc2Fax driver does, is on the market for less than 100 Euro ? – Quite simple:

 

The mentioned price refers to one single end user licence only. The Peernet driver addresses to end users who e.g. do not mind the Peernet logo to appear on the driver’s every Property Page (where users for example set page size and resolution), and for whom it does not matter which printer name and manufacturer e.g. is displayed on the Print Dialog or during installation.

 

Doc2Fax API on the other hand addresses to software developers who want to offer their customers a Fax Software including a driver, which displays a printer name and manufacturer freely selectable by the software developer. So Doc2Fax API’s price refers to a developer licence with unlimited number of end user licences.

 

Doc2Fax API enables you to configure a printer driver as required without any entry knowledge on printer driver programming or generally on programming at all. 

 

 

 

3. Mode of operation

Doc2Fax API is suitable for

·         Windows 2000

·         Windows XP

·         Windows Server 2003

·         and Windows Vista

(Furthermore, so to speak for reasons of downwards compatibility there is a version for

·         Windows 95

·         Windows 98

·         und Windows ME,

which you can request at info@driverlab.de.)

When the user requests a digital document (for example *.doc., *.ppt, *.xls, *.html, …) to be printed, then Doc2Fax printer driver

·         puts out one black-and-white-image in bitmap format (*.bmp) containing the graphic information for each page of the document to be printed (alternatively on demand a multipage TIFF-F aka Fax Group 3 or SFF file).

·         puts out one txt-file containing the text information for each page of the document to be printed. This later on allows keyword search, especially in large Fax documents.

·         on print events like 

o        StartDoc

o        EndPage

o        EndDoc

it starts the program or application, which you as software developer have scheduled for this case in configuration file Doc2Fax.ini. Depending on the type of print event, the driver provides useful information in the command line arguments like for example the name of the bitmap-file or txt-file it just recently put out.

Following the example of template application NotifyApp.exe that we deliver along with Doc2Fax API, you as the programmer merely have to write this program in a way that it expects 2 command line arguments, namely first an identifier for the print event:

o        on StartDoc:     decimal 1280 or hexadecimal 0x500

o        on EndPage:    decimal 1282 or hexadecimal 0x502

o        on EndDoc:      decimal 1284 or hexadecimal 0x504

and second a character string:

o        on StartDoc:     the name of the document currently being printed

o        on EndPage:    the name of the bitmap file that has just been put out and which contains the graphical information of the corresponding page of the document

o        on EndDoc:      the name of the document currently being printed

Typically e.g. in the program for event “EndPage”, which receives the name of the bmp-file containing the graphic information of the page just recently put out by the driver, you would open this bmp-file, then eventually convert the *.bmp to a *.jpg or manipulate the image in any other way and then forward it for example to the ISDN card.

 

 

4. How to customise Doc2Fax API


4.1. Installation

4.1.1. Self-extracting WinRAR archive d2fSetupEngl.exe

How to customise the self-extracting WinRAR archive d2fSetupEngl.exe: Provided that WinRAR ( http://www.rarlab.com/download.htm ) is installed on your computer, right-click on d2fSetupEngl.exe and select context menu option “Open with WinRAR”.

 

4.1.1.1. Scope of supply

Doc2Fax API consists of the following files:

 

 
The Doc2Fax printer driver consists of files

·         d2fddi.dll (Device Driver Interface)

·         d2fui.dll (User Interface)

·         Doc2Fax.ini (configuration file for the printer driver, but also for installation and deinstallation program)

·         RASDDUI.HLP (common help file for raster printer drivers)

Doc2Fax API´s scope of supply does not include source code for its printer driver.

The Doc2Fax installation program consists of files

·         Setup.exe (Installation program)

·         Logo.bmp (company logo for the installation program’s main window)

·         Doc2Fax API\Readme.html (readme file)

The Doc2Fax deinstallation program consists of file

·         Doc2Fax API \Uninstall.exe (Deinstallation program)

The name of the subdirectory (here for example „Doc2Fax API“) within archive d2fSetupEngl.exe must be identical with the printer name in configuration file Doc2Fax.ini (cf. chapter „4.3.1. Printer name“).

 

4.1.1.2. Self-extracting archive

Within WinRAR please click “SFX”, then button “Advanced SFX options”:

 

 

4.1.1.3. Tab control “General”

Under “Path to extract” please set the extract subdirectory within the program directory (usually “C:\Program Files”; see Radio Button “Create in “Program Files”” in illustration above). The name of this extract subdirectory must be identical with the manufacturer name in configuration file Doc2Fax.ini (cf. chapter „4.3.3. Manufacturer name“).

Under “Run after extraction” please set the installation program which to start automatically after extraction, in this case usually the installation program Setup.exe, which is delivered along with Doc2Fax API.

 

4.1.1.4. Tab control “License”

Set License agreement text and corresponding window caption.

 

4.1.1.5. Tab control “Text and icon”

Set an arbitrary explanation text and corresponding window caption.

 

 

4.2. Language-depending character strings in driver and installation program

Currently Doc2Fax API is available in English and in German language. In case you need Doc2Fax printer driver, its installation program Setup.exe and its deinstallation program Uninstall.exe in any other language, then please address to info@driverlab.de (provided that you are capable of translating the required strings into this other language).

 

4.3. Initialisation file Doc2Fax.ini

Initialisation file Doc2Fax.ini must be located in path

[system folder]\system32\spool\drivers\w32x86\3

Setup.exe automatically puts it in this path during installation, and it must not be moved from there ever after.

Do not change structure or name of the initialisation file, because the printer driver, for which you do not have the source code, reads from Doc2Fax.ini.

Do not change section captions and variable specifiers. You may change all values in initialisation file, except for section [Paper1] values, because it represents the printer driver’s default form:

[Paper1] 
PaperName ="A4" 
ShortEdgeLength =2100 
LongEdgeLength =2970 
ImageableAreaShortEdgeLength =2100 
ImageableAreaLongEdgeLength =2970 

 

4.3.1. Printer name

Change value of

DeviceName=Doc2Fax API

in order to set the printer name of your choice.

You have to set this value before installation by Setup.exe, that is in file Doc2Fax.ini within archive d2fSetupEngl.exe, and not only after installation in file [system folder]\system32\spool\drivers\w32x86\3\Doc2Fax.ini, because in that case Setup.exe would already have registered the printer to the operating system under the previous, different name.

This printer name must be identical with the name of the subdirectory within archive d2fSetupEngl.exe as mentioned in chapter „4.1.1.1. Scope of supply“.

 

4.3.2. Driver name

Change value of

DriverName=Doc2Fax API Driver

in order to set the driver name of your choice.

You have to set this value before installation by Setup.exe, that is in file Doc2Fax.ini within archive d2fSetupEngl.exe, and not only after installation in file [system folder]\system32\spool\drivers\w32x86\3\Doc2Fax.ini, because in that case Setup.exe would already have registered the driver to the operating system under the previous, different name.

 

4.3.3. Manufacturer name

Change value of

Manufacturer=DriverLab

in order to set the manufacturer name of your choice.

You have to set this value before installation by Setup.exe, that is in file Doc2Fax.ini within archive d2fSetupEngl.exe, and not only after installation in file [system folder]\system32\spool\drivers\w32x86\3\Doc2Fax.ini, because in that case Setup.exe would already have registered the previous, different manufacturer to the operating system.

This manufacturer name must be identical with the name of the extract subdirectory mentioned in chapter „4.1.1.3. Tab control “General”“.

 

4.3.4. Resolution

Change value of

FaxResolution=209

in order to set the resolution of your choice.

You should set this value before installation by Setup.exe, that is in file Doc2Fax.ini within archive d2fSetupEngl.exe, and not only after installation in file [system folder]\system32\spool\drivers\w32x86\3\Doc2Fax.ini, because in that case Setup.exe would already have registered the previous, different resolution to the operating system. However, nevertheless it is possible to change the resolution in [system folder]\system32\spool\drivers\w32x86\3\Doc2Fax.ini afterwards at any time, because that does not lead to inconsistencies.

 

4.3.5. Output path

Change value of

OutputPath=C:\Documents and Settings\All Users\Documents\

in order to set the output path of your choice.

Attention: Since this value depends on operating system, national language and directory system of the respective computer, it is of course written down into file [system folder]\system32\spool\drivers\w32x86\3\Doc2Fax.ini only during installation by Setup.exe. Thus it would not make any sense to set this value before installation in file Doc2Fax.ini within archive d2fSetupEngl.exe, because in this case it would be overwritten (in file [system folder]\system32\spool\drivers\w32x86\3\Doc2Fax.ini) anyway. Instead – if this should actually once become necessary – you have to change it after installation, either programmatically or manually.

 

4.3.6. Programs supposed to be started on certain print events

Change values of

StartDoc=C:\WINDOWS\System32\spool\DRIVERS\W32X86\3\NotifyApp.exe

SendPage=C:\WINDOWS\System32\spool\DRIVERS\W32X86\3\NotifyApp.exe

EndDoc  =C:\WINDOWS\System32\spool\DRIVERS\W32X86\3\NotifyApp.exe

in order to define which programs are supposed to be started on which print events.

Attention: Since these values depend on operating system, national language and directory system of the respective computer, they are of course written down into file [system folder]\system32\spool\drivers\w32x86\3\Doc2Fax.ini only during installation by Setup.exe. Thus it would not make any sense to set these values before installation in file Doc2Fax.ini within archive d2fSetupEngl.exe, because in this case they would be overwritten (in file [system folder]\system32\spool\drivers\w32x86\3\Doc2Fax.ini) anyway. Instead – if this should actually once become necessary – you have to change them after installation, either programmatically or manually.

 

4.3.7. Paper forms

You can add new forms ([paperX] sections) or change existing ones, except for [Paper1]. When adding new forms, do not skip paper section numbers - make sure to use next available number.

You should set these values for paper forms before installation by Setup.exe, that is in file Doc2Fax.ini within archive d2fSetupEngl.exe, and not only after installation in file [system folder]\system32\spool\drivers\w32x86\3\Doc2Fax.ini, because in that case Setup.exe would already have registered the previous, different list of forms to the operating system. However, nevertheless it is possible to change the list of forms in [system folder]\system32\spool\drivers\w32x86\3\Doc2Fax.ini afterwards at any time, because that does not lead to inconsistencies.