You're receiving this newsletter because you SIGNED UP AT BLACKICE.COM
Having trouble reading this email? View it in your browser. Not interested anymore? Click Here.
Black Ice
 

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:

  1. Through Black Ice PDF Printer Driver--> Printing Preferences--> File Formats--> PDF Settings (when PDF is the selected Output Format)

    pdf settings
  2. 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.

  3. 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.

html settings

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:

  1. On Start Application tab of Printing Preferences

    printing preferences
  2. 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


  3. 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.

Looking for a Fax, Imaging or Printing Solution?

Footer