Why do you use a smart Object layer in your template. Do the images need a perspective transform or rotation in the transform? Replacement for smart object layer object must be the same size and resolution as the original object that was user to create the smart object layer. With a different template design you would be able to use any size image that has a Aspect ration that is near the template image area aspect ratio. A script could easily batch populate a well designed template with your images. Also is there a reason you are saving the output files as PDF. I would think it would be better to save output files as PSD or Jpeg or both PSD and Jpeg. My Collage Populating scripts always save Populated PSD file and can optionally also save Jpeg and PDF files. Your Calendar template could have 1 Image, 12 Images or 52 Images.
Creating 1000 Calendars will take a long time... you should know that. However, you can drink some wine while Photoshop is cranking them out.
Photo Collage Toolkit
Photoshop scripting is powerful and I believe this package demonstrates this. A video showing a 5 image collage PSD template being populated with images:
The package includes four simple rules to follow when making Photo Collage Template PSD files so they will be compatible with my Photoshop scripts.
- Size the photo collage templates for the print size you want - width, height and print DPI resolution.
- Photo collage templates must have a Photoshop background layer. The contents of this layer can be anything.
- Photo collage templates must have alpha channels named "Image 1", "Image 2", ... "Image n".
- Photo collage templates layers above the background layers must provide transparent areas to let the images that will be placed below them show through.
There are fifteen scripts in this package they provide the following functions:
- HelpPhotoCollageToolkit.jsx - Online Help
- TestCollageTemplate.jsx - Used to test a Photo Collage Template while you are making it with Photoshop.
- CollageTemplateBuilder.jsx - Can build Templates compatible with this toolkit's scripts.
- LayerToAlphaChan.jsx - Used to convert a Prototype Image Layer stack into a template document.
- InteractivePopulateCollage.jsx - Used to interactively populate Any Photo Collage template. Offers most user control inserting pictures and text.
- ReplaceCollageImage.jsx - use to replace a populated collage image Smart Object layer with an other image correctly resized and positioned.
- ChangeTextSize.jsx - This script can be used to change Image stamps text size when the size used by the populating did not work well.
- PopulateCollageTemplate.jsx - Used to Automatically populate a Photo Collage template and leave the populated copy open in Photoshop.
- BatchOneImageCollage.jsx - Used to Automatically Batch Populate Collage templates that only have one image inserted. The Collage or Image may be stamped with text.
- BatchMultiImageCollage.jsx - Used to Automatically Batch Populate Any Photo Collage template with images in a source image folder. Easier to use than the interactive script. Saved collages can be tweaked.
- PasteImageRoll.jsx - Paste Images into a document to be print on roll paper.
- BatchPicturePackage.jsx - Used to Automatically Batch Populate Any Photo Collage template with an image in a source image folder. Images Rotates for best fit.
- BatchPicturePackageNoRotate.jsx - Used to Automatically Batch Populate Any Photo Collage template with an image in a source image folder.
- PopulatePicturePackage.jsx - Used to Automatically populate a Photo Collage template Fill with the same single image and leave the populated copy open in Photoshop.
- PCTpreferences.jsx - Edit This File to Customize Collage Populating scripts default setting and add your own Layer styles.
You can use a little bit different method.
Just prepare text file with names of your images.
You can use bridge to change them into sequence and use Excel to easily prepare data sheet
You have to prepare variables names names nad data
Use Variables in Photoshop to add your text data and then use Data Sets command to propare all of your calendars just from single PSD file. In this case you can't use Smart Objects. Variables don't work with smart objects.
It's similar to Data Merge in InDesign - maybe easier to prepare
Try to find Variables in Photoshop
Yes Data Driven Graphics can populate both Image and text into Photoshop PSD templates that use Photoshop defined variables names for layers. Text and Image layers are supported.
I have never use Data Driven graphic, so I do not know what is or is not supported well. I think you may find some limitation. All things have limits. I feel you may find that Smart Object layers can not be define as a Photoshop variable. Images may need to be the correct size for the template layer they will be replacing the template layer pixels and text has a limit to the amount of characters likely need to be able to fit into the defined text layer. I do acually know I have never use Date Driven Graphic myself.
Automatic Populating process methods are Design to work on a particular template design. Template designs use different Photoshop features and layer types. So Template designs have advantages, limitations and requirements.
Photoshop create composite images which can be made many ways using Photoshop features. Some ways are easier the others. When it comes to automation a consistent way is important. More complex template design require more complex automation. Template PSD designs IMO need to be simple and consistent to be generally useful. Very complex template most likely will need to be populated manually.
All smart Object Layers have an associated transform. The transform is not replaced when the smart object layers content is replaced. So the Transform can add rotation and perspective to the layers composite view. All replacement object must be the same size and resolution. So Smart object layers have advantages and disadvantages. IMO the best use of Smart object layers in template besides rotation and perspective is for creating Picture Packages where you dupe a smart object layer several time and transform each to form a picture package composite. One Image with several transforms. One smart object shared by several smart object layers. One Replace Smart Object Layer content replaces all layers contents.