Preflight video and “Enforcer” Scripts

Adobe InDesign has a magnificient feature that displays a list of prepress issues that may be present in artwork, and updates this in real-time. It is the live preflight feature, and it’s certainly not a new feature in Adobe InDesign. That said, considering some of the files that I receive that are considered to be “finished art”, I wonder how many people know that this feature exists; or uses the feature before handing off their finished artwork to their printer or supplier.

To be fair, the live preflight feature is rather passive in Adobe InDesign. If the preflight panel isn’t loaded into your set of panels in your workspace, it is only visible at the bottom of the screen, and is less than 50 pixels in height. The default preflight that is performed on artwork only alerts on a handful of items, some of which have dedicated alerts to their absence anyway (such as overset text, missing fonts and missing links).

In this Colecandoo video, I demonstrate that the preflights can be much more powerful, the basic preflight can be replaced with far more powerful preflights, and I demonstrate some traps to look out for that are not detected with any preflight. The video also demonstrates two scripts that are designed to prevent users from printing or exporting their artwork until it passes the live preflight check. If you’re interested in obtaining a copy of this on-request script, head to the contact page and ask for the “preflight enforcer scripts”.

In a future video, I’ll elaborate on the demonstration file used in the video, as it contains dozens of prepress errors.

InDesign User Interface mods with Startup Scripts

In Episode 16 of my Youtube videos, I briefly showed a startup script that added several options to the contextual menu that allowed a frame to fit a given size. But it’s not the only way I’ve modified my user interface, so this episode of “Must-Haves” is dedicated to scripts that make minor modifications to the user interface.

The modifications mentioned in this article use javascripts that are installed into the startup scripts folder. Scripts put into this folder don’t have to be double-clicked from the scripts palette, instead they are run when InDesign starts up. So let’s have a look at what features these scripts add to the user interface.

goawaystartupscreen.jsx

Origin unknown

This is a one-line script that instead of adding functionality, actually takes it away… If you don’t like the startup screen showing up whenever no documents are open, add this script to the startup scripts and you’ll never see it again.

PalettenmenusinsHauptmenu.jsx

By Gerald Singelmann (Cuppascript)

This script adds a new main menu item that shows all panel menu items within the one menu.

TomaxxiLAYERS

by Marijan Tompa (Tomaxxi)

This script adds three options at the bottom of the layers panel that allow a layer set to be applied upon the creation of new documents. The layer sets are also customisable.

BookOpenAll.jsx

By Theunis de Jong (Jongware)

This script adds two options to an InDesign book palette – open all documents and close all documents.

FileCloseAll.js

By Marc Autret, Indiscripts

This script adds an item to the file menu, particularly close all.

AddPathOperationsToLayoutMenu.jsx

By Olav Martin Kvern, Silicon Publishing

This script adds the functionality of the pathfinder palette to the contextual menu. This is a great timesaver when working with shapes, so rather than having to click off of the object or objects being worked on to perform a command, simply right click to call up the desired command.

ConvertSwatchToGrayscale.jsx

By Gabe Harbs, In-Tools

This adds an option to the color palette that allows a color to be converted to greyscale based on formulas in the script.

ControlBackgroundExport.jsx

By Marijan Tompa (Tomaxxi)

This script adds a menu item to Adobe InDesign that allows the export PDF option in the background to be enabled or disabled. For whatever reason, I prefer to watch the progress bar of the PDF being created rather than let the task run in the background, so having this option is useful to me.

Unfortunately, this script is no longer available from Tomaxxi’s website, and it’s also not my script to give away. However, this link is an InDesignSecrets.com article where the script was conceived, and similar scripts are available in the comments section of the article.

SortFilesBeforePlace_startup.jsx

by Roland Dreger, Roland Dreger GrafikDesign

Adds the “Sort and Place…” item under the place item in the file menu. Once items are selected, a UI appears prompting for the method to be sorted for the place.

PlaceByContextv4.jsx

by Gerald Singelmann, Cuppascript

Adds a place… option to the contextual menu… but with a major difference. Selected frames will have the resulting images imported into the frames either in the order they were selected; or if marqueed at once, then from a left-to-right, top to bottom order. It effectively does away with the placegun and allows images to be placed directly into awaiting frames.

SwapImages.jsx

by Gerald Singelmann, Cuppascript

Adds three options towards the bottom of the contextual menu – swap images, swap places, and load image in placecursor. Certainly a go-to script and very handy for swapping images on the same page or spread; or swapping images between frames.

TomaxxiPLACE2

by Marijan Tompa (Tomaxxi)

Adds two options at the bottom of the object styles panel that applies a given object style to placed objects. Typically, object styles can only be applied once images have been placed.

выровнять фрейм.jsx

by Eugenyus Budantsev

Translated as align the frame, this script adds four options to the bottom of the contextual menu that allows a text frame or graphic frame to resize to the margin size, page size, bleed size or baseline. Images within a graphic frame will resize to fit the frame, but this can be adjusted by editing the script and replacing the words:

FitOptions.CONTENT_TO_FRAME

with

FitOptions.CENTER_CONTENT

Or another preferred option. See this link for the other options that can be chosen.

Lastly:

In a future Must-Haves video, I will demonstrate other user interface modifications that can be made that are installed in other ways.

EAN-13s on a budget

colcandoo

From time to time, there will be a need for any designer to add an ISBN barcode or EAN-13 to artwork that is being created. Typically, the customer supplies the number by itself and the barcode is created from that number and placed into the artwork. The question is… how does that number turn into a barcode?

This article isn’t going to be a long and technical article about how barcodes are generated and the math/programming that goes into it. Instead, it will point to some available resources for generating the odd barcode here and there, rather than fully developed software that can batch produce barcodes and integrate with databases.

Most of this post refers to EAN-13 or ISBN style barcodes, simply because since 1 January 2007, ISBNs are 13 digits long and use the EAN-13 barcode format for their barcode structure and appearance. What this in turn means is that a solution that can generate an ISBN can also generate an EAN-13, a standard used by most of the world for generating product barcodes… except if you live in the USA or Canada where UPC is used more often.

To my knowledge, no Adobe nor Quark product (nor any product from its latest rival, Affinity) ships with a barcode module as default, but Microsoft Windows users who use Corel Draw will know that it ships with a barcode module and has done so for the past 15 years (just a hint Adobe if you’re looking for ideas or innovations for the next upgrade to Creative Cloud). That’s well and good, but if you’re like me – a Mac user running the Adobe Creative Cloud, Corel Draw isn’t an option.

If you’re also not in the market for dedicated barcode software (as there are hundreds of products that are available) but would like to create a barcode with the minimum of fuss from your desktop or laptop, there are three alternatives that I would suggest:

Plug-ins

Many of the paid plug-ins that are substitutes for the Data Merge feature of Adobe InDesign typically come with a barcode module or add-on. For example:

But if you’re a designer that isn’t after an enterprise solution for making hundreds or thousands of barcodes, but just wants one barcode for a self-publishing client or a craft brewery for their bottles, then many of these products are probably overkill.

InDesign Scripts

Because I work in InDesign most of the time, having the ability to create a book cover and barcode in the same application has advantages for me. That said, here are three scripts that are worth a try:

BookBarcode by Indiscripts – a paid script for Adobe InDesign (€39). It offers lots of customisation and allows for batch creation of ISBN barcodes. If the pennies are tight, there is a “try” version that creates a “vanilla” EAN-13 barcode without the added features and bonuses that would be required from a book publisher or brand agency.

EAN Barcode generator by Konstantin Smorodsky – free script available from the Adobe Add-ons site. Does one ISBN barcode at a time and is intended for general purpose EAN-8 or EAN-13 barcodes, but since ISBN barcodes fall into this category, this still qualifies. Does not put the human-readable ISBN above the barcode though.

ID Barcode by Nick Morgan and Bruno Herfst – free script that supports EAN-13, ISBN, ISSN, ISMN; some customisation of fonts, includes human-readable ISBN above the barcode, EAN-2 and EAN-5 supplemental barcode.

Websites

To my surprise, there are several websites that can create CMYK, text-as-curves, vector graphic barcodes that are worthy of consideration. Again, the internet has these sites in abundance, but of the sites that stood out were:

Terry Burton’s online barcode generator – This site creates a vast array of barcodes, yet alone EAN-13/ISBN. Options are limited per barcode, but if functionality is your thing, definitely a worthwhile website.

Bookow.com – Generates a vector PDF ISBN barcode. No customisation but contains human-readable ISBN above the barcode and all type is set in OCR-B. There are also other useful tools on the website for book publishers.

GS1 (EAN-13 barcode generator) – The Swiss site of the GS1 organization has a feature that creates EAN-13s. Again, no fancy bells or whistles but it does the job.

Free Barcode Generator – Another no-nonsense barcode creator with some options but without the fanciness of the scripts or plug-ins.

Free ≠ yours to do with what you will

The last 7 links have mentioned free resources, but remember that the creators of these resources have the same bills and overheads that you do. If their script has saved you time and effort, and their website has a way of making a donation, seriously consider making a payment to these developers who go out of their way to not only make these resources, but allow you to use them without charging a hefty sum.

 

 

Next Beta Script: Data Merge Cut and Stack Assistant

As a regular user of Data Merge, I often have to assemble projects that require cut and stack impositions. Most of the time, I prepare my files one-up at the correct size and output to PDF, knowing that the RIP of the digital printer has imposition software that has the ability to prepare cut and stack style impositions.

If cut and stack is an unfamiliar term, it is a style of page imposition where the subsequent pages appear on the sheets below until the end of a stack, and then begin again at the top of the sheet in this continuous pattern.

Unlike bookwork that may have a maximum page count of under 1000 pages, cut and stack impositions can deal with page counts in the hundreds of thousands… enough to make any imposition program buckle.

Another way of handling cut and stack impositions is to prepare the imposed base in Adobe InDesign, and then manipulate the data so that rather than being one long list, the list is split into columns based on the amount of pages-to-view on an imposed sheet. This is a quicker method as there are less pages to process and no imposition software to use, but there is the time taken to split the data appropriately, and will suffer any human error that went into manually making the revised database.

Frustrated with this situation, I decided to create a script that would take a large database and repurpose it for a cut and stack imposition. On that note, I present to you my latest script.

UItoexplainlaststacks
The imposed base is created in Adobe InDesign with text frames in place for the data merge placeholders. The script is then run and prompts the user for the original data. An interface appears asking the user for:

  • The records to process;
  • The amount of records in a set;
  • The amount of sets in a stack;
  • How to process last records (in case the stack sizes are uneven); and
  • Any other identifiers visible in the database.

Once OK is clicked, the script creates a duplicate of the original database and arranges the data appropriately, and launches the Data Merge palette so that the imposed base placeholders can be populated.

basewithfieldcodes

If you would like this script, please go to the Scripts page and look for the Data Merge Cut and Stack Assistant script.

Bonus script for the Holidays: Draw arrows around an object

UPDATE 2016-02-22: The script has now been updated to v1.07 and contains some new features. See the video below:

From time to time, one of the boring and repetitive tasks that prepress operators or designers have to do is draw lines that indicate the height and width of the artwork on a proof. For example:

proof form1For some sizes, a template probably exists so that the sizes that are regularly used don’t have to be drawn manually. But there are occasions where the artwork is a unique size and the arrows have to be drawn. It doesn’t take a long time to do the task, but if you’re doing this several times a day, every working day, it gets a little boring.

proof form2

That’s why this year, I’ve released a beta version of the Draw arrows around an object script. It works like this:

In this instance, I would like to apply the measurement arrows around this business card. There is a .25pt keyline that is on the frame, so I have set the stroke to align to the inside edge. Click on the object that you would like to draw the measurement lines around and then run the script from the scripts panel.

proof form3

The script will run, and moments later will return the measurements and the lines.

proof form4

The default font used is Minion, but it can be changed as it has a style associated with it called labelmeasures, so let’s change it to something that matches the style.

proof form5

And we’re done. Some things worth mentioning about the script:

  • It applies the measurements to one object or grouped selection at a time. If several ungrouped objects are selected, the script will add rulers to the object that was placed on the page first.
  • If the object being measured has a keyline applied to it, be sure to set the keyline to the inside edge.
  • It works beyond millimetres, including centimetres, pixels, points and inches.
  • It is a beta, so there is still room for improvement and suggestions. Any feedback about this script (or any others on Colecandoo) can be made on the contact page.

That said, the script is my Holiday gift to readers and followers. Enjoy!

Data Merge from InDesign to unique filenames script to remain FREE

Several months ago, I announced the beta version of a script that had been in development for some time – the ability to prepare uniquely named PDF or InDesign files from a Data Merge.

The Beta release of the script is now complete and the final version is now available from the scripts page. More importantly, it will remain as a FREE script for the InDesign community to enjoy.

To see the script in action, I have also produced a series of Youtube videos on the Colecandoo channel.

A Pro version of the script that contains enhanced file naming features and expanded export abilities such as export to png, interactive PDF etc is also available from the scripts page.

I have also made custom versions of this script for specific requests, so if that is something that interests you, contact me via the requests page.

Colecandoo is now on Youtube!

Since the middle of the year, I’ve been feverishly toiling away on several projects. One has been the Data Merge to single record scripts (which is now available from the Downloads page), and the other has been to create Colecandoo tutorial videos to follow along with the articles that are published on this site.

That said, the Colecandoo Youtube channel has now been created and has several videos on offer at the time of writing:

  • Two videos showing the Data Merge to single record script in action;
  • The “Square Peg, Round Hole” GREP style trick;
  • Using the Chartwell Bars font to move a graphic on X-Y coordinates; and
  • Swapping paragraphs during a Data Merge.

More content will follow soon, so don’t forget to like and subscribe, and stay tuned!

Data Merge from InDesign to unique filenames – now a reality

Ever since I published the article “Breaking up is hard to do… InDesign files into individual PDFs that is!” on Colecandoo, it has been one of the most searched for and popular stories on this site.

I have also written two articles for InDesignSecrets particularly relating to Data Merge and unique filenames: Data Merging Individual Records to Separate PDFs and Data Merging Individual Records to Separate PDFs Part 2: via Scripting. While these methods work, I felt that there had to be a better way to accomplish the task.

Since returning from PEPCON 2015, I have been busy creating a javascript solution to the problem. The script is now at a stage where I am pleased with the results and would like to begin beta testing the script.

nothingselectedThe script is a user interface that is designed to work when ready to merge the records. The script:

  • Merges to uniquely named PDF or InDesign files;
  • Uses information from csv or txt in the Data Merge to create the filenames;
  • Creates web-safe filenames;
  • Provides warnings about duplicate filenames, missing images or overset text;
  • Can merge one record, a range, or all records in the database

Here are some more screenshots of the script:

resultsbadduplicatefinishedIf you are interested in trying the beta of this script, it can be downloaded from the Downloads or Scripts pages, or from the Adobe Exchange.

Script: export an InDesign file to split PDF ranges

For the last month, I’ve been feverishly working away on some Data Merge javascripts that will ultimately answer the question that is commonly asked on the Adobe Forums – is there any way to Data Merge to uniquely named PDFs directly from InDesign? I can tell you now that the answer is yes… but developing a one-size fits all solution that will keep everybody happy is another matter!

Even though these scripts aren’t being released just yet, the research did yield some information that could be applied in another script that is as equally sought-after – the ability to export an InDesign file directly to split PDFs. There are many that can export directly to single pages, but not many (if any at all) that can export a PDF from InDesign directly to PDFs that allow the user to choose how many pages long each PDF should be. Well now there is!

exportscreengrabIt’s simple to use. Open the InDesign file, run the script and the following dialog will appear. Just choose where you want the PDFs, what preset to use and how many pages each PDF should be, and click OK!

Better still, it’s FREE!

Download the script from this link.

Any feedback concering this script is greatly appreciated. If you would like to more information about the Data Merge scripts that are in development, contact me on twitter: #colecandoo.

Updated: Empty Frame Remover 1.1

fixsplash

Released in Christmas 2013, this handy script aimed at being the solution to ridding a document of any empty frames that weren’t required, whether they were empty text frames from stories that had been cut and pasted into InDesign, or empty graphic frames that were no longer required.

Since then, it has come to my attention that the script had two bugs: There was a minor bug that would show an error if there were no text boxes in the active document, and a major bug that would remove frames that despite having no fill/stroke etc, did contain a frame/frames within it (i.e. frames had been placed into another frame using the “paste into” command).

These bugs have now been removed and the latest version of the script can be downloaded from the downloads page. In case it isn’t clear, don’t use the old script anymore – use the latest version!

Please note that the script is still in Beta version and that it is used at one’s own risk.

Feedback on the script would be appreciated. Full details on how the script was created along with contributors details can be found here.

Giving Scripts Descriptions with Tooltips

Adobe InDesign ships with a limited set of scripts within the scripts panel. While these scripts are appropriately named, they do not contain tooltips that elaborate on how the script works or what each script does.

For users of InDesign who rarely – if ever – open the scripts panel, this is not really an issue. But for users who have embraced the power of scripting within InDesign and have acquired or created scripts, the scripts palette can become quite unwieldy. Left unchecked, the scripts panel can get to the point where it is unknown what many scripts do, how they work (i.e. if they had a user interface or were designed to be implemented in specific workflows) or if they still work since they were added to the scripts folder.

It is possible to organise the scripts folder into categories using Windows Explorer or Mac Finder. Even so, there are still hundreds of scripts, and the file naming of the scripts often leaves very little to the imagination.

Scripts can have tooltips

Seasoned scripters will be aware of this, but for InDesign users who have used scripts but cannot write them, this practical tip may be of some use.

It is possible to have better descriptions in the form of tooltips – some script authors have the foresight to add such a tooltip to a script so that when one hovers over the script name in the scripts palette, a good description of the script was given instead of relying on the filename. Such an example is IDentify, from InDesign javascript expert, Jongware.

desc1

Luckily, it is possible to add tooltips to scripts that do not have them. To demonstrate, a description will be added to the empty text frame script. To do this, Right click (or control click) on the script while in the scripts panel of InDesign and choose “Reveal in Finder” (or Explorer on Windows). Once the folder window is presented, open the text editor (NOT a word processor but a plain text editor) of choice.

desc2

The following script needs a description added to it. To do this, add a line at the start of the script that looks like this:

//DESCRIPTION:type the description of what the script does here

(since it is known what the script does, a better description will be written)

desc3

Save the file and return to InDesign. Return to the script panel and hover the cursor over the script that was just edited.

desc4

And there it is – a better description for the script, in case the script isn’t used for a while and its purpose becomes forgotten.

A Christmas Treat: Empty Frame Remover v1.0

splash

UPDATE 2015-01-21: The script has been updated to version 1.1 for downloading after a major bug was found in the script. The major bug was that frames that have been pasted into frames (that contain no fill, stroke, text wrap, text on paths) may be inadvertently deleted. If you have downloaded the script prior to this date, please replace the script with the latest link, and stay posted to this page for any further updates.

Wishing to revive an older post “Cleaning up the Scraps”, many hours of research have been invested to prepare scripts that will remove unused or unwanted items from an InDesign file. As previously posted, scripts already exist to fix some issues such as removing unused swatches or paragraph styles. Recent research has shown though that some scripts previously identified as working did in fact have issues when used in conjunction with master pages that were based on other master pages, namely removing unused master pages and removing unused layers. Ultimately, one “clean-up” script would be nice, but that is still very much a work in progress.

In an effort to get the ball rolling, it was decided to start with what should be a simple script – remove boxes that have no fill or stroke. Well, it wasn’t exactly simple… in fact it was an ordeal, and potentially an ongoing one – the full extent of effort, particularly of those who volunteer their time and effort on the Adobe Forums can be found here. Right now, the script is at a level where Beta testing can begin.

So far, this script removes only frames that:

  • contain no images, AND
  • have no fill, AND
  • have no stroke, AND
  • have no text wrap, AND
  • are any closed shape, AND
  • are not part of a group, AND
  • are empty text, graphic or unassigned frames, AND
  • have no type on a path around it

The script also works on anchored/inline objects, and leaves threaded text untouched.

As mentioned before, the script is a Beta version and should be used only at one’s own risk. This free script (now version 1.1 as of 2015-01-21) can be downloaded here. For those unfamiliar with installing javascripts in Adobe InDesign, see this site for instructions.

This script would not be possible without the time, effort, support, guidance and assistance from all those who volunteer their time on the Adobe Forums website. The full list of participants and how the script was assembled can be found on this Adobe Forum page.

Any concerns, comments, feedback or bug reports are more than welcome.


%d bloggers like this: