Black Ice Software - February 2010
Black Ice Software has just release the Printer Driver version 11.02 with several new enhancements and features!
Additionally, the PDF printer driver includes major improvements for font embedding and font management for reduced file sizes, as well as
the significant improvements to the HTML file generation (Color and ColorPlus only).
Improved PDF Font Embedding
Font Subsetting
When embedding fonts into a PDF document it is possible to include only those characters that were used in the document.
This partial font is called is a "Font Subset". From version 11.02 Black Ice PDF and ColorPlus drivers support font
subsetting which greatly reduces output PDF file sizes. Only TrueType and OpenType fonts will be subsetted.
Font subsetting can be set in 3 different ways:
- Through Black Ice PDF Printer Driver--> Printing Preferences--> File Formats--> PDF Settings (when PDF is the selected Output Format)
- Using the printer driver's INI file
Font subsetting can be set through the INI file [PDF Settings] section.
Subset font=0 // with this entry the printer driver will not create font subsets
Subset font=1 // this is the default setting. Fonts will be subsetted.
- Programmatically using BlackIceDEVMODE dll or OCX
The GetPdfCreateSubset function will return the state of the font subsetting.
If the returned value is TRUE, all embedded truetype/opentype fonts are saved as subset.
The SetPdfCreateSubset function can set the state of the font subsetting.
Licensed Fonts
Certain font manufacturers may not permit the embedding of their fonts into documents without the proper licensing
on the viewer's machine. From version 11.02 Black Ice printer drivers can differentiate between licensed and non-licensed fonts.
The small lock icon before a font name indicates restricted license embedding. Fonts with "restricted license embedding" rights
will not be embedded into the document, even if the embed all fonts checkbox is selected. They will be embedded only if the embed
licensed fonts checkbox is selected.
Standard Fonts
It is also possible from version 11.02 to leave out standard Adobe and standard windows fonts from the font embedding further reducing
file size. Standard Adobe fonts include 14 fonts which are carried with Adobe Acrobat Reader. Since most people view their pdf
files with this program, the default setting is not to embed these fonts into the document. Standard windows fonts is collection of
font which are on almost every desktop windows machine. These fonts will not be embedded unless the embed standard windows font checkbox
is selected.
HTML Output Improvements
Font Embedding
Font embedding can also be set for HTML output. In the HTML Settings window the embedded fonts can be specified under the Fonts tab.
Those fonts which are selected for embedding will be placed next to the HTML output file with the same name as the original font.
In order for Internet Explorer to display these embedded fonts properly, they are also converted into .eot format as well. Special
handling for licensed fonts are also available just as with the PDF output.
Printing Multipage Documents
From version 11.02 there is a new feature for the HTML output. You can create one full length html file instead of creating
an html file for every page of the document. If the "Save pages to separate files" check box is checked, the Printer Driver
generates separate HTML files from each page of printed document, otherwise only one full html page will be created which will
include all the pages of the original document.
General Printer Driver Enhancements
New OutputFilename Parameter
Output Filename is now available in the Black Ice printer drivers as possible parameter of the Start Application program.
Released in version 11.02, the Output Filename can be passed to the custom program like the other parameters: Document name,
Group filename, Orientation, Multipage, Printer name, Number of pages and one custom string parameter. Using the Output
Filename parameter the printed documents can be opened automatically with any viewer program. For example, the printed PDF
documents can be opened Adobe Acrobat Reader after every printing.
The Output Filename can be set along side the other Start
Application parameters:
- On Start Application tab of Printing Preferences
- Using printer driver's INI file
The Start Application parameters and its order can be set using StartApplicationParameterOrder entry under the Default
Settings section. The StartApplicationParameterOrder specifies the parameter order by specifying which parameter you would
like to have on which position. The default parameter order is 12345608. It means that the parameter list of the start application
program is the following: Document Name, Groupfile name, Printer name, Number of pages, Multipage, Orientation, Output filename.
To specify the parameter list in reverse order enter StartApplicationParameterOrder=80654321 to the INI file. To pass the printer
name and the group file name only, enter StartApplicationParameterOrder=32000000 into the INI file specifying 0 for the unused
parameters. In order to pass only the output filename as parameter enter the following line in the INI file:
StartApplicationParameterOrder=80000000.
Values of each parameter:
PARAMETER_NONE = 0
PARAMETER_DOCUMENT_NAME = 1
PARAMETER_GROUP_FILE_NAME = 2
PARAMETER_PRINTER_NAME = 3
PARAMETER_NUMBER_OF_PAGES = 4
PARAMETER_MULTIPAGE = 5
PARAMETER_ORIENTATION = 6
PARAMETER_CUSTOM = 7
PARAMETER_OUTPUT_FILENAME = 8
-
Programmatically using BlackIceDEVMODE dll or OCX
The SetStartApplicationParamCode function is used to set the command line parameters of the start application. If you
don't want to use a parameter (for example document name), you should call the SetStartApplicationParamCode like this:
// 1 : document name (parameter code)
// 0 : disable parameter
BlackIceDEVMODE.SetStartApplicationParamCode (BlackIceDEVMODE, 1, 0);
If you want to set the second parameter to group file name, you should call the SetStartApplicationParamCode like this:
// 1 : parameter index (zero based integer)
// 2 : group file name (parameter code)
BlackIceDEVMODE.SetStartApplicationParamCode (BlackIceDEVMODE, 1, 2);
If the third parameter is zero, the SetStartApplicationParamCode function knows that the user wants to disable some parameter,
because the available parameter codes are from 1 to 8. In this case the second parameter of SetStartApplicationParamCode function
means the parameter code that the user wants to disable.
Using Environment Variables
Environment variables can be used in the path of the printer driver output directory. This mechanism is used to set different
directories for all users. It can be useful on Terminal Servers because the system administrator does not need to set different
output directories for each user. The system administrator can specify the output folder as an environment variable at installation
time. Of course this environment variable has to be specified in the user's context. There are default environment variables that
are already specified for all users (example TEMP or USERPROFILE). If the administrator uses some predefined environment variable,
they do not need to define a new environment variable for the users.
Example:
The system administrator can set the following output folder at install:
<<USERPROFILE>>\Documents\PrintedImages.
(The environment variable has to be used between << ... >>.) This folder will be C:\Users\[user name]\Documents\PrintedImages
on Windows 7 operating system.
The user should have appropriate security permissions to generate files to the specified directory and the directory path has to
exist before printing.
|