(This page last updated March 18, 2009, with calendar-data text files for the US and Japan, 2009 and 2010)
I've made a Photoshop JavaScript script that builds calendars. The result of running it in Photoshop (CS2 or later) is a Photoshop document with half a dozen or so layers that you can then tweak and modify, add your own image to, etc.
It has a number of nice features:
- It leaves the components of the calendar in separate layers, so that you can modify them at will
- It can build calendars in English or 56 other languages
- It supports personal annotations (holidays, birthdays, etc.)
- It has both Landscape and Portrait modes
- It can include week numbers (two different week-number standards are supported)
- You can have weeks begin on Sunday or Monday
- The calendar is built specifically for the paper size you select
- You can configure much more by editing the script itself
Details follow below, but first, for your downloading pleasure...
Download Photoshop Calendar-Building Script
Version 6: Jeffrey's Calendar Builder.jsx
(version history)
Pre-built sample PSD files for 2008 (at 300 DPI):
(In case you don't want to — or can't — run the script)
Overview
The script, which runs on Photoshop CS2 or later, should work the same on both Windows and Mac, although I'll show screenshots of it with Windows.
Running the script brings up a dialog which allows for calendar configuration (page size, etc.), but a copy of the script can be edited itself for fine-tuned control over fonts, sizes, margins, etc. The result of the script is a Photoshop document with a dozen or so layers, which can then be modified/tweaked.
My goal in building this was to make landscape-mode loose-leaf calendars that my wife and I can use for our daily/weekly schedules (e.g. “preschool field trip is tomorrow”, “such-and-such a friend visiting on Sunday”, etc.). As such, I want something that is a calendar when viewed up close.... yet, when viewed from afar, it's art. That's the goal, at least.
Installing and Invoking
You can install/invoke the script in two ways:
Download the script file, Jeffrey's Calendar Builder.jsx, to a convenient place, such as your desktop, then click on it. It should launch Photoshop if it's not already running, and switch to it. (If it doesn't, right-click on the script file and “Open with” Photoshop.)
or,
Install the script file to your Photoshop Scripts folder. On my Windows machine, my CS4 folder is:
\Program Files\Adobe\Adobe Photoshop CS4\Presets\Scripts\
on the root drive. (After installing or renaming any file here, be sure to restart Photoshop if it had been open.)
Then, you can invoke the script from within Photoshop's File > Scripts menu item:

Simple Calendar-Building with the Dialog
When executed, you are prompted for details on the calendar to be made:
At its most simple, just select the target year and month (or select the month “All” to build 12 separate calendars), adjust the calendar style settings and the paper size to your liking, and press the “Okay” button.
The script will churn away a bit, building the calendar in a new document, leaving you with a dozen or so layers like those shown at right.
Layers making up the calendar include text layers for the month and year text, rasterized layers with text for the names of the days of the week (“Sun-Sat” in the example at right) and dates (“1-31” in the example), and the calendar grid.
The look and feel of the calendar can be changed greatly just by adjusting the style and opacity of the various layers. Small changes can have large effects on the result. Play around. (If you come across a result you really like, please tell me about it.)
Inserting a Picture
There's an empty layer named “Paste Your Photo Here” which is where, of course, you should place the photo you want to use. Actually, it needn't be on that layer, but simply within the “Picture Mask” layerset, as the mask provides a pleasing (to me, at least) drop off toward white all around the edges.
As a shorthand, if you have an image open in Photoshop when you invoke the script, it will be placed within the “Paste Your Photo Here” calendar layer, resized so that it fully fills the canvas. This works only when the already-open document has just a single layer. If you don't care for the automatic resize, you can just delete the layer and replace it with one you like.
In any case, once you drop in your picture and move/resize to suit your taste, by all means, adjust the mask as well. Sometimes it works well when the image extends all the way to the edge, and sometimes it's better to reduce the image to the center only.
Attribution and Description
There's an “attrib” layer with an attribution for the calendar. The script puts the url for this page there, but you'll likely want to change that to your home page, a copyright notice for the image, etc. Or perhaps just get rid of it. It's up to you.
There's also an “Image Description” text layer whose visibility defaults to off. It's just one idea for an image-description note: replace its text with an image description or any text of your choosing (I used “Natalie and Alan, July 14, 2006” in the first example above) and make it visible. It'll show up in the lower-right of the image.
Copyright
You own the copyright for any calendar you make. I own the copyright on the script, but not on its output. You can change the output — the document the script creates — in any way you like.
Of course, if you add a photo to the calendar, as with the use of any image, be sure you're allowed the use the image.
Options
Some of the items in the dialog are not necessarily self explanatory, so I'll go over them here...
Language
Choose English for the month and day names, or select from among: Afrikaans, Albanian, Amharic, Arabic, Armenian, Basque, Belarusian, Bosnian, Bulgarian, Catalan, Chinese, Cornish, Croatian, Czech, Danish, Dutch, Estonian, Finnish, French, German, Greek, Gujarati, Haitian Creole, Hawaiian, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Irish Gaelic, Italian, Japanese, Korean, Latin, Latvian, Luxembourgish, Maori, Norwegian, Polish, Portuguese, Romanian, Romansh, Russian, Scots, Serbian, Slovak, Slovenian, Spanish, Swedish, Tamil, Thai, Tok Pisin, Turkish, Ukrainian, Vietnamese, or Welsh.
I pulled most of the language data from this page, and had to take a guess at what font to apply for many of them. I don't even know whether some of those are real languages. Please let me know if you run into troubles.
Week Numbers
I guess it's popular in some parts of the world to annotate a calendar with week numbers, but I'd never heard of the idea until someone requested it. It turns out that there are two common but conflicting ways to count weeks:
- the common-sense approach (“Week 1” is the week with January 1st in it)
- the ISO 8601 standard (“Week 1” is the week with the first Thursday of the year in it)
In the dialog, the selection for Show Week Numbers can be changed from “No” to “at Left” or “at Right,” to indicate that you want week numbers and where the extra column should be placed. You can also select between the two methods for counting weeks.
Image Orientation
Image orientation does not refer to how you load the paper in the printer, but to what style of calendar to make. The example at the top from my brother's wedding is in Landscape style. The example with my little boy is in Portrait mode.
Annotations
Annotations (adding holidays, birthdays, etc.) are covered in a later section.
Rasterize & Merge Most Text Layers
This option is turned on by default, and compresses the many individual date-number layers (“1”, “2”, ... “31”) into one layer by rasterizing and merging. The same grouping is done for the day names (“Monday”, “Tuesday”...) and the week numbers, if you've requested them.
The advantage to this is that you can then adjust the look and feel of all the dates (or days or week numbers) at once by adjusting the style of the merged layer.
The disadvantage is that you can't adjust the font or size of the text, or other text-specific things, because the individual text layers no longer exist.
Thus, by unchecking this option, you can choose to leave the individual text layers intact. When this is done, they're put into their own group to reduce visual clutter in the Layer pallet.
Auto Save
When auto-save is turned on, the newly-created document or documents are automatically saved to files. The Directory element indicates where they should be saved to, while the PSD Filename Pattern indicates how the files should be named.
Within the filename pattern, the sequences “MM” and “YYYY” are replaced by the month and year numbers of the calendar (two and four digits each, respectively). For example, with a pattern of “Calendar_YYYY_MM”, the calendar for April 2008 will be named “Calendar_2008_04.PSD”.
Saving your Config
If you tend to always want options that differ from the defaults (different language, paper size, etc.), then set them as you like and press the “Save” button in the “Default Configuration” section of the dialog. It writes your selections to a file that's read automatically when the script starts.
Pressing the “Delete” button deletes that file, so you end up with the as-downloaded set of defaults. For safety, you have to first check a box to enable the delete button.
Printing
Because some layers are rasterized, it's best if you can print at exactly 100%, with no resizing. This should be automatic if you select the proper paper size, DPI, and reasonable page margins.
I have a Canon XP810, and find that Canon's “High-Resolution Photo Matte Paper” MP-101 to be perfect. It looks and feels like normal printer paper, albeit of a bit heavier stock. It's 100% Matte — not a bit of glossy, so you can write on it with a pencil or pen.
You can have the script add annotations to certain dates, based upon lists found in external files. The support for annotations is rudimentary at best, but it's useful for marking holidays, birthdays, and other dates that might be important to you.
When annotations are turned on, the script reads an annotation file (the default for a 2008 calendar is “CalendarData2008.txt” in your home directory). Here's an example:
[FontColor=0%,0%,100%] # use blue for the annotation text # Holidays that are on the same date every year 01-01 New Year's Day 02-14 St. Valentine's Day 12-31 New Year's Eve # 2008 version for items with floating dates 2008-03-09 Daylight Saving Time Starts<BR>(clocks ahead 1 hour) 2008-05-11 Mother's Day 2008-06-15 Father's Day 2008-11-02 Daylight Saving Time Ends<BR>(clocks back 1 hour) 2008-11-04 Election Day
The basic format is fairly simple:
- Blank lines and lines beginning with “#” are ignored.
- Annotation lines have a date followed by the annotation, where the date can be Year-Month-Day or just Month-Day. (You can use “/” or “-” as the separator in the date.)
- The annotation itself may have “<BR>” to force a line break so that the annotation appears on multiple lines in its date box.
- Annotation lines may pre prefixed with special “[...]” settings, as described below.
Dates without a year apply to a calendar of any year, while those with a year apply only to calendars made for that year. This allows you to add year-specific items to the annotation file without worrying that they might show up on a different year's calendar.
Special “[...]” Annotation Settings
The following special “[...]” settings may be prepended to an annotation line, or, as we'll seen in a bit, stand on their own to apply to all subsequent lines....
[FontSize=200%] 2/30 My Birthday! [FontSize=50%] 7/27 Mother-in-law's Birthday
Changes the font for the annotation to the one whose name is given. You must use Photoshop's internal name for the font, which is often not apparent from the name presented in the font dialog. See my post on discovering Photoshop internal font names for the name to use here for any given font.
Here's an example showing a Japanese holiday:
[FontName=MS-Mincho] 05/05 こどもの日
By the way, be sure to use the ASCII or UTF-8 character encodings for the file.
[FontColor=red%, green%, blue%]
[FontColor=100%,0%,0%] 6-18 Red Letter Day! [FontColor=255,0,0] 11-22 Also a red-letter day [FontColor=0,100%,0] 03/17 St. Patrick's Day
If these special settings appear on a line without annotation data, as the first FontColor line in the example at the top of this section, the setting applies to all subsequent lines.
This example shows three holidays to be printed in red:
[FontColor=100%,0%,0%] 2008-03-23 Easter [FontColor=100%,0%,0%] 10/01 All Saint's Day [FontColor=100%,0%,0%] 12/25 Christmas
The following is just about the same:
[FontColor=100%,0%,0%]
2008-03-23 Easter
10/01 All Saint's Day
12/25 Christmas
except that the any lines that might be subsequently added to the end will also get the red font. This last point brings up the idea of contexts....
Annotation Contexts
You can surround a group of settings and annotations with <CONTEXT> ... </CONTEXT> to isolate any settings made within the group from applying after the group.
[FontColor=100%,0%,0%] 2008-03-23 Easter [FontColor=100%,0%,0%] 10/01 All Saint's Day [FontColor=100%,0%,0%] 12/25 Christmas 2008-02-06 Ash Wednesday
has “Ash Wednesday” printed in the default black, exactly the same as:
<CONTEXT>
[FontColor=100%,0%,0%]
2008-03-23 Easter
10/01 All Saint's Day
12/25 Christmas
</CONTEXT>
2008-02-06 Ash Wednesday
This might be convenient for clarity when you have various sections of grouped entries...
# US Federal holidays are in red, with a small font
<CONTEXT>
[FontColor=100%,0%,0%]
[FontSize=80%]
2008-05-26 Memorial Day
07-04 Independence Day
2008-09-01 Labor Day
2008-10-13 Columbus Day
2008-11-11 Veterans Day
</CONTEXT>
# Japanese holidays need their special font
</CONTEXT>
[FontName=MS-Mincho]
01/01 元日
05/05 こどもの日
12/23 天皇誕生日
</CONTEXT>
# Birthdays are noted quietly
</CONTEXT>
[FontOpacity=30%]
[FontSize=80%]
4/12 David Letterman's birthday
4/15 Dave Filo's birthday
12/06 Steven Wright's birthday
</CONTEXT>
Importing and Including Annotation Data
Within your annotation-data file you can have import and include lines like:
INCLUDE "filename" IMPORT "filename"
Both allow you to reference annotations in other files, with the difference being that INCLUDE does not remember any settings changed in the file, while IMPORT does. Consider this example:
INCLUDE "US-Holidays-2008.txt" INCLUDE "US-Family-Birthdays.txt" IMPORT "My-Favorite-Japanese-Settings.txt" INCLUDE "Japanese-Holidays-2008.txt" INCLUDE "Japan-Family-Birthdays.txt"
IMPORT is used for the Japanese Settings file (font changes, etc.) so that those changes remain and apply to subsequent lines (those found in the two INCLUDE files that follow).
This allows you to create sets of annotations that you can then easily mix and match when creating specific calendars. I use different sets of files depending on whether I'm making a calendar for myself, my folks (who don't read Japanese), or my Japanese-speaking in-laws.
More on File Management
To make it easier to reuse annotation files year after year, you can put the year in an individual entry's date so that it is safely ignored when creating a calendar for a different year.
You can also segregate items into different files, putting year-specific annotations into files with the year in the name.
In filenames provided on include/import lines and in the script's configuration dialog where you provide the annotation-data filename, any set of four upper-case 'Y' in a row are replaced by the target year for the calendar. The default filename is “CalendarDataYYYY.txt” which means that “CalendarData2008.txt” is actually read for a 2008 calendar.
The previous import/include example would be better written with that in mind, so that year-specific annotation files are read only when creating a calendar for the appropriate year:
INCLUDE "US-Holidays-YYYY.txt" INCLUDE "US-Family-Birthdays.txt" IMPORT "My-Favorite-Japanese-Settings.txt" INCLUDE "Japanese-Holidays-YYYY.txt" INCLUDE "Japan-Family-Birthdays.txt"
Sample Annotation Data
Here are two sample annotation-data files to get you started, one set with some US holidays, and another with Japanese:
CalendarDataUS2009.txt
CalendarDataUS2010.txt
CalendarDataJapan2009.txt
CalendarDataJapan2010.txt
You can find lots of info on holidays for countries, religions, and cultures around the world at TimeAndDate.com, and, of course, at Wikipedia.
My Tech-Related Photography Posts
- Digital Image Color Spaces
- Lightroom goodies (lots of plugins)
- Online Exif (Image Data) Viewer
- Adobe Lightroom 1.x Resources
- Jeffrey's Lightroom Configuration Manager
- Adobe Lightroom Custom Metadata-Viewer Presets
- Jeffrey's Autofocus Test Chart
- Photoshop CS2 Calendar-Template-Building Script
- A Qualitative Analysis of NEF Compression
- NEF, Color Space Settings, and Embedded JPGs
- Tripod Stability Tests, Part I
- Timing a Transcend 80x 4GB Compact Flash card
with a Nikon D200 - Digital Camera “White Balance”
- Maximum Aperture of the Nikon 18-200mm
Throughout its Zoom Range
more...
Future
It's a bit more full-featured than earlier versions, but it still has a ways to go. Some enhancements I can think of:
- Better font control.
- Putting the small previous-month / next month calendars in there somewhere.
- Add a variety of layout options.
Let me know what you think.
I can't help wondering whether there's a feature of Photoshop whereby I could leave all the text unrasterized, yet allow one-stop tweaking of fonts and margins. With my understanding as it is now, if all the date numbers are left as individual text layers, each must be visited individually to, say, change the font. If there's a simple solution to this, please let me know.
At least with this script, you can make the change in the script, just once, and then run it.
Enjoy.
| Version 6 Jan 26, 2009 |
I made these changes over a year ago, but forgot to release it as a new version. Doh!
|
| Version 5 Dec 24, 2007 |
|
| Version 4 Dec 23, 2007 |
|
| Version 3 Oct 31, 2007 |
|
| Version 3b1 Sep 26, 2007 |
|
| Version 2 Dec 15, 2006 |
New features:
Bug fixes:
|
| Version 1 Dec 4, 2006 |
Initial Release
|


I want to thank you for the post of your calendar template on DP review. I was unable to download it for some reason in the script format but did so in PSD. I have Adobe CS2 and have already made the month of January. I look forward to any updates that you might create. Thanks again.
This is an awesome script and spanks those stone age calendar templates I had posted on DPReview! Is there a way to have the number/text part of your calendar appear only in the bottom 1/3 of the image or so? I’m sure that some people aiming for more of a fine art type of calendar don’t want all of their image behind the text.
Again… Great Job and thanks for posting this for everyone!
(kinda makes me feel silly when I consider all the time I sat there getting all my text lined up perfectly on my templates when your script zipped thru it at warp speed.. I admit to consuming quite a few brews in the assembly process of my templates so if September onward is a bit out of line I have a good reason!)
Thanks for the script!!! Wish I had found it a few weeks ago… I have some questions though. Specifically, the days. The font, size and color can be changed…. Will this be changed any time soon? Additionally, would be nice to be able to automatically insert holidays and birthdays into the calendar (for example via a text/csv file).
Thanks!
This script has proven to be very useful. I modified it to have the months/days in spanish and it works perfectly. Thank you!
I would love to use this on my mac but i have been unable to download the script from the web site. The mac does not have a right click option. When i click on the file name it just opens a text file with the code. I’ve tried draging and dropping the file name onto my desk top but when i try to install that file in CS2 i get a javascript error. Please email a copy of the file to me at seenosun@aol.com. Thanks - MW
PS… I’ll be happy to post about my experiences with the script from a mac perspective once it is installed.
Nice script but when I run it in CS2 and select February, it compiles March, although it uses the correct data from the dates file. The other months that I have tried seem to be OK?
Nice script I am glad you took the time to compile it and make it available.
It has a lot more potential for flexibility, would be nice if there would be a way to select the font and color. I haven’t got a clue how to do this sort of thing so it may be quit a task to add. Keep up the great work.
Thanks for very nice script.
So far I’ve just played with it for a few minutes, but some coments in response to previous ones:
To “download” the script on a Mac running Safari: just use File, Save As and save it to the Applications\Adobe Photoshop CS2\Presets\Scripts\ directory. Be sure not to add a .txt extension; just use the .jsx extention. Now it should be available in PS automatically.
To shrink/move the calendar itself (e.g., if you want to put the image to the side of it instead of behind) - select the Grid layer, then use Edit/Transform/Scale to make it the size, placement you want. Then, in sequence, select the 1-31 and Sun - Sat layers (you can do the same with the month and year layers) and use Edit/Transform/Again — the days and numbers will line up perfectly with the scaled grid. Note: when using Scale, hold the shift key to keep the original proportions.
Fonts can be changed easily by selecting the particular text layer, selecting the Text tool, and changing the font from the text toolbar (at top of screen by default).
Gday
Your calendar amuses me. I have been using a piece of software you wrote in the early 90s called been.pl
The number of times that it reminded me of birthdays and anniversaries and saved my bacon are too numerous to mention.
Whatever you may do in the future and however fancy it gets nothing will surpass that old text based been.
Fantastic Script thankyou very much. Awesome compiling saved Loads of time.
An excellent script - many thanks for making this available.
I was able to download the templates which are great but I would like to try the script. I have never used them before however and was hoping you could tell how to download and install them. I click on your link and am then lost?
rod
thats stinking cool.
Just found your site through a link on a Digital Darkroom forum posting, I actually visited to read your colour space articles (brilliant), and found your calendar script, Jeff its great, the time this saves when I think about the time I have taken on a number of occasions making calendars in PS.
many, many thanks
Paul (UK)
thank all lot … I’v made our honey moon calendar … my wife will appreciate ;-)) all this year
I am also having trouble downloading the file. I can get it to come up in a html but can’t seem to get it into my Photoshop. I have Photoshop CS2 and would really love to try this script. Please tell me what I’m doing wrong in downloading this script.
Thanks
How about adding an option to include week numbers as well?
Wow! This is just what I’ve been looking for! Thank you!
Couple questions:
- does this work with CS3?
- and/or have you updated the script?
thanks in advance. I used this a bit in CS2 and quite like it.
glenn
To the above poster: yes it does work for CS3, I have tested it myself.
To Jeffrey: thank you for this amazing script! It saved me loads of time while I was working on a calendar project for school. One request - can you make a configuration for customizable calendar sizes (in pixels or inches or whatever) instead of only standard paper sizes?
I’d like to know if this template is suited for A3 format.
This feature added in v3 (Oct 31, 2007) —Jeffrey
Wow what a great script, used it on Photoshop CS 3, i cool feature would be resize the calendar to user set type, and maybe create the calendar to a user set size.
Else i just make some workarounds, but what a great tool it is so cool.
thx for making this hard thing so easy to do now.
Hi Jeffrey
I saw you site, its very good, you did a very good job thanks you ,I am a photographer based in Egypt, I need your hlep if possible I would like to know if i can set the week starting day any day of the week? thanks alot in advance
cheers
Mariz
This feature added in v3 (Oct 31, 2007) —Jeffrey
Thanks a lot!!!!!
Very great tool!!!!!!
Just one question: would it be possible to have all the months in the same page?
If you do something like that let me know please.
I’ve not considered that because I’ve never needed it myself, and have never liked those kind of calendars. But if enough people would find it useful, I could look into adding it as a feature…. —Jeffrey
You are a great person sharing this tremendous work.
Hi–this is great! I am also looking for a calendar with all the months on 1 page. I am doing one as a fundraiser and need 8 months on the front and 8 months on the back of an 11X 17 sheet. I’d love to know if you make this available–thank you!
Karen
Thank you very much for sharing this with all of us. I tried it and I had a January calendar within minutes.
Do you have a template where the entire calendar from Jan to December is on one page?
Godbless!
This is so awesome!!! Thank you Jeffrey for making this available. i was wondering if you were able to get the February issue resolved? I too only get March when I pick February. Thanks so much!
Fixed in v3 (Oct 31, 2007) —Jeffrey
This is awsome stuff. Well done and thanks heaps.
I too have hit the February issue but it also happened for April, June, September and November when I selected ALL months. It did two of the next month.
I thought this very strange as I had done this before and it worked perfectly! What had changed?
I have been doing Christmas presents for family with calendars from my last holiday to Canada & Alaska so did have copies of the months missed.
I only needed some differnt ones as I wanted to include differnt birthdays on the calendars.
I have managed to get arount it and fix it in photoshop. I am running CS3 so it works in cs3.
Fixed in v3 (Oct 31, 2007) —Jeffrey
Thank you for this script, I would like to make the same kind of calendar you did in Portrait mode with your little boy, with the picture at 100% opacity and above the calendar grid,
you wrote it could be achieved by resizing the grid manually, that would be great if you could add an option in the script to automate this.
I loved this. I am also looking for one with all the months on one page. Let me know if you know of one. Thanks.
Laura
Excellent job !!! U r genius
…. just solving problem …. too small letters of daynames …. in slovak language ….. where should i change them ?
thanks a lot
Martin
Just wanted to say: “Thanks… Great work.”
I would love to try this script but when I downloaded it and placed into the scripts folder on CS2 I keep getting an error message. Can someone tell me what I am doing wrong.
It might be easier to offer suggestions if you were a bit more verbose in your description of what you’re doing and what the actual error message is…. —Jeffrey
I keep getting an error message:
Couldn`t open the annotation file C: ………/CalendarData2008.txt
which I made in wordpad and copied your annotation data from your example CalendarData2008.txt
THE FILE IS IN MY HOME DIRECTORY …
The error message is telling you where it expects to find the file, so is the file there? If it is, then there must be some other reason that it can’t be opened (or some other error being incorrectly reported that way)…. —Jeffrey
When I try to open the script in photoshop, I keep getting the message “could not complete your request because it is not the right kind of document.” Can someone email me the correct script?
It sounds like you’re trying to open the script as if it’s an image, instead of invoking the script via the File > Scripts menu. —Jeffrey
When I downloaded the script to my desktop, it shows as though it’s an image. How do I change it?
To be more specific, the error message reads “Error 8: Syntax error, line 1 -> #target photoshop
Good template. It’s easy to make a simple calendar with it. I will give you some suggestions:
- script can make CMYK mode files
- add more layout choices
- add more paper sizes(custom etc.)
That’s for now. Good luck!
I attempted to save the script but when I click on the link it opens to a page of code. What can I do
Jeffrey,
Thanks a lot for this wonderful script. That’s exactly what I was looking for! Works great!
Keep up the great work!
I just would like to report a tiny issue in the script:
I have 3 dates sections in the CalendarData file: US Federal Holidays displayed in red with a small font (just like you have in your example), Other US Dates (like St. Valentine’s day, or Mother’s day) that are displayed in gray with a small font, and Family Birthdays that I would like to show in blue with a standard (100%) font size.
Problem is when someone’s birthday falls on the same day as say Thanksgiving (Federal Holiday shown in small red), then this birthday date instead of the specified standard blue is shown in a small red.
Hmmm, if you could mail me the holiday data file you use, I’ll try to debug it….
There is of course a wonderful workaround: do NOT rasterize text layers, and later correct the problem. And that’s exactly what I did, so it’s not a big deal, but still wanted to bring it to your attention, so you can make it perfect.
One more thing. Instead of placing one large image under the grid (as shown in your example), on dates with birthdays I put small images of my beloved relatives right within the boundaries of the cell. It would be nice to have a small image masks in those cells, so I wouldn’t have to calculate what’s the size of the cell in order to crop the image I’d like to put there.
That might sound like a lot, but once you understand the steps, it takes about 10 seconds to actually do. Oh, and you might also consider feathering the selection made in step 1, for a different feel.
—Jeffrey
Thanks again.
I need help…. I have downloaded the file and added to scripts but when I go to run it I get an error that says Photoshop was unable to find the JavaScript plug-in. I am running Mac and photoshop CS version 8. Can you please tell me how to proceed. Please. Thank you, Marilyn
Jeff,
This is a sample Data file I use. If you run the script for May, you’ll see that ‘Mom’, and ‘Grandpa’ birthdays are shown in blue with 100% font size as specified.
However ‘Dad’ birthday instead of standard size blue font will be shown in smaller gray font, which is derived from Cinco de Mayo attributes.
# US Federal and Religious holidays are in red, with a small font
[FontColor=100%,0%,0%]
[FontOpacity=50%]
[FontSize=80%]
01/01 New Year
2008-01-21 Martin Luther King, Jr. Day
2008-02-18 President’s Day
2008-03-23 Easter
2008-05-26 Memorial Day
07-04 Independence Day
2008-09-01 Labor Day
2008-10-13 Columbus Day
2008-11-11 Veterans Day
2008-11-27 Thanksgiving
12/25 Christmas
# Other Dates
[FontColor=128,128,128]
[FontOpacity=50%]
[FontSize=80%]
02-14 St. Valentine’s Day
2008-02-02 Groundhog Day
2008-02-06 Ash Wednesday
2008-03-09 Daylight Saving Time Starts(clocks ahead 1 hour)
2008-03-21 Good Friday
2008-05-05 Cinco de Mayo
2008-05-11 Mother’s Day
2008-06-14 Flag Day
2008-06-15 Father’s Day
2008-09-07 Grandparents’ Day
10-31 Halloween
2008-11-02 Daylight Saving Time Ends(clocks back 1 hour)
2008-11-04 Election Day
# Birthdays and anniversaries
[FontColor=0%,0%,100%]
[FontOpacity=80%]
[FontSize=100%]
05-01 Mom
05-05 Dad
05-25 Grandpa
I recieve the following error when trying to run the script:
Error in
Line 1648: {
No matching closing brace found
I don’t have anything that can count lines otherwise I would just have added a closing brace in notepad, but counting over a thousand lines is also not cool ;(
Thanx for the quick reply Jeffrey.
Solution: Incomplete download and redownloaded
I found your calendar work when I was browsing this morning, and I love it. Thanks Good job
I have downloaded the file and added to scripts but when I go to run it I get an error that says JavaScript code was missing.
Hi Jeff,
What a great script. I have run it so far on A4 landscape and portrait modes (as trials to see which I preferred). I noticed, however, that when I run the script on A5 portrait mode (which is actually what I want to use for some gift calenders for my family), the actual calendar is not formatted correctly, but is squashed into the bottom of the page. Can you please advise if this is a bug or if I have a setting wrong somewhere.
It’s not too big a deal as I can still run the script sized for A4 and then print down to A5 within the print driver, but this is not perfect as it will affect the DPI seting.
I’m using CS2 and have installed your script into the Photoshop scripts area to run from the File menu.
Thanks
Ian
Fixed in Version 4, thanks for the heads up. —Jeffrey
There are a couple of things to correct in your script:
1) I keep getting syntax error in Latvian translation of wednesday. According to UTF-8 codes, the correct name should be
“Tre\u0161diena”
It looks like the name is not correcly encoded in the source
2) I think you should make a fix on line 2209, where you replace the tag with a cariage return character. Everything works well untill you have more than one line-break in one line. I think it should do a global replace:
Item.text = text.replace(/<BR>/gi, “\r”);
And finally thanks for the great script. It saved me a day of manual photoshop work! Merry christmas!
You calendar scripts sounds great, however when I try to run the script through Photoshop CS I get this error “Error 8: Syntax error, line 1 -> #target photoshop” does this mean it will not work in CS?
Thanks so much for this script! It works like a dream!
Possible to add a 4R paper size?
Would be great to print calender on 4R paper
Hi Jeffrey or any other kind-hearted soul out there.
This is great but I only have Photoshop 7.0. Can you please convert to javascript code for version 7.0?
Thank you.
jpgutierrez18@gmail.com
Thanks for the great script Jeffrey.
I noticed a little glitch. If there are two annotations defined for the same day that should render in different colours, they don’t, with both having the colour of the first one appearing in the definition file.
Your calender script is by far the best one out there. Creates the templates I have always wanted. Its very easy to create batch actions to change the appearance of calenders by changing the text layer styles and the opacity, fill and stack order of the groups and layers you have created. The only problem I had in creating these batch actions I created for the Landscape and Portrait Calendars was I had to duplicate the portrait one for the different size calendars because I transform the scale of the picture mask to force it to the image area with proper fades borders.
Thanks again…Very well done
jjmack
I just happened past your site looking for a way to make my own calendars and this by far is better than what I could have ever imagined. I’ve only played with it a few minutes but it is GREAT….
Thank you!!!
What an excellent piece of scripting! Thank you so much for sharing it.
Hello,
Thia is a great script and sharing it free is greatly appriciated. It works fine. Somehow it didn’t work (partially) in Gujarati and Hindi (Indian) languages. If u have a time then pl look into it. Thanks
This is AWESOME…saves lots of work.
Could you please add the all months in one….so I can place it on the back of a business card.
Thanks for the time saver!
I have a Mac with CS3. I’ve loaded the script and it open in photoshop. I tried to setup Calendar2008Data.txt in my home directory and added your CalendarData2008.txt just to test if it works. When I save the settings in Photoshop and try to run it, I get:
Bad line in line 1; aborting data read.
I tried changing the filename to CalendarData2008.rtf.
Also tried CalendarData2008.odt. Same error message.
Do you know how to get around this? Thanks,
Bee
We set up the txt file through our Parallel Windows desktop and now there’s no error message. I’m wondering what the format should be for those who don’t have Windows on their system.
Stunning Plugin THANK YOU SO MUCH!
Is it possible to get this working with CS1?
I don’t know anything about CS1’s scripting (or possible lack thereof), sorry. —Jeffrey
Is it possible to enhance the month, days, grid and dates to make them clearer?
The pictures I am using are quite strong and the data seems to get lost.
Great idea and works very well.
Thanks
You can tweak this by adjusting the opacity of the various layers (lowing the opacity of the image, or increasing the opacity of the gird/dates). Personally, I think it looks nice when the image is a bit washed out – it lets you use it as a calendar when viewed up close, but as a photo when viewed from afar – so I usually lower the opacity of the image. —Jeffrey
I donwloaded your script this week and have to say “thanks”! Works great and well documented for the novice to learn from. Is this what you do for a living??
Thank you!
This is wonderful! And so nice of you to share with others
This will really save me time - I appreciate it very much!!
Excellent I love It!! maybe add a calculation so it can display how old the person is on his/her birthday
I’ve already done that… I guess I haven’t pushed it out yet, though. Will do soon. —Jeffrey
Wow thats great cant wait… Just got lazy changing the .txt document
For the last two years I have been looking for a “template” to make a calendar. Boy did I ever luck out on this one!! There are a few things that I would like to see, but for “free” this is ECELLENT. I will proudly give out this calendar for Christmas presents.
Thnaks so much Jeffrey for sharing this with us.
Thanks very much for taking the time and trouble to produce this great script for photoshop. I have learned so much about photoshop whilst enjoying the exercise of producing a tailor made calendar. Your blog is just fantastic….almost seems you made it just for me..it has so much information on it that I am enjoying. Your eforts are greatly apreciated…
best regards
Dennis
thank you so so much!
great script !!
I love this!!! Thank you very much. It works extremely well. I am in the process of putting together a yearly calendar for our Springer Spaniel club and your script has been a godsend.
One question though - I am able to move and/or change everything that I need to except the color of “days”; I can’t seem to change them from gray. Any hints?
Thanks so much,
Kristin
Jeffrey, thank you for taking the time to do this. I’m a n00b at photoshop, and I really wanted to make some calendar desktop images. This really hits the spot.
Cheers and all the best.
how can i edit this to create 2010 and so on? I know it seems like i would not need this yet, but offering some calendar options to high school seniors as a photographer means i start offering as early as their junior year. I am not a script writer, but i am saavy enough that maybe i could edit myself if you can point out how/where to do it. thanks….I am building 2009 as i type this so i hope it is what i am looking for…i am pretty sure it is.
Uh, did you actually even give it a try? What about the “Target year” entry box is not sufficient? Geez. —Jeffrey
i have never use this technic. Thanks. Very useful will be making calender.
Thanks! This script saved me tons of time. The calendars look excellent.
Hi! I want to create a poster size (20″ x 30″) 2009 calendar with 12 pictures on it. However, the size options in the program are small… it’s for my history class and i need to post 12 pics in different periods. Could you help me please? Thank you so much!
If you want a single poster with 12 pictures and a calendar, then my script will at best be a starting point from which you can try to craft what you want.
If you want a 12-sheet calendar with pages in the format that my script makes, only larger, then it’s easy enough for you to tweak the size in Photoshop. After creating each page, either the canvas size to what you want, or change the resolution such that the final result would print the size you want. —Jeffrey
Wow… that’s a fast reply.
More power to you and Thank you so much!
It’s raining today - again - so thought would sort out 2009 calendar. Doesn’t seem to be available. Is there going to be one. 2008 was VERY successful for Christmas presents. Many thanks.
It’s a script that generates a calendar template for whatever year you ask of it. Only four-digit years are allowed, so you’ll be out of luck after another 7,991 years. Until then, the script should work fine…. —Jeffrey
reates the templates I have always wanted. Its very easy to create batch actions to change the appearance of calenders by changing the text layer styles and the opacity, fill and stack order of the groups and layers you have created. thank you very much
thank you Thia is a great script and sharing it free is greatly appriciated. It works fine.
Very useful will be making calender.
This has been around for so long now that I am almost shy to post a comment.. But thank you, thank you… This is too awesome.
I would like to make a calendar through Photoshop 7 - any suggestions?
can you please post instructions on how to create the calendar it’self because i would much rather do that even though its much harder
HI,
I love your script, and have modified it to get what I want (almost) I added Legal size paper, I am having trouble getting the picture anywhere but in the middle automatically, and I would rather size the picture myself and have it placed without resizing.
Thanks,
Dick
Gday,
This script is brilliant. Now my wife can make her calendars without having to rip more of her hair out. Customisation is a bit tricky but managed to change the font and get rid of capitals (Pristina looks better lower case). Now to change the position of the Month and Year and set a paper size for CD cases.
Hope its OK to do all this. The only trouble I have is getting it to read an annotation file correctly.
Thanks again.
Thank you, thank you, thank you!
Now I, too, can make my calendars without ripping my hair out!
Cheers,
Stacey
Fantastic script. Have added CD paper size, and dealt with the subsequent issues that are introduced by trying to squeeze things into a smaller area. It has given me a reason to get learn about scripting. Just just want to try and get the colour of the date to change for a Public Holiday…
Thanks
Lloyd
Looks like a neat script - wish Adobe would allow PSE users to use them. I thought perhaps 7 might - there is actually a scripts folder with a script in it but not to be. Nice script though and just the kind of calendars I was looking to create.
Fantastic script - you must be a programmer … old school … very neat code. (I’m a really old school pgmer - BASIC / RPG /Cobol - long before Windows and ’script’ code - have not mastered JAVA)
How can I easily have the calendar Layer Effects include the styles Drop Shadow, Bevel and Emboss and Contour (CS3 defaults) along with Outer Glow?
I’ve added the various paper sizes from 4 x 6 to 17 x 22 - I print to an Epson R1800 - got that working easy enough - but would like to change the print location of the Month and Year from top / center of calendar to just above the Days of Week line, right justified. Right now I’m doing it manually, but would like to have done automatically.
Perhaps some day the script could give the user the option to set the style by ‘Grid’ / ‘Month Name’ / ‘Year’ / ‘1 - 31′ / ‘Sun - Sat’ rasterized layer groups.
Thank you
You are a genius sent down from heaven!! Thank you for this!
Hi Jeffrey,
May I post a version of your script that I have made onto a Photo Forum community?
I’ve already credited you as the originator and posted a link to here also, I’ve edited the script to change the layout and would like to post it for the other members of a forum.
I would have emailed this request but could not find contact details on here anywhere.
Regards
Steve
Uh, you didn’t leave your email address, so I can’t reply directly to you. My email address is on the “About Me” page. —Jeffrey
Jeffrey,
Seen your addy this time (was looking for link). Mail on its way!
Regards
Steve
Hola, soy de Peru. Felicitaciones . Es un gran trabajo.
Agradecere me indiques como puedo cambiar el color de los numeros para los dias festivos y domingos, en color rojo.
Hello, I’m from Peru. Congratulations. It’s a great job.
I would appreciate specify how can change the color of the numbers for the holidays and Sundays in red.
Thank you for your generosity in sharing this wonderful script with all of us. I have used it for the last two years to make a calendar for my very extended family. They think I am wonderful, thanks to you!. Hope you have a great holiday season, and an even better new year.
Judith
Hi. Congratulations, is very nice calendar
Jeffrey, I just came upon your site as I was searching for a calendar template & it sounds great from what your “customers” are saying. Before I download it, could you tell me if it would be easy to include more than 1 photo on each page of a 12 page calendar.
Me again. I just tried to download the script, but I don’t get any download dialogue/options, only what looks like the script. Is it compatible with Vista? How about CS4?
Hi Jeffrey,
I was asked by a village school to provide a fund raising calendar and came across your script. It is excellent, the school is delighted and the parents are buying in good numbers.
You ask for suggestions so here goes…
Being able to customise the layout would be great, I moved the title of the month down to just above the grid, added a new title (the name of the school and the logo) and then plonked in the photo to each month. It would be nice if I could set a title image (jpeg would be ideal, it would be the school name and logo ready saved as an image rather than text), then direct the script to put that at the top and then tell the script to put the months name directly above the calendar grid.
It would also be nice if I could adjust the opacity of the grid and days etc before the script runs.
I know, big asks, but you did invite suggestions!
Once again, many thanks for posting this.
Al
Message for Leif Petersen - if you right click on the hyperlink and choose ‘Save target as’ you can download the actual file. I found that CS4 would not open by double clicking the script but using File, Open works, as does copying it to the Scripts folder as Jeffrey suggests.
I agree with some of the other posts that being able to change the font, size and style would be a great addition but otherwise great work Jeffery.
I just wanted to say that your calendar script is brilliant!
Good Work and Great Job!
Many Thanks from New Brunswick, Canada!
Thanks so much for your work on the script! This is really helpful.
Jeffrey, is there a way to show our appreciation through a small donation?
I’ve made a nice birthday-calendar with the photo of the person on the day, and this script was incredibly useful for that! The only thing i missed were guides: it would be really neat if the script generated guides (the blue lines) on all edges of the grid, so you can snap your photo’s to the guide.
I solved this by running a script to write-out the guides on the coordinates i needed them, but i think Jeffrey can do a much better job than me.
A sweet job Jeffrey! thank you so much.
Actually I was looking for a Photoshop script to make a Calendar Desktop Wallpaper (not printed), but I managed to tweak your script a little bit:
added a new type; “1152×864″ -my desktop pixel resolution- (based on 300dpi to get the right mm), change opacitys, sizes, margins, colors, remove the white mask so the background image looks unchanged, etc… and now it works great for me!
unfortunately, the changes I made aren’t backwards compatible, so it only works with my “1152×864″ type now…
You can see a example output calendar wallpaper here.
So… if you have the time, it can be a request; adding the posibility to make these too; with some common screen resolutions… 800×600, 1024×768… etc. And margin (or should I say padding/overal size) for the calendar, so we could set it small in a corner, for example.
It would be sweeter
Saludos, hex.
Dear Jeffrey,
Many thanks for your kind explanation.
I am installing your “Jeffrey’s Calendar Builder.jsx”.
but “OKAY” in default configuration is not seen after opening the script.
Only ‘SAVE’ is seen.
I don’t know the reason.
Pls reply to me soonest.
If you inform me your email address, I will send you the pictures.
Best regards,
Peter Jin
Hi Jin,
I noticed the “Okay” button also did not appear in my Photoshop Window, so I cheated and got it working, but I agree that Jeffrey should provide a complete answer as to why does the Script Window does not have a vertical scrollbar for a User to be able to scroll up / down. I could also ask the photoshop guys why these types of windows cannot exceed a maximum size, or if they do, why is it that no scroll bar is made available.
Now to the solution:
In Windows, the “TAB” key (usually a couple of keys below ESC) is used to ALTERNATE or Toggle between fields. If you´re on a website, for example, click somewhere (a text box, checkbox, etc) and then press the TAB key: you will notice the selection changes each time the key is pressed. This becomes useful if you don´t have a Mouse attached to your PC, but also in cases you suspect a button or text field exists but it´s not visible!
So: Go to the bottom of the script window, check the checkbox (little square) before the “delete” button, and then press it again (to UNcheck it). Now you´ve got the focus on that checkbox, so you´re good to go: Press TAB until the focus os the selection disappears from the Last button in the Window, which says “Delete”. Now press Enter (we are assuming the focus is now on the invisible “OKAY” button).
If you got it, the script will start working! Mine did excellent, and I am now going to see what was the outcome, and start placing photos!
Great Script you´ve developed Jeffrey! Thanks a lot and Happy New 2009
Jeffrey thanks for this nice and brilliant work!
I have one question: It is posible to have the sunndays and hollidays numbers in RED?
Many thanks and have a happy 2009!
Dear Francisco,
Many thanks for your kind information.
Your idea is my idea.
That is, I also thought of the TAB,
and used it to make the January Calendar, 2009.
I made a success.
Many many thanks for such script.
Another, I want to change the name of month and date of the week
from English to Korean.
Can you recommend me a script and inform where to install it?
Thanks again and B. rgds,
Jin
All of this sounds great. Any chance you have something for building a 2010 calendar?
You mean something besides entering “2010″ into the “year” field? No, that’s about it
—Jeffrey
Simply enter the Date “2010″ (without the “quotes”) in the text box where it says Date, or Year (im not sure what the name is, but it´s there!).
The script used to create calendar is reusable
as long as anyone wants a Gregorian-Based calendar it should work!!!!
I hope this helps´.
Hi,
Awesome script. I added a “B+” paper size option in the pull down since I have a printer that size. Given the number of printers out there that can print this size you might consider it during the next update. It’s 13 X 19 inches.
Great job.
Tony
WOW, thanks a LOT, just what I was looking for… no wait, this is even better.
Hello Jeffrey!
Perfect timing for that and I found your site. Congratulations to you! Thank you.
Good day
Giovanni
“Ciao Jeffrey! Per calendario che perfetto e ho trovato il tuo sito. Complimenti a te! Grazie mille. Buona Giornata”
Giovanni
hey thanx a ton for this. u saved my life.
Hi Jeff
First, thanx for an amazing script. I have always given calendars as presents for my family and you just made my life easier.
I was just thinking. In my country, we are used to highlight holidays and sundays in red. I know that the holidays will be hard, nuy how about rasterizing the sundays column so we can apply styles to put only that column in a different color?.
Again, thanx a lot and congrats for such a superb piece of work.
GJ Rodriguez MD
Looks great !
My Photoshop is on a Mac. Will this work there?
Thanks
Of Course it will run on a Mac.
- Jeffrey´s Script is developed to work with Photoshop. Photoshop is an Application which runs on top of an Operating System, and as long as Applications are designed to work with the internals of the Operating Systems they are supposed to be compatible with, everything will work. Any Script that works with the Application will work if it does not contain errors in it.
Let me remind you that it would be easier to see the opposite question coming up: “will it work on a PC?” - since MAC´s are by excellence used by graphical designers, etc, Photoshop (The Photoshop) is a sure bet to work on a MAC. However…with the existence of the PC dominating the computer world, one couldn´t let go the opportunity of developing compatibility for this Universe of u$ers.
“// Type can be “Letter” , “A3″, “A4″, or “A5″
// (No reason you can’t add others, like “L2″ or “4×6″, but I haven’t felt the need yet.
// If so, we’ll have to do something about scaling the various margin/font sizes.”
A few lines from within the script.
I respect that you have not felt the need to add other paper sizes, but will you be adding this functionality in the near or distant future? Scale ability would be wonderful especially if one could enter a millimetre size of the final output in the scripts dialog box.
Your thoughts on this Jeffrey?
Many thanks.
Wookie
Probably not any time super soon, sorry. The problem is that my initial design was poor, and not built to stretch to other sizes. It’s very kludgy, and it should be rewritten. I’d love to, but am caught up with my Lightroom stuff these days… —Jeffrey
Thanks for the quick response Jeffrey.
I can understand not wanting to rewrite it, as it is its a huge script as far as available scripts go and it works as is.
Many thanks anyway.
Wookie
Thanks for the script. It is excellent. I make calendars for my screen wallpaper. This will be a big help for my 2010 calendars.
Bob
Ran calendar script an recieved error:
Error 14: No matching closing brace found.
Line 1374
-> Root
Where/how did you run it? —Jeffrey
I would welcome any help.
Thanks for your almost instant response, it was run from Photoshop CS2 on Windows Vista Home Basic with Service Pack 1 after installation in the scripts folder.
Hmmm. There are no braces on line 1374, so I’ve got to wonder whether you have a corrupt download. Could you try downloading it again? Overall, it should be 2,294 lines long. —Jeffrey
Any chance of updating your CalendarDataJapan2008.txt for 2009? I’m not competent in Japanese, but I like to surprise my wife (Yuko) when I can.
Rob
(Virginia)
Okay, I went ahead and created/added files for 2009 and 2010. —Jeffrey
Congratulations, really very good job!
hi i am from the uk is it possiable to allow the user to set there own paper size i notice there is a number of differnet papersizes set already but sometimes i would be good is possiable to make non standard size calendar for example this your i made a small wallet size calendar
That’d be a nice feature, but unfortunately I didn’t think of that when I wrote it, and I didn’t write it with that kind of flexibility in mind, so it really needs to be rewritten from scratch for that to be added. Sorry. —Jeffrey
Hello Jeff! Im Vino from the Philippines, I have a big problem about your script, It looks like Im the only one who dont know how to download it. I read all your comments and I couldnt find someone who ask about downloading it. I already click the link ” Jeffrey’s Calendar Builder.jsx ” but it onlyshows a Notepad-like file that I dont understand! Sory to bother you but can you teach me how to download it? Is there any other way to download it? Im not that good in computers so I would realy appreciate your help! Thanx!
When you get the “Notepad-like file”, save it as a file and give it a name ending with “.jsx”. Then install into the Photoshop Scripts folder as described, and it should work. —Jeffrey
Hi Jeffery,
Wow, your script is AMAZING. I love it! The calendar is so beautiful, too - far more attractive than any other I jave seen on the Internet. Thank you for your kindness and generosity in making this for the community. You are highly talented. Blessings upon you and your family!
Cecilia in Australia
Hi Jeff, Im trying to download and try your script but I keep getting a javascript code is missing. I hit the download button, and get to the html screen. I saved it to my desktop, and changed the ending to .jsx. When I right click to open with Photoshop it goes to open, but I get the javascript code is missing.
I even tried installing it in my scripts folder aswell..
any direction would be appreciated..
I’m not sure what to tell you…. many download it with success. Perhaps try a different browser. —Jeffrey
I believe I had a similar problem. If I remember correctly I solved it by opening the file in notepad, saving as a text file and then renaming the file.
Outstanding Work Jeffrey!!
I was wondering if there is an easy way to change the layer style options? I would rather have a solid black font with a drop shadow and bevel over the “outer glow”
I found the fill options within your script, but I’m afraid my other desires are way beyond my capabilities LOL
Thanks - Cheers
Dave
It’s been years since I looked at this code, but IIRC, the style stuff was fairly complex. )-: —Jeffrey
Amazing job. Thanks a lot!