ReproScripts Calendars Free layout calendar plugin for CorelDraw

  • automatic generation of diaries, quarterly calendars
  • astronomical information - signs of the zodiac, phases of the moon
  • multilingual calendars - 7 languages installed + your own
  • flexible management of multi-page calendar templates
  • online service to download holidays for 47 countries
ReproScripts Calendars command bar

Free layout calendar is a plugin for creating calendars, different kinds of diaries and other similar products. Its work is based on the use of templates - single-page or multi-page CorelDraw files. The plugin allows to assign to the various objects of the template the type of data that will be substituted into it. It can be dates, names of months, days of the week, and more complex data — signs of the zodiac, whole formed blocks of months (from the Month builder projects).

The plugin automates the work of creating technically complex layouts, without limiting the designer's creative approach. The plugin does not change the used fonts or any attributes of shapes, only substitutes the necessary values in the right places of the template. A large selection of variable data opens up ample opportunities for professional application of the plugin, ensuring a stable result and minimizing the probability of errors.

You tube WATCH VIDEO: Calendar template with bullets in CorelDraw


Project manager control

The plugin works on the basis of projects containing all the settings of the current calendar. At the top of the window is a project manager control, which allows you to create   and load previously created projects from the list. Changes made to the project can be saved by clicking the   button.

A click on   opens additional commands:

  •   will save the project under a new name
  •   delete the current open project

In the plugin settings that are opened when clicking the button with the gear   in the lower right corner of the window, you can specify the settings for saving and using projects in the Projects.

The work with projects in the plugin is organized in the same way as in other ReproScripts plugins, except for the support of master projects. All projects of this plugin are individual and you can borrow little from one to another. Therefore, it is not possible to work with the master project, and always a new one starts with default values.

A more detailed description of the use of projects can be found on this page.


Having created a new project, you need to set aCorelDraw file as a template for it. This file will be used to substitute data and form a calendar. The template can be any single-page or multi-page document.

At the moment of generation of the calendar based on the template, the plugin successively goes through all the necessary variable fields in the project and on the basis of the calculated date determines, first, a suitable page of the template to be taken and all the values that must be substituted into its objects.

It is important to understand that at each step of the work the plugin uses only one page from the template, even if there are several of them in it. For each page you can specify a condition when it is to be used.

Adding template pages to the project

ReproScripts Free layout calendar ~ multipage calendar template

It might look strange, but the plugin does not have a command to add a page into the project. This operation is superfluous, since the page gets into the list together with the variable shape to which the data insertion will be performed.

Having selected an object (text or vector shape) in the template, you can see the button   in the header of the list of objects. Clicking on it and setting the necessary parameters (they are described in detail below) can add to the list both the object itself and the page on which it is located (if it is not already listed).

Thus, the list of objects in the Template tab has a hierarchical structure - it contains a list of pages of the template and a list of shapes that are processed.

Rules for using template pages

Settings for pages application

When the page is added, it will be used at each step of the calendar generation. If this is not overruled the plugin will always take the first page from the list, since it always fits the selection criterion.

In order to configure the need to apply one page of the template in one case, and a different one in another, you must click on the   button in the line with the page name.

For each page, you can optionally specify the name, reflecting its purpose and conditions, when it should be used. On each step of its work the plugin checks whether the page meets the provided conditions and decides whether to use the page or not.

As conditions, you can specify to use the page:

  1. always
  2. only for the specified months
  3. for the specified days of the week
  4. for the list of holidays
  5. for even or odd dates

An additional condition may be whether to check the suitability of the page at each step or in a specified number of steps (skipping checks on some steps).

For example, for a diary, you can set rules so that the first page is used for the left side of the spread (use always, step 2), and the second one is used for the right side of the spread (use always, step 1). The page with step 2 will be used on every second iteration and on the remaining steps the page with an increments of 1 will be taken.

Page order

The plugin at each step scans the entire list of pages from top to bottom and stops at the first, the condition of which allows it to be used. Therefore, the list should be organized so that narrower, more specific conditions are higher in the list, and more common at the bottom.

The    buttons allow you to change the position of the pages in the list and thereby change the order of their checking and selection.

Duplicate template pages

In the line of the page there is a button  , which performs duplication of the page. Note that it performs a physical page duplication in the template file along with all the objects on it and then all of them are added to the project.

This function makes it much easier to create multi-page templates. Often in a template, one page from another differs only in some details. After setting up the first page and adding all the necessary objects to it, you can duplicate the page saving all created data bindings and after that make the necessary adjustments.

Templates with complex designs can contain a significant number of objects that are added to the project. And when using the duplication function, you can radically shorten the time to prepare a template, eliminating the need to reassign data to the same objects on different pages of the template.

Deleting pages

By clicking on the button in the   page line, you can delete it and all the objects included in it from the project. This does not affect the template document in any way. The shapes and pages remain but the are not any more used in the project.

File used as a template

Template manager control

Below the list of template objects added to the project, the name of the CorelDraw file that is actually serves a template is specified. At the time of placing any object in the project - this name is automatically changed to the name of the file 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 the Take the current document button - it will be selected as the template for the project.

It should be kept in mind that the objects in the project list have a unique identifier 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 object 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 this duplicate to an existing project.

If you have opened a previously created project, you can click the Open button to quickly access the template file and the plugin will find and open it in CorelDraw, or open the Folder in which the file is located in the Explorer.

Shapes for data

For the data substitution, any text and most vector objects are suitable. In order to add an object to the project, you must select it in the list and click the   button in the header. If the button is not visible, then the selected object is not suitable for use in the project.

For the selected object it is necessary to specify which data will be substituted into it. For each data type, there are individual settings. They can be edited in the opened window, and also, if desired, you can change there the name for the template object to something more suitable.

Current value shift

ReproScripts Free layout calendar ~ current value shift

One of the parameters - the shift of the current value - is available in the parameters of all data types. As noted earlier, when the project is started, the plugin takes from the Build tab the start date and sequentially increases it by 1 day/week/month, depending on the specified iteration parameter for the project.

Under the current date, which will be substituted in the objects is meant the value obtained after the increase at the current step. Regardless of the iteration step (day, week, month), the full date is always calculated. For the week, the current date is the date of the first day of the week (Monday or Sunday), and for the month - the first day of the month.

When an object is added to the project, then at each step the value of the current date (or calculated on its basis) will be substituted into it. But very often it is required that not the current date but its shifted value should be used.

For example, when you create a weekly journal, you need to set the iteration step to a week for the project. That is, the plugin will cycle through the weeks starting from the specified start date. However, every page of the weekly requires dates for all 7 days. At each step the plugin will calculate one current date equal to the first day of this week. To access all other days, you will need to use the current value shift in the object's parameters. For Tuesday, this will be a shift of +1 day, Wednesday +2 days, etc.

The date shift from the current value can be set in days, weeks or months. And also ignore the value (that is, substitute an empty value) if it goes beyond the month or week of the current value.

The current value shift allows to flexibly manage the data that will be inserted into the template shapes and there are a lot of scenarios for using it.

Types of data for insertion

ReproScripts Free layout calendar ~ adding data into a new field

In addition to the date itself and any it parts — the day of the week, month, etc. plugin allows to calculate and substitute in the objects a number of astronomical parameters — the sign of the zodiac, the time of sunrise or sunset, or the moon, etc.

Part of the astronomical data depends on the geographical position for which the calendar is formed. For example, the time of sunrise and sunset is different in different parts of the earth. For the correct calculation of such data, it is required to specify the geographical coordinates in the Build tab. It's easy to do, using the ReproScripts online service for geopositioning. Specify the name of the city or country and the pluging will pull the necessary coordinates from the server. More about this is written later in the section on launching the project.

For all text data, you can add prefix and postfix in their parameters, which will be attached to the calculated value before substitution into the object.

All text and graphic objects retain its color, font and other parameters after data insertion.

The following types of data are available, calculated for the current date (taking into account the value shift for the object) and loaded into the template:

Data type Description
Days of the month

Option: always two digits, that is, for values less than 10, 0 will be added at the front.

Day of the year

Day number in the year.

Day of the week

You can choose the full or short version and the language used for this object. Default means the language from the Build tab will be used when the project is launched.

Week number

Option: always two digits, that is, for values less than 10, 0 will be added at the front. The plugin allows you to specify a rule that determines which week in the year the first for the project is in the Build tab when you start the project.

Name of month

You can select a full / short text version and the language used for this object or digital representation. Default means the language from the Build tab will be used when the project is launched.


Option: 4 or 2 digits of the year.

Sunrise time
Sunset time
Length of day
Moonrise time
Moonset time

All these parameters are geo-dependent. To calculate them, you need to specify the correct coordinates in the project. The value is displayed in the form of time - hours and minutes. You can customize the output of leading zeros and text after minutes and hours.

ReproScripts Free layout calendar ~ astronomical information in  a free layout calendar
Moon phase

The output of this value is possible as text. You can choose the full or short version and the language used for this object. Default means the language from the Build tab will be used when the project is launched.

Also, you can display the phase of the moon and the sign of the zodiac in a graphical form - in the template you need to select a vector shape for that (not Artistic or Paragraph text). The plugin can draw an image by its internal algorithm, if the option Draw phases is specified, or substitute symbols from any font (Use font symbols) installed in the system and added in the plugin's settings. More about symbol fonts.

Calendar block

You can add a whole calendar month within the boundaries of the vector object. The insertion of a month is often found, for example, in diaries where for each date a whole month is often added (and often the neighboring months as well).

In order to add a whole month to the page, you need to first create its design in another plugin that is included in the ReproScripts Calendars library — Month builder. In the parameters of the added template object there is a list in which you can select the desired project and configure how it should be inserted.

When preparing a calendar block for insertion, it is desirable to keep it with proportions close to those that will be at the target objects of the CorelDraw template. But in any case, you can specify the scaling options for insertion. The plugin can scale the project either proportionally or non proportionally into the target shape borders.

ReproScripts Free layout calendar ~ month block

When creating the calendar block, the plugin will use the language selected from the list in the parameters for it. Default means the language from the Build tab will be used when the project is launched.

Often projects in the Month builder are created with a frame that points to the borders of the month block. The Free layout calendar can remove this frame if necessary during the insertion of the month, without the need to adjust the initial design. To do this, check the remove the outer frame of the block flag

Each calendar project in the month builder contains a list of colors. When you add it to the Free layout calendar, this list will be merged with the existing list in the project by the color numbers. New colors will be added, existing ones are redefined. This allows to centrally manage the color scheme of all the inserted blocks of months, regardless of what colors they were used in the design.

Field combination

In addition to assigning the values ​​given above to text objects, you can also create combo fields that can contain different types of data, as well as static text. This allows you to create complexly formatted data, including in different languages.

Adding combination of fields

Transforming objects

In addition to data substitution during generation, you can also set transformation rules for static objects. For example, you can add graphic objects to a calendar template for all months at once and set the rules by which they will remain or be removed from the page. This will allow you to leave only some of them for each month. In addition to deleting, you can set the shift, scaling and rotation of objects.

To perform such an overload, you need to add an object to the project list in the same way as by selecting the “Change object color” option. And in the parameters specify the required replacement conditions.

Adding transformation of static objects

Managing the color of objects with variable data

ReproScripts Free layout calendar ~ dynamically change shapes color

When you create a calendar from the project, the plugin uses the template and substitutes the data in it. All characteristics of source shapes are preserved, including colors, strokes and fonts.

For example, if you draw a rectangle with red fill and black outline and use it to substitute the zodiac sign, the shpe with inserted data in the calendar will also have a red background and a black stroke.

If required the plugin allows to overload fill color and outline parameters for certain conditions. In the object parameters there is a table which contains overloading conditions. By clicking on   in the header of which you can select the criterion that will be used to decide whether to use the new parameters instead of existing ones or not.

The following can serve as the overloading criterion:

  • day of the week: any combination
  • holiday: you must specify the list of the holiday that is used for it
  • parity: Even or odd date value
  • month: arbitrary combination of months
  • blank: allows you to change the appearance for empty or non-empty values

It is not necessary to change all parameters of the object. If the parameter has a   sign, this means it does not need to be changed and remains the same as the original object in the template. Clicking on it allows you open it   and select a color (from the list in the Build tab) and other options.

Overloading the color of static shapes

Managing color of static shapes

The colors can be changed not only for the objects into which the data is substituted, but also for any other shapes that do not require data. For example, you can draw a frame and specify an overload that assigns to it a new color on the weekend and for all other days the shape will stay untouched.

To perform such an overload, you need to add the object to the project list but instead of binding data to it click on the Change shape colors button and specify the required replacement conditions in the parameters.

Calendar generation options

ReproScripts Free layout calendar ~ building

The Build tab contains a number of parameters that allow to manage the process of generating data for the project.

In the Options group, you can specify which day of the week the plugin should consider as the first one and the rule by which the first week of the year is determined.

There are several different approaches to what week in the year to consider first - a week with the first of January, a week in which there are not less than 4 days or a week in which there are all 7 days present.


To calculate some data that can be used in the project, geographic coordinates are required. For example, the time of sunrise and sunset is different in different parts of the planet. If you plan to use such data, you need to specify the coordinates and time zone.

ReproScripts offers an online service, which allows you to download geoposition over the Internet by the name of a city or country. To do this, click the gear button   next to the geolocation box 3. In the dialog window that opens, you can type in the name of the area, country, city, postal address, etc. and press the   button.

The time zone is taken from the system settings of your computer. If the project is intended for another time zone, then it must be specified manually.

List of colors

To maintain a single calendar view, the plugin uses a list of colors 2. By clicking the   button you can select any color using the standard CorelDraw color dialog box and assign a number to this color.

Colors from this list will be used by the plugin when performing overloading of the design of the template objects, as described above. In addition, if a block of the month from the Month builder plugin has been added to the project, the colors in it will also be replaced.

Iteration of date values

The plugin starts working from the date specified in the Build tab and then performs its sequential increase. The iteration parameter 1 affects how the date increases. You can select one of the values:

  • Day: the plugin will increase the current value for 1 day at each step - suitable for the formation of daily calendars, diaries. Current step value: calculated date
  • Week: the plugin increases the current value by 1 week at each step - suitable for weekly, planing. Current step value: first day of the week
  • Month: the plugin increments the current value by 1 month at each step - suitable for building quarterly calendars from blocks. Current step value: first day of the month

During the development of the project, it is necessary to take into account how it is planned to change the current date in the process of the calendar creation. The iteration parameter directly affects the value that is considered current at each step. And this, in turn, is reflected in the data inserted in the template objects (the value shift is counted from the current date).


To launch the calendar project, you must select a language for text values. If it was not overridden in the object's parameters (= Default), then it will be used for all text objects. Combination of the default language and the possibility to override it in the object's parameters is useful for making multi-lingual calendars.

With ReproScripts plugins 7 languages are installed, you can also add your own language if it is not present in the list. By clicking on the button with the gear   next to the dropdown list with languages, you can control them - make corrections to existing values, or add, delete or rename the language.

The plugin settings

In the lower right corner of the form there is a button with the image of the gear  , clicking on which you can call up the configuration form. In this form, there are four tabs that allow you to specify various data available for all projects and for some other plugins.


The ReproScripts Calendars plugins support lists of holidays and special dates that can be used to specify individual design of different calendar items. Details of how to work with lists and how to download holidays using the ReproScripts online service is described here.

The list of languages

In this tab, you can adjust the values for the 7 standard languages supplied with the plugins and create your own language, which can be used in any projects. Just press   and fill in all the values.


ReproScripts Free layout calendar ~ editing symbol fonts list

A number of parameters in projects require geo-positioning. In the settings, you can set the default value, which will be loaded into all new projects.

The plugin allows to create a graphical representation of the phases of the moon and the signs of the zodiac. It can draw its own images, or you can use character fonts with astronomical symbols installed in the system.

There are quite a few different astronomical fonts, but their developers often arrange the symbols arbitrarily. The plugin needs to know the exact font name and the exact character used to represent the zodiac signs or phases of the moon.

As an example the Windings font is added to the symbol fonts list of the plugin. There are no phases of the moon in it, but it contains signs of the zodiac. If you have other character fonts, click on   button to add them to the list and in the appropriate fields enter all the necessary characters. After that this font can be used in any calendar projects.

Building a calendar

Having configured a template and project parameters, you can launch it by clicking the Execute button. The work of the plugin includes many stages, if on any of them there is a problem then the message can be seen in the status line of the window or in the run-time log, which can be opened by clicking on the   button.

Free layout calendar sample
Free layout sample diary
ReproScripts Free layout calendar ~ free layout sample weekly calendar