The Variable data manager plugin includes an extensive set of tools for generating, processing and substituting variable information into CorelDraw documents. It allows to generate numbers and random identifiers through different algorithms, process CSV files and load columns or rows, select images from a folder and batch process them. The data is substituted into the template, which can be any single-page or multi-page CorelDraw document.
As a result you get a CorelDraw file completed with individual data on each page. This approach allows, depending on the complexity of the source template and the power of the workstation, to easely generate variable data up to 5000-10000 records and even more.
The use of PPML a special language designed for working with variable data, opens up much more opportunities. The plugin very quickly generates light PPML files that are processed in seconds after sending it to print. PPML is the industry's first open, interoperable, device-independent standard that enables the widespread use of personalized print applications in high volumes which is supported by most digital press vendors.
The plugin has a lot of features, which are described below, but in order to understand how in general it works, you can perform a small test run.
Many of the ReproScripts plugins use projects to organize their work. Each project contains complete information for them to carry out the required task. Variable data manager keeps in projects the rules for generating and substituting variable data, the parameters for saving the finished file etc.
There is a project manager control at the top of the plugin's window. To create a new project, click the button and give it a name. As a name, we recommend using the job order number. This will allow you to easily navigate in the list of projects. If you make any changes to the project, you must save it by clicking on the button with a floppy disk .
To access additional project manager commands, you can click on the button. button - allows you to create a copy of the current project, saving it under a new name, will delete the current project.
The plugin supports master projects. The master contains parameters that are reused during the creation of new projects. This approach exludes the need to re-enter the same data for each project and, at the same time, have any number of presets "by default". The master project saves the settings you need to repeat from project to project from the Data and Result tabs, but the CorelDraw template data that is individual for each project is not saved.
Any project can be saved as a template by clicking on the button.
In the plugin settings, which opens when you click the button with the gear in the lower right corner, the last tab allows you to configure the project manager. You can specify the folder in which the projects are saved, by default My Documents\ReproScripts\RSVDP is used.
If you regularly use the plugin, you can accumulate a large number of projects, in order to limit their list in the manager, you can check the box do not show projects older than and specify maximum age for the projects to be included in the list. This is convenient because typically you do not often have to come back to old projects.
it is possible as well to specify the default template which will be automatically offered for each new project. For this purpose it is reasonable to create a project with the most frequently used parameters.
Projects and templates are saved as regular files on the disk, with the same names that are specified in the plugin. In order not to complicate the interface of the plugin, there is no possibility to rename or delete such files exists in the settings. But, in the project tab there are two buttons that allow you to open the corresponding folders and perform the deletion / renaming of files using the standard Windows Explorer. Restart the plugin to update the lists if you changed anything in these folders.
The first tab of the plugin window allows you to control the formation of variable data, which will be substituted into the CorelDraw objects of the template. You can add any number of fields of different types to the list. To add a new field in the list click on the button in the header.
Each field in the list has three buttons on the right hand side to remove it from the list , duplicate and open the field parameters editor .
In front of the field's name ther is a checkbox , which allows to simultaneously perform operations on several fields in the list. If there are marked fields in the list, two buttons appear in the header, allowing you to copy the fields into memory and deleting all marked fields at the same time .
If fields have been earlier copied into memory, the button is visible in the list header, allowing you to paste previously copied fields into the list. This is useful for transferring fields from a project to a project.
Pressing to add a new field in the opened list, you must select the data type. After selecting the desired type, the window for editing the field parameters, specific to each of them, opens. For any field type, you can change the name that will identify the field in other parts of the project and so it is desirable to give it a more understandable value than the default one.
This type of field allows you to substitute successively changing numbers in the text objects of the template.
The plugin allows to load information from a CSV file and use them for substitution into text objects. CSV file is a simple text file that you can create by exporting a table from Excel (*.xslt) format, or from other applications. It is easy to form manually.
The structure of the CSV file is simple - it consists of strings, in each of which the columns are divided by the character ','
Example of a CSV file with three columns:
Column1-1, Column1-2, Column1-3
To be able to use a comma inside the columns themselves, sometimes they are enclosed in quotes:"Column, 1-1","Column, 1-2","Column, 1-3"
In general, the plugin in its work tries to place all the data next to the CorelDraw template file, which will be used to substitute the data. Therefore, a template file should be specified in the project and this file should already be saved on disk.
Next to the template the plugin forms a separate folder in which both the working materials and the finished resulting file are saved. If the template is not specified, this can not be done. Therefore, before creating a field with a given file, specify the template first.
CSV file must be placed in the Files folder inside the working folder of the project. To do this, you need to click on the button 1 and specify the desired file file with *.csv or *.txt extension — it will be copied to the project folder. Alternatively, you can simply copy the file manually to the folder that opens when you click on button 2.
For each CSV file added to the project, you can set additional parameters that control its import.
Column separation character — specifies which character to use when separating each row in the file into columns. This symbol may differ depending on the settings on your system, but you can always set any symbol that suits you. For most countries, the default character will be a comma.
Column quotes are used in some versions of CSV files to avoid column break issues. For example, if a comma is the column break character in your file, then in order to be able to use text with commas inside the column itself, it must be enclosed in quotation marks. If set to an empty value, the import will expect a file without quoted columns.
Text encoding — allows you to fix potential problems when importing files in encoding other than UTF-8. If during import the text is replaced by incomprehensible characters - specify the correct encoding in which the file is written. Or just save it in UTF-8 encoding before importing.
On each cycle of its work the plugin sequentially takes the next line from the file and splits it into columns, then forms data from them which will be inserted into the template.
In the settings of the field of the file there is a list that allows you to specify which columns to take from the string, how to process them, and in what order to put to form data ready for insertion.
The plugin forms the field following the list from top to bottom, the buttons , allow to control their arrangement.
The elements list allows to form from each line of the CSV file a field ready for insertion. The plugin ignores the extra columns and lines, and if it does not find it, inserts an empty string instead (reporting this in the log about doing the work)
There are two checkboxes below the list that allow to control the repetition of data. In normal operation, the plugin processes each line of the file once in each cycle of its work. If the checkbox repeat each value is ticked off, it will take the same line from the file the specified number of times, forming a repeating value as a result.
The second checkbox cyclically repeat all values controls the cyclic run of the data. If it is disabled, then the plugin takes all the lines from the file one by one and, when they end then an empty value is substituted. If you specify the need for a cyclic repeat, the plugin will process and form the values from the specified number of the CSV file rows and then return to the first line.
For example, if there are 7 lines in the file, then without a cyclic repeat the plugin will take the lines 1, 2, 3, 4, 5, 6, 7, 'empty', 'empty', ... if you specify the cyclic repetition of 3 rows, then the lines 1,2,3, 1,2,3,1 ... will be processed ...
The numbering of tickets for various events has its own peculiarities, which are difficult to realize with the help of ordinary numbers. The plugin suggests using a special type field for this purpose, in which the data is organized in the form of a virtual scheme for allocating seats in the hall with zones, rows, seats.
In the field parameters there is a list that can be filled in sequentially by specifying in which zone how many rows and how many seats there are. For each row, you can also specify a price.
At the bottom right, the plugin displays information about how many unique values (= seats) are in the list. This value is convenient to use later when the project is started. In each cycle, the plugin will take each entry in turn and use in the template its zone, row and price.
Having formed the seats list once it can be used in various projects by copying the necessary field from the project to the project.
Often the layout of seats in the hall already exists in electronic form, for example in the form of an Excel table. Therefore, the plugin allows you to import it from the CSV format.
To import, you need to click the button and specify a CSV file that contains information about the seats in the hall.
The plugin expects a specific file structure, so that you can use the data from it. The structure is quite simple and logical and is based on real data. The schema file in each row should contain information:
Individual parameters are configured in the import window. If the beginning and end of the range match, you can specify the same column number to load data from. After importing all the data will get into the table which be used by the plugin to pick up suitable values at each cycle of it work to insert into the template.
In some cases, it may be necessary to insert information about a specific place more than once in the template. There are two flags below which allow to repeat the same value a specified number of times. It is also possible to loop repeatedly when the plugin alternately inserts information about places from the list to the end of the list, and then returns to the first value and repeats everything again.
Designers often use non-standard decoration of price values on thickets. To expand the plugin's capabilities in this area at the bottom of the parameters window, you can specify the number of decimal places to round the price to, and use a separator which should be used between the main and fractional parts.
This type of field allows you to quickly create small lists that are required for generating data. Larger lists are easier to load from a CSV file.
To add a new string, click the sign and type in the requied value. The up and down buttons allow you to move the value in the list. This can be important, since the plugin handles the rows in the list sequentially from top to bottom.
Repeats of values are often claimed for such lists. There are two checkboxes at the bottom, repeat each value allows to use the same string the specified number of times, and cyclically repeat all values to loopback - the plugin takes the lines from the list to the end, and then returns to the first value and repeats everything again.
Generating variable data often requires the formation of random identifiers. The Variable data manager plugin allows you to predictably get random values of the most complex format.
Predictability means the need to get a random value from one side, but on the other hand, its repeatability when the project is restarted. For example, if you want to print the print run or repeat exactly one part of it. To achive that the plugin generates and stores a list of random values for each field and does not change it when restarting, unless, of course, the field itself has been changed. This allows to get identical values when restarting the project for one reason or another, not at the expense of randomness.
In addition, it is often required that the list of variable identifiers used in the circulation be transferred to the customer in electronic form for further processing and control. The plugin allows to do this by creating a CSV file with a list of variable fields in the print run.
The value file is saved in the working folder of the project and can be deleted if desired. The plugin force the plugin to regenerate all random values.
In the parameters window of the random field there is a list that allows to form its structure. In the simplest case, it is enough to specify one line and set the number of characters of each kind that will be used for the random identifier. Such parts can be several, with a different set of symbols. They can be divided among themselves by static text or line breaks. Parts can be moved up and down the list using the and buttons, which will affect the final appearance of the identifier.
The plugin will alternately process all rows of the list (from top to bottom) and merge them into one final value. This approach allows you to generate identifiers of a very complex structure with an arbitrary set of numbers, letters, symbols, both static and variable.
In addition, you can check the box indicating the need to check the number for uniqueness ( only unique random values). This ensures the formation of a list without duplicate values. If the checkbox is disabled, duplicates may appear in the resulting file.
repeat each value checkbox allows to specify how many times the same value will be used when you substitute data in a template. You can also specify that you need to repeat only a few values cyclically ( repeat cyclically). In this case, the plugin will generate a list of the required length and reaching the end will return every time to the starting point.
After setting the random values field and specifying the parts it consists from, it will be added to the data list of the main form of the plugin. The information in the field's line will indicate the estimate of the number of possible unique random values for the given parameters. This is useful if the length of the variable identifier is set too short and there may not be enough unique values for the entire print run. In case of impossibility of formation of a unique value, the plugin will report this in the generation log when performing the work.
In actual practice, sometimes it is not enough to use a value from a single field for substitution. A combination of fields of different types may be required. To do this, the plugin provides a special type of field.
In the settings window, you can select previously defined fields, separate them with static text or break the line .
The plugin will successively process all elements of the list to form a single value, which will to be substituted into the template when generating data.
Elements can be moved down the list using the buttons in each of the lines. To duplicate any of them, you can click the button
The data specified in the first tab of the plugin will be inserted into the template, which can be any single-page or multi-page CorelDraw file.
The plugin allows you to substitute variable data in following types of objects:
|CorelDraw shape type
|Can be used for
|Artistic or Paragraph text
|variable text from any field
|variable barcodes or images from a folder
|variable images from a folder
The only restriction on objects that will be used to substitute variable data in them is that they should not be in groups or clips. To add a new object to the project, you must go to the template tab and select the desired object in the template file. If this shape is suitable for use, the button will appear in the list header, clicking on which you can bind to the object data and specify additional parameters for inserting variable values.
Variable text substitution is possible in the Artistic and Paragraph text shapes. After selecting a text object in the template, click on the button. It's important to remember that when you insert variable data, the plugin saves all the text formatting options — font, size, alignment, color, etc. When you add a new object, the plugin will form a suitable name for the object, which, if necessary, can be changed to a more convenient one.
The most important parameter for the template shape is the the field the data from which will be inserted into it. In the drop-down list, specify the required value. If the list is empty then it will be necessary to create data fields as described earlier first. If the variable data source is not specified, then there will be an error message for the object and the plugin will not be able to start working until the problem is fixed.
In the parameters of a text object, there are two text boxes that allow to add extra text to values received from the assigned field. This can also be done in the field itself, but in some cases it is more convenient to do this at the object level. For example, if the same field is used for multiple shapes, some of which need to have different prefixed/postfixed values. In this case, it is sufficient to create one data field and slightly modify it at the object level by adding pre-/postfixes.
As an option for Artistic text shapes, you can specify random variations for each of its symbols. This allows to get an interesting effect of randomly distorted text in height, width or, even, the angle of rotation. The specified distortions are tied to the value of the field itself and are also saved when rerunning the circulation, providing a certain level of stability of this effect.
The only available option for substituting data in Paragraph text is to indicate the need to fit too long text lines into its borders. In real practice, this option is used very widely, since it can easily turn out that when you substitute text data, they will be too long for the selected boundaries. The plugin will adjust the font size so that it fits completely in the selected frame.
The plugin allows to add a variable barcode to the template. To do this, draw a rectangle in that place and the size that is needed. If you select a rectangle in the CorelDraw template, the icon will appear in the header of the list of objects, allowing you to add the shape to the list.
When creating a variable barcode, the plugin takes into account only the size and location of the rectangle. Its color and other parameters do not affect the appearance of the codes. In barcode parameters, you must specify the field data from which it will be substituted into it and, if necessary, the text that will be added at the beginning and at the end of the generated value.
It is important to consider that many bar codes support a strictly limited set of characters, most often numbers and some symbols, and some barcodes also require a fixed length of the substitution value. Therefore, the fields with the data specified for the barcode must meet these requirements. Otherwise, during the data substitution process an error will be issued and the bar code will not be generated.
For any type of code, you can set the background color and the color of lines from which it consists and the orientation within the boundaries of the selected rectangle. The rotation value specified here allows you to specify the orientation of the code in the rectangle. If the rectangle has an angle, then the barcode will be rotated additionally to the same angle.
In addition, you can configure other parameters specific to different barcodes. You can find the table which contains the list of barcodes supported by the Variable data manager at the ReproScripts Barcodes plugin page.
Another task for working with the variable data that the CorelDraw Variable data manager plugin solves is batch import and substitution of images from the directory on the disk. To add a variable image to a template, you must select a rectangle, ellipse, or other vector object that will serve as a container. The icon will appear in the header of the list of objects, which opens the window for editing the import settings for images.
As with other files, the plugin expects that the images will be in the working folder of the project, more precisely in the Images subfolder. In the import options, there is a link that allows you to open a folder in Explorer without having to search for it manually. All the images for the project should be uploaded there.
In order for the plugin to determine which image from the folder to take at each step of the work its name must match the value created by one of the data field. In the import settings window, you need to specify the field from which the plugin will pick up the name. For example, give numbers to all images as their names and create a field which generates this sequence in the project. Or, you can load image names into a field from a CSV file. At each step of its operation, the plugin will form the next value of the specified field (for example, the number or line from the file) and look for images with this name in the Images subfolder. How the value can be compared with the name can be specified using the parameter in the settings window - either the file name must completely coincide with the calculated value, or the calculated value should simply be contained in it.
The second option is convenient, because it allows to use any text in the names in addition to the required identifier. But it is important to avoid ambiguity in names. For example, for the value "1" files "File 1", "Image 12", "Picture 101", etc. are suitable. as one of the solutions, you can also use the extra text for fields before and after the calculated value. If you add "[" at the beginning and "]" at the end, for example, the plugin will look for files containing "" in its name and can not confuse them with the names "Image ", "Picture  " etc.
Extensions of graphic files that the plugin should search in the folder are set in the plugin's settings, which are opened when the button with the gear is clicked in the lower right corner of the form. By default, files with extensions jpg, jpeg, png, bmp, tif, tiff are searched.
If the file is found, the plugin imports it and places it in the place reserved for it by the CorelDraw shape from the list. If the use the shape as a clip for the image checkbox is activated, the image will be placed in the PowerClip. So you can, for example, import photos in a round frame.
The plugin does not require preliminary processing of image sizes making them the size of the frame object. The option in the settings allows to specify how the imported image will be scaled:
The value of the rotation indicates the need to perform this operation at the specified angle before calculating the fill. This can be used if all the images in the folder are not oriented as required.
Imported images can be adjusted before placement in the template. For them, you can specify the percent change in brightness, contrast and saturation, as well as reduce the resolution to 300 dpi, if it appears after scaling higher. CorelDraw allows to adjust only the images of the RGB model, so it is necessary to convert the imported images to this model if adjustments are to be performed.
The Variable data manager plugin allows to specify the desired final color model for images. If it is different from the current one, or the image for adjustment reasons has been converted to RGB, the plugin can convert it to RGB, CMYK or Grayscale if necessary.
Below the list of template objects, the name of the file that serves as a Coreldraw template is specified. At the moment of adding any object in the project - the file name is automatically changed to the current one from which the object is taken. Therefore, in most cases, it is not necessary to change it manually. However, you can do this by clicking on thebutton - it will be added to the project as a template.
It should be kept in mind that the shapes in the project lists have unique identifiers associated with the file in which they are located, so in general, you can not just replace one file with another without changing anything in the objects list and expect the project to remain functional. However, if the source file from which the objects were taken simply copied to another location or it was duplicated under a different name, then with this option you can bind the duplicate to an existing project.
If you have opened a previously created project, you can click thebutton to quickly access the template file and the plugin will find and open it in CorelDraw, or open the in which the file is located in the Explorer.
There are a number of options that allow to control the final result of the plugin will generate. The name of the output file will be assigned based on the project name and the result will be saved to the project working directory (next to the location of the CorelDraw template used). Ecery time the project launched it will overwrite the output file created earlier. If this is undesirable, you can add additional text to the name of the resulting document thus avoiding overwriting and keep all untermediate results.
Data that the plugin forms for substitution into the template can be saved as a CSV file 1 by ticking off the save the fields in a CSV file... checkbox. This may be required if further work with these data is planned in electronic form and is especially important for fields containing random values, the occurrence of which can not be predicted and can only be downloaded from a file. Like other files, CSV will be written to the project's working folder, located next to the template file.
With the default settings, the plugin will create a CorelDraw file, with the correct number of pages in which the variable data is substituted.Typically, the template used in the project consists of a variable and a constant part. Variable part is formed by the plugin individually for each page. For the constant part, there are several processing strategies that are controlled by the dropdown list on the Result tab 2.
Additionally, you can specify whether to export the result to a PDF format or to translate all text objects into curves during the generation process. Since CorelDraw is not designed to work with files that contain too many pages, you can select to split the final file into fragments with a certain number of pages. In practice, for modern stations, it is not problematic to work with files up to 5000 pages, with a relatively simple template. However, everything depends on the specific features of the job and available computing resources.
To speed up both the generation process itself and the output of the print job, the plugin allows to create the files in PPML format. This is a special open standard developed for working with variable data and to date, supported by most modern digital presses. The speed of processing files in PPML format can be dozens, and in some cases hundreds of times, faster than the speed of generating and printing a file in CorelDraw format.
The plugin supports two modes of working with PPML - Graphics and Text In the graphical mode, the result is formed from a series of PDF files, in text format - only the template is in PDF format, the text data itself is written and sent to the press as PostScript.
The text mode is the fastest one. Generation and printing are performed in seconds even for tens of thousands of variable records. To use it, you must fulfill two conditions:
Type 1 is practically a font in PostScript format, easily implemented in PPML and recognizable on all professional printing machines.
By default, PPML is set to automatic mode, in which it tries always when possible to use text mode. Otherwise, the graphic mode is activated.
An additional parameter of the result in PPML mode is the length of the record. It allows to specify how many pages are treated by the printing machine as one set and grouped into one record. This allows to configure the printing of each entry from different tray. An example of using the length of a record is the printing carbonless forms which differs in characteristics for the upper, middle and lower layers of paper. To form one three-layer carbonless form with a variable number, you need to create a field with three repetitions (all the layers must be the same) and set the record length to 3 (this is the instruction for the press to treat three records in a row as one item).
Typically, PPML is formed simultaneously from a variable and a constant parts completly ready to be sent to the press. However, if you plan to print or send to the machine the background and variable data separately, you can specify the need to exclude the background from PPML ( do not include template in the output file (just data fields)). PDF file with the background will still be saved in the project folder and available for useage.
An exceptionally convenient function of the plugin is the ability to lay out generated records onto the printing sheet. Using this option, you will get a completely print-ready file, which does not require additional layouting and allows you to save considerable time.
The bleed is set for the entire sheet at once — internal and external values. This allows you to get the most compact layout on a printed sheet. You can also fix the orientation of the work in the layout, which is automatically determined by the plugin by default.
To activate the layout, tick off the checkbox impose into sheet and select the size of the output sheet from the dropdown list. You can choose to add trim marks and set the required bleed. The list of oputput paper sizes and parameters of printing marks are managed in the plugin settings (the button with the gear in the lower right corner of the plugin main form).
It is important to specify for the imposition the required records direction, in which the variable data will be placed at each step.
When selecting Cut stack, you can additionally indicate the need not to break up duplicate numbers in stacks. This is required, for example, when carbonless forms are printed (as described earlier). Since it requires three identical numbers in a row and each must fall on a strictly defined type of paper, it is not possible for the numbers to pass from one packet to the other. By checking the keep repeating numbers in one stack check box, you can fix the desired sequence of duplicate data.
Depending on the type of sheet flipping on the printing press, the sequence of data on the back side may need to be placed in a mirror-like order to the front side. Since the plugin does not know which pages of the template are a turnover, and which are simply the other front side, then this information must be provided. Type in the field the page numbers that the plugin should handle as the back sides.
The settings of the generation results contain a sufficiently large number of important parameters, which can vary from run to run. For convenient organization of work, we recommend preparing several standard projects and saving them in the manager as master projects. To do this, you need to fully configure the project and click the button. The data fields and output parameter settings will be kept in the master project and retreived for new projects.
Having done that, you can quickly prepare for printing files without having to re-enter the same values every time, which will significantly increase the speed of work and reduce the possibility of error in the setting. The favorite master template, which is used most often, can be set in the plugin's settings for use by default. And the plugin every time you press the button in the project manager will firstly offer to use it.
After specifying data, a template and defining the parameters of the finished file, you can proceed to the generation of records. If at any of the previous steps there were incorrect settings, the plugin will report this by issuing an error in the status bar of its window.
To launch the project, you must specify the number of records 1 that you want to generate. Usually this value is equal to the required circulation, except for the cases of printing multi-layer carbonless forms. Each layer of such forms from the position of the plugin is a separate record and, accordingly, for generation, you need to specify a value equal to the number of copies multiplied by the number of layers.
In the process of working, the plugin reports the number of generated records. If the running project has been suspended, then it can be started again from the next record after completion. However, it should be taken into account that the plugin will not add new records to the previously created file, but create a separate file for the new data portion. In addition, if the layout is executed, it will also be formed separately and may not coincide by the positions of the first part of the layout.
In addition to specifying the number of generated records, the plugin provides diagnostics in the log window during the work. If the flag show only errors... is checked, only the brief information about the progress of work and all the errors that occurred during the generation process will be included in it 4. If the check box is disabled, detailed information about all the values that have been generated and inserted into the template will be logged. This mode is recommended to activate only occasionally, as it can significantly slow down the plugin, especially when generating a large number of records.
The checkbox stop if there is an error in the data instructs the plugin to stop the generation process when any error occurs. Otherwise, the plugin will try to continue the work and data that can not be formed will be replaced with empty values.
Above the generation log there is a status bar 2 in which, in addition to information on the total number of errors and warnings, there are additional commands. After the process is successfully completed, the name of the generated file and buttons will appear in it, which will show in Explorer the folder where the file is located or open in CorelDraw the file itself, if it is in CorelDraw format. This is especially useful when working with existing projects, because you can quickly find the file on the disk with the result of generation for this project.
If the file is saved in PPML format, then the folder button will find it on the disk. In addition, since the PPML file can be sent to print via the hot folder, in the plugin settings (the button with the gear in the lower right corner), you can specify which folder serves for this purpose. If a hot folder is specified 3 then for PPML files in the status bar will appear one more button , when you click it the PPML file will be copied to the hot folder and sent to the printing press. This allows you to minimize the number of routine operations you need to perform to start printing.
It is important to understand, of course, that the hot folder is a service provided by the software of the printing press. You must have programs configured and running on your computer that allow such folders to be used. The plugin only copies its work to these locations, and the process of sending it to the printing machine is done by the press native applications.
When properly configured, the plugin allows you to create a print-ready file with variable data for several clicks and send it directly to the printer via a hot folder. To take advantage of all the benefits that the Variable data manager plugin can provide, try to follow the following tips: