(This page last updated December 24, 2007, for Version 5 of the script)
I've made a Photoshop JavaScript script that builds calendars. The result of running it in Photoshop (CS2 or CS3) 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 5: 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/CS3, 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 CS2 folder is:
\Program Files\Adobe\Adobe Photoshop CS2\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 with some US holidays, and another with Japanese:
CalendarData2008.txt
CalendarDataJapan2008.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
- 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 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
|
Note: I will be out of contact until August 26. Any comment you leave before then will be read upon my return.


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.