Scripting and Programming Support
Miraplacid Text Driver registers itself as COM object and could be used from any scripting and COM-compliant software.Using this ability, you can control the printing process directly from your script or application.
Miraplacid Text Driver Scripting Object Creation
To create component, use following constructions- JScript:
var obj = WScript.CreateObject("Miraplacid.TextDriver");
- VBScript:
set obj = WScript.CreateObject("Miraplacid.TextDriver")
- Visual Basic:
Set obj = CreateObject("Miraplacid.TextDriver")
To enable early binding, you have to check "Miraplacid Text Driver Type Library" in "Project References" dialog and insert the following code:
Dim obj As Miraplacid.TextDriver
Set obj = CreateObject("Miraplacid.TextDriver")
Unregistered version of Miraplacid Text Driver will not show registration dialog until trial period expiration if used in autosave mode. After that, object creation will fail with appropriate message in errorinfo.
Object Miraplacid.TextDriver
Property | Type | Description |
Value | VARIANT (String Name) | (Read / Write) All the Text Driver properties. This is Default Property.
Meaning, it could be referred as obj("property_name") as well as obj.Value("property_name")
All the parameters are listed below. |
DocumentName | String | (Read Only) Original name of the printed document |
TotalPages | Number | (Read Only) Total estimated amount of pages in current print job |
RenderedPages | Number | (Read Only) Amount of rendered pages in current print job |
TotalJobs | Number | (Read Only) Number of printed documents spooled in Text Driver and waiting for processing |
JobProperty | VARIANT (String Name) | (Read Only) Current job various properties. All the parameters are listed below. |
AutoSave | Number | (Read / Write) 0 - interactive mode; 1 - Process and Auto-send to the specified destinations |
Identity | Number | (Read / Write) Identity value to replace {{IDENTITY}} tag |
Format | String | (Read / Write) Selects format plug-in ("Output Style"). PLug-ins should be named by their internal (short) names. The following values are valid: Formatted - "Formatted Text" TWL - "Text with Layout" XML - "XML" RSS - "RSS" Plain - "Plain Text" |
FormatParam | VARIANT(String PluginName, String ParameterName) | (Read / Write) Format Plug-in Parameters. All the parameters for all plug-ins are listed below. |
FormatParamNoCheck | VARIANT(String PluginName, String ParameterName) | (Write Only) Format Plug-in Parameters. Use this option to set only appropriate property, without updating plug-in user interface and checking value. This option is useful when you need to set all options in a batch, and some options affect others. After all options are set, call FormatCheckSettings to update plug-in state correctly. |
FormatPluginNames | String Collection | (Read Only) List of installed format plug-ins (XML, Plain Text and so on) |
Transport | String | (Read / Write) Selected Transport Plug-in names. If more than one transport plug-in selected, names should be comma delimited. The following values are valid: Clipboard, FTP, File, HTTP. Mail, Printer. |
TransportParam | VARIANT(String PluginName, String ParameterName) | (Read / Write) Transport Plug-in Parameters All the parameters for all plug-ins are listed below. |
TransportParamNoCheck | VARIANT(String PluginName, String ParameterName) | (Write Only) Transport Plug-in Parameters. Use this option to set only appropriate property, without updating plug-in user interface and checking value. This option is useful when you need to set all options in a batch, and some options affect others. After all options are set, call TransportCheckSettings to update plug-in state correctly. |
TransportPluginNames | String Collection | (Read Only) List of installed transport plug-ins (File, FTP and so on) |
Printer | String | (Read / Write) Name of the currently selected printer |
Printers | String Collection | (Read Only) List of all printers in Text Driver collection. |
RedirectPrinter | String | (Read / Write) Name of the currently selected printer for redirection. If empty, no redirection will be performed. |
SystemPrinters | String Collection | (Read Only) List of all printers installed in the system. Useful for user interface, this property allows UI to avoid using spooler API. |
DefaultPrinter | String | (Read Only) Name of the default printer in the system. |
Method | Parameters | Description |
GetPage | Number, returns String | Get a rendered page by index. |
UpdatePage | Number n, String s | Replace contents of nth page by s. |
CancelJob | None | Cancel current Print Job. Returns immediately. |
CancelJobWait | None | Cancel current Print Job. Waits until current job will be cancelled and the new one will be opened, if any. |
CancelAllJobs | None | Cancel all jobs for this printer |
SaveConfiguration | None | Save current configuration for active user and active printer |
SaveCommonConfiguration | None | Save current configuration for all users (who do not have own configurations yet) and active printer |
SavePage | Number page_number | Send particular page through selected Transport Plug-Ins. Returns immediately. |
SaveAllPages | None | Send All through selected Transport Plug-Ins. Returns immediately. |
SavePageWait | Number page_number | Send particular page through selected Transport Plug-Ins. Waits until page will be saved. |
SaveAllPagesWait | None | Send All through selected Transport Plug-Ins. Waits until all pages will be saved. |
Stop | None | Unloads plug-ins, get ready for unloading from memory. System will unload Miraplacid Text Driver core form memory with 2-5 seconds delay. We recommend you to add this method call at the end of each script. |
FormatCheckSettings | String plug-in | Call this method after updating several plug-in settings in a batch (using FormatParamNoCheck). Some settings may affect others, and this method guarantees that they will be updated in correct order. |
TransportCheckSettings | String plug-in | Call this method after updating several plug-in settings in a batch (using TransportParamNoCheck). Some settings may affect others, and this method guarantees that they will be updated in correct order. |
Redirect | String printer, String document | This method provides an alternative way to print a copy of print job to another printer. Unlike RedirectPrinter
property, which allows to set printer for automatic redirect, this method may be used in scripts or external programs
when additional analysis needed to decide, redirect this job to that printer or not. Returns immediately. "Document" parameter allows you to provide alternative name of redirected print job. Ignored if NULL or empty string. |
RedirectWait | String printer, String document | The same as Redirect method, but waits until redirect process will be completed. |
LoadUI | None | Loads user interface component if it is not already loaded. |
UnloadUI | None | Unloads user interface component, if it supports OnUnload event. |
GetEMFPage | Number index, String filename | Extracts a page referred by index from current job and saves it as a file "filename" in EMF format. Caller is responsible for deleting this file. This method works only with print jobs in EMF format. Special tags supported. |
SetEMFPage | Number index, String filename | Assigns a file "filename" to be a content of page referred by index. File must be in EMF format. Caller is responsible for deleting this file. File must not be deleted before the job is redirected. To set page back to original content from print job spool file, set filename to empty string or NULL value. This page manipulation will affect only EMF print job intended for redirect to another printer, not text job image for save. This method works only with print jobs in EMF format. Special tags supported. |
Miraplacid Text Driver Properties Reference
All these properties accessible via default "Value" property:
obj.Value("Charset") = 1250
or just
obj("Charset") = 1250
Property | Type | Description |
Charset | Number | Character set (codepage number)
5 - UNICODE 437 - OEM American DOS 850 - OEM Latin-1 DOS 852 - OEM Eastern Europe DOS 866 - OEM Cyrillic DOS 932 - Japanese 936 - Chinese (Simplified") 949 - Korean 950 - Chinese (Traditional)" 1250 - ANSI Latin-1 Windows 1251 - ANSI Cyrillic Windows 1252 - ANSI Eastern Europe Windows 1257 - ANSI Baltic Windows ...etc... |
UnixEOL | Number | End Of Line style
0 means "Windows" EOL style (\r\n or 0x0D, 0x0A) 1 means "UNIX" EOL style (\n or 0x0A) |
PageBreak | Number | 1 - insert page break symbols (0xc) between pages; 0 - don't. |
UnicodePrefix | Number | 1 - insert Unicode prefix (0xfeff) before Unicode content; 0 - don't. |
REMFMargins | Number | Value of redirection margins enumeration: 0 - Auto-compensated, 1 - Auto-normal, 2 - Custom. |
REMFTop | Number | Value of top custom margin. |
REMFBottom | Number | Value of bottom custom margin. |
REMFLeft | Number | Value of left custom margin. |
REMFRight | Number | Value of right custom margin. |
REMFCompatibility | Number | Turn on/off Save as Image mode for EMF redirection |
REMFConstrain | Number | Turn on/off constrain proportions for EMF redirection |
RTextFont | String | Name of font which will be used for text redirection |
RTextSize | Number | Text size which will be used for text redirection |
RTextWeight | Number | Font weight (100 - 900) which will be used for text redirection |
RPrinterSettings | ByteArray | One-dimentional Safearray of bytes containing printer settings (DEVMODE). To use default printer settings, set this value to the empty Safearray of bytes. |
Miraplacid Text Driver Job Properties Reference
All these properties accessible via "JobProperty" property:
var job_status = obj.JobProperty("Status")
Property | Type | Description |
JobID | Number | System print job ID for the current job. 0 if no active job. |
Status | Number | Current job status. Binary flags (ORed):
|
Resolution | Number | Resolution for the current job, in DPI. 0 if no active job. |
Printer | String | Printer name for the current job. Empty string if no active job. |
Document | String | Document name for the current job. Empty string if no active job. |
Format | String | Data format for the current job - TEXT / NT EMF 1.006 / NT EMF 1.007 / NT EMF 1.008. Empty string if no active job. |
SpoolFile | String | Spool file name with full path for the current job. Empty string if no active job. |
SepFile | String | Separator file name with full path for the current job. Empty string if no active job or if no separator page applied to the job. |
Miraplacid Text Driver Send To (Transport plug-ins) parameters
To query or modify Transport plug-in parameters, use TransportParam property of Miraplacid Text Driver object.
obj.TransportParam("File","filename")="textout_{{PAGE}}.txt"
File | ||
Property | Type | Description |
path | String | Destination File Path. Special tags supported. |
filename | String | Destination File Name. Special tags supported. |
open | Number | Opens resulting text file with post-processor. |
hide | Number | 0 = show post-processor window. 1 = hide post-processor window. Ignored if open=0. |
exec | String | Post-processor filename with full path. Special tags supported. Ignored if open=0. |
param | String | additional parameters for post-processor. Special tags supported. Ignored if open=0. |
append | Number | Set it to 0 if you wish to overwrite resulting file. Set it to 1 if you wish to append current result to a previous file. |
wait | Number | Set it to 1 if you wish to wait application termination before continue. Ignored if open=0. |
FTP | ||
Property | Type | Description |
url | String | Destination FTP directory URL. Special tags supported. |
file | String | Destination File Name. Special tags supported. |
passive | Number | 0 = FTP passive mode OFF. 1 = FTP passive mode ON. |
user | String | FTP server username. |
password | String | FTP server password. |
HTTP | ||
Property | Type | Description |
url | String | Destination HTTP URL. Special tags supported. |
file | String | Destination File Name. Special tags supported. |
put | Number | 0 = use POST method. 1 = use PUT method. |
user | String | username. |
password | String | password. |
Printer | ||
Property | Type | Description |
printer | String | Printer name. Can be a real printer name or "Default" string which means default printer. |
settings | ByteArray | One-dimentional Safearray of bytes containing printer settings (DEVMODE). To use default printer settings, set this value to the empty Safearray of bytes. |
font | String | Font family name to use in print output or "Default" string to not to use any specific font when printing. |
charset | Number | Numeric code of character set or DEFAULT_CHARSET value (equal to 1). |
weight | Number | Weight of characters to be used in print output. The following values will be accepted: 0 - DONTCARE 100 - THIN 200 - EXTRALIGHT 300 - LIGHT 400 - NORMAL 500 - MEDIUM 600 - SEMIBOLD 700 - BOLD 800 - EXTRABOLD 900 - BLACK |
height | Number | Height of characters to be used in print output. |
italic | Number | Specifies an italic font if set to 1. |
strikeout | Number | Specifies an strikeout font if set to 1. |
underline | Number | Specifies an underline font if set to 1. |
Property | Type | Description |
String | A set of email addresses of mail recipients, separated by semicolon. | |
subject | String | Email subject. Special tags supported. |
message | String | Email message body. This value will be used as a header before actual email content (printed pages). Text Driver will place this message, separator line, then printed pages. Special tags supported. |
attach | Number | Set it to 1 if you wish to send result as an attachment. |
filename | String | Name of file which will be used as an attachment. Special tags supported. |
Clipboard | ||
Property | Type | Description |
open | Number | Opens resulting text file with post-processor. |
hide | Number | 0 = show post-processor window. 1 = hide post-processor window. Ignored if open=0. |
exec | String | Post-processor filename with full path. Ignored if open=0. Special tags supported. |
param | String | additional parameters for post-processor. Ignored if open=0. Special tags supported. |
wait | Number | Set it to 1 if you wish to wait application termination before continue. |
Miraplacid Text Driver Formatting Style (Rendering plug-ins) parameters
To query or modify Format plug-in parameters, use FormatParam property of Miraplacid Text Driver object.
obj.FormatParam("TWL","margins")=1
In the table below, plug-ins are provided in Description (Name) format. For FormatParam, use name values.
Plain Text (Plain) | ||
Property | Type | Description |
delim | String | Delimiter which will be used to separate text boxes during rendering. This value may include the following escaped special characters: \s (whitespace), \t, \r, \n, \f, \\ (backslash itself) and \xnnnn (nnnn is a hexadecimal code of Unicode symbol). |
lheight | Number | Vertical rendering mode: 0 = automatic, 1 = fixed. |
ilgap | Number | Value of inter-line gap, in tenths of percents, it lheight = 0. |
heightval | Number | Ling height in pixels, it lheight = 1. |
Formatted Text (Formatted) | ||
Property | Type | Description |
margins | Number | 1 - use printer margins in text rendering (at top and left side); 0 - don't. |
usespaces | Number | 1 - use whitespace strings from document; 0 - don't. |
right | Number | 1 - use right alignment rendering; 0 - don't. |
char | Number | Character width calculation option: 0 - "Automatic, each page", 1 - "Automatic, first page", 2 - "Fixed value". |
cwidth | Number | Manual character width if char option is set to 2. |
lheight | Number | Vertical rendering mode: 0 = automatic, 1 = fixed. |
ilgap | Number | Value of inter-line gap, in tenths of percents, it lheight = 0. |
heightval | Number | Ling height in pixels, it lheight = 1. |
Text with Layout (TWL) | ||
Property | Type | Description |
margins | Number | 1 - use printer margins in text rendering (at top and left side); 0 - don't. |
usespaces | Number | 1 - use whitespace strings from document; 0 - don't. |
lheight | Number | Vertical rendering mode: 0 = automatic, 1 = fixed. |
ilgap | Number | Value of inter-line gap, in tenths of percents, it lheight = 0. |
heightval | Number | Ling height in pixels, it lheight = 1. |
XML (XML) | ||
Property | Type | Description |
optimize | Number | 1 - merge textboxes into whole words; 0 - don't. |
space | Number | Value in percents of average symbol width (10 - 100). |
RSS-Atom (RSS) | ||
Property | Type | Description |
author | String | Author attribute of RSS channel/Atom feed (document). |
link | String | Link attribute of RSS channel/Atom feed (document). |
description | String | Description attribute of RSS channel/Atom feed (document). |
br | Number | 1 - add <BR> tag to the end of description lines; 0 - don't. HTML content type for Atom feed. |
Miraplacid Text Driver Post-Processing System
You can setup Miraplacid Text Driver to launch an application to handle the results of text generation process.
Select Send To: File, check "Open with" checkbox and specify post-processor application.
For example, you can execute notepad.exe using the following settings:
path: "c:\"
filename: "textout.txt"
Open With: "notepad.exe"
Parameters: ""
Quotation marks are necessary when file name or path contains space characters.
Or, you can set up a viewer to open result text file for every printed page. You must add tag {{PAGE}} in filename textbox.
path: "c:\"
filename: "textout{{PAGE}}.txt"
Open With: "notepad.exe"
Parameters: ""
Notice that applications and files you use in post-processing should be specified with full path.
See also:
- Miraplacid Text Driver 2020 About
- Miraplacid Text Driver 2020 Installation
- Miraplacid Text Driver 2020 Registration Dialog
- Miraplacid Text Driver 2020 Advanced Settings
- Miraplacid Text Driver 2020 Main Preview Window
- Miraplacid Text Driver 2020 Settings Dialog
- Miraplacid Text Driver 2020 Text Formatting Settings
- Miraplacid Text Driver 2020 System Settings
- Miraplacid Text Driver 2020 Output To: Settings
- Miraplacid Text Driver 2020 Redirect To: Settings
- Miraplacid Text Driver 2020 Scripting Guide
- Miraplacid Text Driver 2020 Main Page
- Miraplacid Text Driver 2020 SDK