Page Size Lies

UPDATE 2021-10-08: Enfocus Pitstop has released an update that now resolves the error that was brought about by the update of Adobe Acrobat DC. However, I will leave the article posted for posterity.

Have you ever received a client’s InDesign file and sent it to PDF or print, only to measure the document and realise it is a different size to the one that was in InDesign’s document setup?

What could cause this issue to arise?

The page tool has been used

It is likely that at some stage between the initial creation of the file and receiving the file, at least one page size in the document has been changed using the page tool.

Preflight should tell me… right?

Well, that depends. If you are using either of InDesign’s default preflights (i.e. [Basic] or Digital Publishing) then preflight will not flag a warning.

I’ve discussed my frustrations with InDesign’s default preflights in Episode 19 over on the Colecandoo Youtube channel. However, if you are using a more comprehensive preflight such as the VIGC profiles, then this is detected as an issue:

More comprehensive preflights such as the VIGC profiles look for much more than InDesign’s default preflights e.g.:

As a side-note, the Document portion of the Preflight Profiles dialog box is also handy for authors who are making saddle stapled publications that must have page-counts in multiples of four (an issue I’ve faced several times) e.g.:

Or for larger offset publications where folded page signatures are likely to be prepared in minimum multiples of eight e.g.:

There are also scripts to highlight this

I’m working on a startup script that – upon export or print – should provide an alert dialog box warning that there are size discrepancies… but in the meantime there are some other scripts that work by providing alerts to a document’s page sizes, or a script hosted over on Kasyan Servetsky’s curated list that makes a list of the page sizes in a document (look for “Check all pages” once the link loads).

What I think would ultimately help everyone would be if the Document Setup window would change once page sizes in a document were no longer the same, such as this mockup e.g.:

Shortcut to rotate in fractions

A colleague of mine recently had a task of inserting lineart scans into an InDesign file and then rotating the images so that they were straight on the page.

During this process, he’d asked:

What’s the shortcut for rotating an image by a fraction of a degree?

While I can remember many of the shortcuts used in InDesign, I couldn’t remember a shortcut for this item, and after consulting my InDesignSecrets shortcut poster I realised that there isn’t one. There is a shortcut to increase the angle from 1 degree to 5, but not smaller increments… which I thought was something that people would have asked for by now.

For the task he was doing, he definitely needed one, otherwise the workflow was:

  1. Select the item to rotate;
  2. Go to the rotate tool;
  3. Type the fraction and click OK
  4. Check the result and if further adjustment was required, click back into the rotate tool and type a new fraction and try again until acceptable.

A shortcut would definitely make this easier.

Tomaxxi to the rescue

Luckily, one was easy to find online. Scripter Marijan Tompa (whom some may know by the name Tomaxxi) wrote an article on how to write such a script.

In my colleague’s case, the script only needed to be adjusted by changing the angle from 45 in Marijan’s example to 0.1 like so:

var myTrans = app.transformationMatrices.add({counterclockwiseRotationAngle:0.1});
var myObj = app.selection[0];
myObj.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.CENTER_ANCHOR, myTrans);

The script was saved as rotateAnticlockwise.jsx and added to the scripts. A second copy was made but this time adjusted from counterclockwise to clockwise like so:

var myTrans = app.transformationMatrices.add({counterRotationAngle:0.1});
var myObj = app.selection[0];
myObj.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.CENTER_ANCHOR, myTrans);<code>

This too was saved as rotateClockwise.jsx. and added to the scripts.

From here, my colleague could then go to the scripts palette and run the scripts as required.

Similarly, my colleague could make sure that scripts was checked from the quick apply menu.

And from here, go to quick apply by pressing Command + Return and typing the first few letters of the script. This choice would stay in the quick apply so need only be done once.

But the title of the article was a shortcut, so shortcuts had to be applied. That is easily done though by going to the Edit Menu and selecting Keyboard Shortcuts.

In the next dialog box, choose Scripts from the Product Area, navigate to the appropriate script, then place the cursor in the New Shortcut text field in the bottom right and press the keys to become the new shortcut. If the type beneath says [unassigned] it means it won’t interfere with other shortcuts, so click Assign. Do the same for both scripts, choosing different shortcuts for both.

Done. My colleague now had his shortcuts and could rotate the images without having to keep moving his cursor to the rotate panel and manually key in entries.

Given the scripts now had their own shortcuts, these were also visible in the scripts panel, just in case my colleague forgot what the shortcuts were.

But importantly because shortcuts were assigned, they could also be hot-keyed to his ergonomic mouse. Similarly, the commands could be hot-keyed to other inputs such as those discussed in a previous article.

On that note, I thought a shortcut like this would exist, given the amount of other shortcuts that allow for nudging/moving in smaller units. What are your thoughts? Let me know in the comments whether this is a specific use-case, or something to be pursued over at the InDesign suggestions.

Export many PDFs at once… plus security

A recent question on Reddit’s InDesign subreddit was whether two PDFs could be exported at the same time from the same document, but have two different properties – one with trims and one without. The answer is yes, but via a custom script written for the task.

I use such a script on a daily basis so that I can prepare a PDF for client proofing via email; and a separate PDF that has trim and crops that is sent directly to a hot-folder that prints it for me.

I’d submitted my script as a solution (that can be downloaded from the scripts page), but then realised that this concept was not a new idea. Ariel Walden over at ID-Extras had already written a similar script within a blog post of his own.

Similarly, Peter Kahrel’s Batch Convert script can perform the same task, with the added advantage that it can also do this for all open InDesign documents;

Or if no documents are open, a specified folder (and subfolders if desired) of InDesign files.

Can’t make these secure

One feature that all three scripts have in common is that the exports are based on the PDF presets available on the user’s machine. One feature that can’t be added to a PDF preset is security – this can only be done when a request to export the document is made, as security settings aren’t saved into PDF presets.

This is a problem if there are lots of documents that need to be exported with security settings as it requires the user to enter the security details each time a PDF is exported.

I’ve made an additional script

For this purpose, I thought I would make a script that not only makes several PDFs, but can also add password security to one version. The script can be downloaded from the scripts page.

When the script is run, it will generate two PDFs using different PDF export settings, but one will have the suffix “_secure” added to the filename, and a dialog box will appear once the export is finished:

Adjustability

The script can also be adjusted by opening the script in any text editing application and making the necessary changes, such as.

Use the same password for every document

Look for the line

    openDocumentPassword = myPassOpen; // requires a password to open the document

and change the myPassOpen to the desired password in quotations. For example:

    openDocumentPassword = "OpenSesame"; // requires a password to open the document

Similarly, do the same thing for the line underneath, making sure that the open password and edit password are not the same.

    changeSecurityPassword = myPassWrite; // requires a password to change the document

change to

    changeSecurityPassword = "EditSesame"; // requires a password to change the document

then search for the lines

dialog.show();
//alert("Done");

and swap the forward slashes in the lines around so that the lines now read like this.

//dialog.show();
alert("Done");

Only require a password to edit the document

Look for the following line:

    openDocumentPassword = myPassOpen; // requires a password to open the document

and add two forward slashes to the start of the line.

//    openDocumentPassword = myPassOpen; // requires a password to open the document

Adding two forward slashes to a line in a javascript tells the script to ignore the rest of the line and go to the next line of code.

Don’t show the “done” message

The default script has a dialog at the end for showing what the opening and editing passwords are, but if you want to edit the script so it makes a PDF that applies security to edit the document but does not provide the password (e.g. for the purpose of handing PDFs over to parties who may seek to deconstruct them in other applications) then make the adjustment mentioned a moment ago to restrict passwording to editing only, and then search for the lines

dialog.show();
//alert("Done");

and swap the forward slashes in the lines around so that the lines now read like this.

//dialog.show();
alert("Done");

Add more PDF exports

Look for the line

app.activeDocument.exportFile(ExportFormat.pdfType, File(resultsFolder + "/" + app.activeDocument.name.split(".indd")[0] + ".pdf"), false, "[High Quality Print]");

make a copy of the line and make the appropriate changes:

  • Replace the “[High Quality Print]” to the desired PDF preset exactly as it is written in the PDF export dialog box and put it in quotes. For example, if your PDF preset is called My Export then type “My Export”
  • Replace the “.pdf” with a suffix that denotes that this is an additional PDF. For example, if the pdf is a high res print, perhaps replace this with “_hi-res.pdf” so that the resulting file has _hi-res.pdf at the end of its filename.

Otherwise if you are after specific changes to the script to suit your needs, contact me via the contact page.

Things to know about the script

Opening and editing passwords must be different

One condition of preparing a secure PDF from Adobe InDesign is that the password required to open the PDF must be different to the password to edit the PDF, so if editing the script to replace the randomly generated password to a known one, the opening and editing passwords must be different. If the passwords are the same, the PDF will be made without security.

PDF Standard in the preset must be set to “None”

PDFs that use a PDFX standards can’t have security applied to them as the security panel of the PDF export box is greyed out, preventing security to be applied. The standards dropdown box in the desired PDF preset must be set to None.

Only password security is applied

When exporting a PDF from InDesign, only password security can be applied, unlike Adobe Acrobat’s choices of security that it can offer (as shown below).

While password security may deter or prevent a layperson from editing the PDF, the security can be broken through some effort. Several websites offer services where users can drag and drop a PDF to the site, and within moments the PDF will have the PDF password removed.

Similarly, there are desktop applications that can also be purchased to remove the security (as one of their many features), such as PDFsam Visual.

Applying character styles over character styles

There may be occasions where more than one character style has to be applied to the same words, such as a highlight, italic, etc. I recently saw this request over at the InDesign requests page.

In the request, the requestor does hint at a way that this can already be achieved in InDesign, though it can be time consuming. Let’s start from the beginning and look at some text that has an italic character style applied to it.

But if I apply a separate highlight character style that I’ve also made…

The highlight appears but the italic is removed. Reapplying the italic character style to the word only changes the word back to italic and doesn’t preserve the underline.

One solution is to do a local override – that is to manually apply the appearance but without using a character style

Note the plus that appears to the right of the Paragraph Style 1 – this indicates a local override is present.

That works, but let’s say that the client asks for all italics to now be a tint of the colour initially used. That’s fine if character styles were applied as the italic style needs to be changed once in the properties of the character style. However, all the italics applied using local overrides will need to have their fills reapplied with the new settings.

Yes, the eyedropper tool and find/change can assist, but if character styles were applied, these additional steps would not be necessary.

In this circumstance, making a third style that has both the underline and italic would make sense.

In this case, it adds one more character style – not a big deal, but in a large document, the quantity of character styles can grow fast.

GREP Styles to the rescue

Take this chemical equation in a science textbook. It currently looks like this:

The subscripts in this equation have been applied with a character style that I’ve named sub. However, the author wants the reaction only in bold. If the equation is highlighted and then has a bold character style applied, this happens:

All of the subscript formatting of the numbers are lost.

I can then create a second style called “bold sub” that has bold and subscript properties and base the style on the bold formatting, but I then have to make sure I correctly apply the newly created style to the appropriate numbers… this now introduces a level of human error.

But what if I could apply the bold style and keep the subscripts? It is possible using GREP styles. Using the GREP code from this CreativePro post (look for Laurent Tournier’s post dated Oct 9 2010 in the comments) apply it to the paragraph style.

[editor’s note – I’ve adjusted mine to account for the naming of elements 113-118 as of 2018, so if you want that amended code, contact me via my contact page]

Now apply the paragraph style to the recently bolded text.

Brilliant! Note how the I-beam cursor is between two subscript numbers, yet the character style shows that this is bold only.

This technique can also be applied to other formatting where subscripts or superscripts need to be preserved, such as:

  • Ordinal Numbers
  • Numbers written with scientific notation
  • Squared or cubed measurements

It just requires the right GREP syntax. All of the above examples used GREP styles to format the subscripts and superscripts only. To learn this technique and others, apply to join the Treasures of GREP Facebook page.

Once again to illustrate the point, the author wants these six lines in bold. By highlighting the lines and applying the bold character style, the subscripts and superscripts stay in tact.

Nested styles

Similarly, this can also be achieved with Nested styles. Take the last two lines in the last example prior to applying the bold – if I want the ordinal number at the start of the line to be bold, I don’t have to write a GREP style but I can use a nested style such as the one below.

That will give me this result without applying any manual character styles to the text:

There are catches to this technique

The first catch is that the character styles must have the minimal amount of style changes only. That is the sub character style only changes the position of the character to subscript, so that is the only item that style will apply, while maintaining the rest of the paragraph style’s formatting.

The second catch is to be aware of the style hierarchy. The following list is in order of what style overrules another (from most to least dominant):

  • Local override
  • Local character style
  • Nested style
  • GREP style lowest in list in the paragraph style settings
  • GREP style highest in list in the paragraph style settings

There can be several advantages to layering character styles by using GREP styles:

  • Less character styles.
  • Time saving for commonly formatted items such as ordinal numbers.
  • Consistency based on GREP patterns for words.

Similarly, there can be drawbacks with this technique:

  • Looks for particular words or phrases, so not appropriate for instances where dozens of words or phrases may make more GREP styles than are manageable.
  • Applies to paragraph styles, if used over many paragraph styles, the GREP style needs to be applied repeatedly. Scripts can help with this, such as one I wrote on my scripts page, or GREP Editor from Peter Kahrel.
  • Can’t take a bold style and italic style and combine them – it can only apply additional attributes that weren’t there previously.
  • GREP styles (along with live preflight, page thumbnails, dynamic spellcheck and any other service that has to run while the document is being composed) can slow the processing speed of the machine, particularly on larger documents.

Adding other languages to the Colecandoo scripts

As this site has become more widely known around the world, the issue of localization has been raised. The scripts I’ve written are based on my initial use as an English speaker with the International English version of Adobe InDesign. That’s fine for myself and other anglophones, but there are also times when scripts that are run on different language versions of Adobe InDesign:

  • Have an English user interface or output; or
  • Didn’t work because the script relied on coding that required a code reference based on the English language version of Adobe InDesign.

To this end, I’ve rectified issues concerning non-functioning scripts based on coding issues. However, translating the scripts into other languages is a task that I cannot undertake on my own as I do not speak other languages besides English, and would never solely rely on automatic translation software or services such as Google Translate.

I’m also aware that some of the scripts on this site gain more traction from countries where English is not the first spoken language, such as the following videos:

Though recently, the stars have somewhat aligned. I was approached to update my wall-planner script so that it could contain German and French user interfaces and outputs. With the assistance from the requester, as well as further assistance that has expanded this to Portuguese as well, this script has been updated.

In addition, the script can provide a wall planner in one of fourteen languages:

  • English
  • dansk
  • deutsch
  • español
  • ελληνικά
  • français
  • italiano
  • Nederlands
  • norsk
  • polski
  • português
  • Русский
  • suomi
  • svenska

The updated script can be found on the scripts page. Ultimately, I would like to update this – and other scripts on this site that contain user interfaces or outputs – to feature other languages besides English. If this is of interest to you, please contact me via my contact page.

Data Merge to Single Records Pro: Now Available

Since 2016, Colecandoo has provided the free version of the Data Merge to Single Records script for Adobe InDesign – a script that allows single records to be exported from Data Merge with unique filenames available from the Data Merge database itself. This improves Adobe InDesign’s default – naming each file Untitled-N and is only available for InDesign files, not PDFs.

On that note, the PRO version of this script is now available!

This script improves upon the free original by:

  • Exporting to various additional file formats, such as interactive PDF, EPS, PNG, JPG, direct to print, or PDF via InDesign first;
  • Add a primary key to either the start or the end of a filename;
  • When exporting to certain file formats – the ability to run a user-selected additional script before the export.

The script can be purchased for A$15 from the Buy Now button below.


The original Data Merge to Single Records script offered by Colecandoo remains free and can be downloaded from the scripts page.

Please fix Text Variables so they behave like regular text

Within the type menu of Adobe InDesign is the Text Variables feature. This allows users to insert a special character that will display one of the following items:

  • A chapter number
  • A file-related date such as the creation date, modification date or output date
  • Filename
  • Image Name (aka captions setup)
  • Last Page Number
  • Running Header based on either a used paragraph or character style
  • Custom static text

Unfortunately, there is an unwanted behaviour of the text variables – InDesign treats them as a single character rather than the actual content within the variable. This has a few unwanted consequences:

  • Long variables that would normally break over several lines are squished into one line;
  • They cannot be formatted using GREP or Nested styles, nor can specific words be manually selected for formatting.

It’s an issue that is “in backlog” by the Adobe InDesign team to address, but that was first stated in 2017.

If the issue was resolved, it would have enabled my GREPGraph solution to be applied in the following InDesignSecrets article.

As it turns out, it is also affecting another solution that would make lives easier for anyone who has to create diaries and planners on a regular basis.

The brief:

A planner is created by making a base template and then creating threaded text for the dates that are represented only by numbers. This makes populating a diary from week to week relatively easy…

…until the other material has to be populated, such as what month it is, what term it is, and what week it is. This is best illustrated in the first two minutes of a Youtube video by Rob Cubbon.

Incidentally in Rob’s video, he uses frame breaks between each record, but that isn’t required. Instead, adjust the paragraph style of the numbers by going to the Keep Options and from the Start Paragraph dropdown, select In Next Frame.

The technique:

Instead of populating the text frames simply with numbers, what if the frames were populated with more information that can be called upon by running header text variables, such as the month?

I can make a list in excel that contains the day of the week and the month in one column. This is also done without a space intentionally for reasons that will become evident soon.

I can then copy this text to my InDesign file. However, note that the text overflows and isn’t correct – that is because the flowing numbers need to have a character style that will hide the text that we want to be visible elsewhere. To do this, I’ve created a character style called hidden, and its properties are:

  • .1 point high;
  • 1% wide;
  • No fill or stroke.

That’s fine, but applying that manually to everything but the numbers will be a nuisance, so the paragraph style for the numbers has to be modified using Nested Styles.

The nested style will apply a style of [None] to the digits as they need to be visible, but will intentionally hide the month.

So why I am I intentionally hiding the month? Because I’m only interested in the information it represents, and this can be called upon by a text variable. I will go to the master page and insert a text variable for a running header showing me the first result of hidden on the page.

The issue with the technique

That’s fine until I get to a spread that contains two months. I’d rather both months be present rather than the earlier month. For example, I’d like the headline to read April/May instead of April. I can do this by returning to my master page, apply my blinking text cursor to the text variable that is already there, type a slash and then create a new text variable that is a running header looking for hidden character style in the last instance.

Once I’ve inserted the variable and returned to that spread, that now looks fine, but all others are now affected.

I should be able to make a GREP style that will look for a word, then a backslash, and the same word it initially found. I’ll create a new text frame with some sample text to see if it works. The GREP code I’ll use is this:

Apply style: Hidden

GREP: (.+?)\K\/\1

Looks like its working in my demo, but as I check the document it isn’t… I’ll find a spread where I know the months split.

But that should work. I saw it work on plain text, why isn’t it working on text variables? That’s because GREP styles and Nested Styles don’t work on text variables. If I want this technique to work, I’ll have to use a workaround.

The workarounds:

  • Use a script to convert the text variables to plain text. Marijan Tompa used to have such a product via the Adobe Exchange, but it has since been removed, and it is not mine to give away. Other scripts do exist on the Adobe InDesign forums, but they are not as flexible as Marijan’s original script. It also works only one way, and can’t convert the text back to variables.
  • Don’t attempt to use the GREP style to hide the duplicate month, but instead only add a Running Header for the first instance on a page and add the others manually by overriding the affected master pages;
  • Create the desired date in Excel using a formula.

The issue with the first two solutions is that it prevents the solution from remaining live. The last solution will work but requires in-depth knowledge of Excel and – for many diaries – requires having an Excel file on stand-by for this purpose.

Ultimately, I’d love to see a fix for this issue as it would open up many possibilities. If you feel that this needs attention now rather than later, please cast your vote here.

Referencing pages of a multi-page PDF file during data merge… workaround

At the time of writing, there are three multi-page/artboard file formats that Adobe InDesign can import when placing a file via the File/Place function. These formats are:

  • PDF
  • Adobe Illustrator
  • Adobe InDesign

(While it is possible to create many artboards in Adobe Photoshop, it is not possible to import a specific Photoshop artboard into Adobe InDesign… – at the time of writing that is – but that is another article!)

When placing one of these three formats, it is possible to control several import functions using the show import dialog box, such as:

  • Which page (or pages) to import;
  • How the pages should be cropped;
  • Whether or not to place the pages with a transparent background; and
  • What layers to show and their visibility;

However, when importing these file types as variable images during a data merge, these options are unavailable and replaced with the following:

  • Only the first absolute page of the file is imported (not always the page numbered 1 as the first page can also be – for example – in roman numerals or start at a page other than one); and
  • Page cropping, transparency and layer visibility is determined by the same variables as the last file of that type to be placed into the artwork.

For now, there is no workaround to control the latter issues during a data merge, other than to be familiar with this behaviour and plan the merge accordingly. There is a workaround for importing pages beyond the first page of a PDF file… but not an Illustrator or InDesign file.

Workaround: Split the PDF

The term “workaround” is used loosely in this context. Unfortunately, the solution is to break the PDFs into single page records. This can be done within Acrobat using the split button from the organise pages panel.

This feature also allows multiple files to be split at once.

By default, the resulting files will maintain the same filename with the addition of _Partx prior to the filename, with x representing the absolute page number.

Otherwise, I’ve prepared an action that you can download here that will save the PDFs to the Documents folder of the machine running the action.

(Yes, I’m also aware that there are quite literally hundreds of websites out there that will split multi-page PDFs to single PDFs for free. However, the methods outlined above will do so without involving a third party).

The next part of the workaround involves the data itself, and I’ll be using Microsoft Excel to create formulas to make the numbering for the resulting pages. All variable images being referenced will also be in the same folder as the data file, meaning only the filename is required and not the full path and the filename.

For data where the page number is known

Add a column to the database that references the absolute PDF page number that needs to be imported.

Absolute vs Section numbers abridged:

Absolute numbers refers to a page number based on the total count of pages in the document, while section numbers refers to the page number that was applied using page numbering in the application that made the PDF.

For example, take a PDF that contains 20 pages with the first six pages being in roman numerals, and the remainder being in decimal numbers. These two different styles of numbering are section numbers, while absolute page numbers refer to the total count of pages. To reference page iv of the PDF, the absolute page number to reference is 4. To reference page 5 of the PDF, the absolute page number reference is 11.

In this example, the A column represents the PDF to reference, the B column represents the absolute page number, and C represents the result. To obtain this result, the following formula can be used:

=SUBSTITUTE(A2,".PDF","_Part"&B2&".pdf")

This formula will look at filename reference and substitute the .PDF portion of the filename for _Partx.pdf, where x represents the figure in the B column. Using this formula, only filenames with the PDF extension will be affected, while filenames in other formats will be unaffected.

For data where the page reference needs to increment by one more than the row above

The same formula can be used for the naming, but another formula is used to determine if the page reference should increase if the same base file is being referenced in the row directly above.

In this example, the N column represents the PDF to reference, the O column represents the absolute page number, and P represents the result. A 24 page file NS91912 is being merged and needs to have the page reference incremented by one so that the filenames are NS91912_Part1.pdf to NS91912_Part24.pdf. The following formula can be used to change the page reference:

=IF(N2=N1,O1+1,1)

This formula will look at the filename and determine that if the filename is different to the row above, put the number 1 in the cell, BUT if the filename is the same as the row above, take the page value from the cell above and add 1 to it into this cell.

In a perfect world

Again, this is a workaround – it will only work for PDFs and requires some upfront work to prepare. Ideally, if I had my way and could implement some improvements, I’d like to see:

  • Not just the ability to choose a specific page, but choose the correct trim box and layers as well. For example, a file reference such as myFile.pdf;1,trim;Layer1,Layer2 where 1 represents the absolute page number, trim represents what trim box to use, and Layer1,Layer2 represent the layers I would like to appear (or leave the layer bit blank if all layers should be visible).
  • The ability to perform a similar task for incoming INDD, AI or PSD files.

Document Presets vs New Page Sizes.xml: Adding page sizes

A recent forum post concerning adding page sizes to InDesign’s Document Setup highlighted two different ways to accomplish this task. This article will explain both methods, and the strengths and weaknesses of each method as while they both perform similar tasks, they are not the same and can complement each other.

First method: Saved Presets

Before beginning, it is worth noting that when making a new document in InDesign, users will be presented with one of two different interfaces. In the latest version of Creative Cloud, the default user interface looks like this:

There is also the Legacy interface that long-time InDesign users will be more familiar with:

To choose to use the Legacy user interface, go to the InDesign Preferences (Command+K for Mac, Control+K for Windows) and check the Use Legacy “New Document” Dialog checkbox on. Alternatively if the new default look is preferred, uncheck the dialog box.

Making a saved preset in the default “New Document” dialog

Go to the New Document dialog box (Command+N for Mac, Control+N for Windows) to show the user interface.

Once open, go to the right hand side of the dialog box and enter the measurements, orientation and other desired options.

To save the preset, click on the icon to the right of the Preset Details heading and a new prompt will appear to save the preset.

Once named and saved, the preset can now be accessed in the Saved portion of the user interface.

Be careful in this window as deleting a saved preset will remove it without prompting for a warning.

Making a saved preset in the Legacy dialog

Go to the New Document dialog box (Command+N for Mac, Control+N for Windows) to show the user interface.

Once open, enter the measurements, orientation and other desired options. To save the preset, click on the icon to the right of Document Preset dropdown and a prompt will appear to save the preset.

Once named and saved, the preset can now be accessed Document Preset dropdown of the user interface.

The preset can be deleted by clicking the trashcan in the top right corner of the dialog box, but unlike the default interface, a warning dialog is presented.

Managing saved presets

Regardless of the interface used to make the preset, they are managed by going to the File Menu, Document Presets, then Define. This will present a new dialog box:

From this dialog box, it is possible to save presets so that they can be shared with others as a .dcst file; load preset .dcst files that others have created, as well as make new presets, edit or delete existing presets. Again, a warning will be presented if a preset is to be deleted.

Note though that when making a new preset or editing an existing preset that the Legacy dialog box is used.

Second method: New Page Sizes.xml

This other method calls upon an XML file that InDesign references for custom-made sizes. On a Mac, it can be found here:

/Users/your_own_username/Library/Preferences/Adobe
InDesign/your_version_of_indesign/language_installed/Page Sizes/New Page Sizes.xml

e.g.
/Users/JohnCitizen/Library/Preferences/Adobe InDesign/Version 14.0/en_US/Page Sizes/New Page Sizes.xml

This file can be edited to add custom sizes. By default, the XML file looks like this:

The syntax to create a new page size looks like this:

The <Name> tags refer to the name of the page size that the user will see in the New Document dialogs. The <Width> and <Height> tags refer to the measurements and these measurements are in points. Each page name, width and height are wrapped in their own <PageSize> tag.

For this example, I’ve taken in all A, B, C, D paper sizes as well as some imperial sizes and saved the XML file.

Anyone interesting in having this file can do so by downloading it here.

When I now open the default New Document interface, the new options now appear in the Print portion:

And here is what it looks like in the Legacy user interface:

Distinctions between Document Presets and New Page Sizes.xml

  • The default user interface will allow users to add Document Titles to new documents and also allow users to see page sizes at a glance, as opposed to the Legacy interface where page size measurements are only visible once a preset or page size is selected from the dropdown.
  • Selecting Create Alternate Layout from the Pages panel will show a new dialog box that contains pages added via the New Page Sizes.xml file. These page sizes will be able to be selected from the dropdown, while page sizes made via the saved presets will be unavailable.
  • The New Page Sizes.xml will only add names of page sizes, widths and heights; while adding presets stores more information such as total number of pages, page orientation, page size (including pages that can be accessed from the New Page Sizes.xml), amount of columns, margin dimensions, bleed and slug settings, and whether to have facing pages or primary text frames.

Using character styles for dot leaders

The topic of tabs and leaders has been covered on InDesignSecrets before in a 6-part series but it’s worth sharing this particular tip as it saves me plenty of heartache in my day-to-day role.

Usual technique

The usual practice of creating a dotted line (usually for either leading up to a page number in a table of contents OR preparing a space for users to add information to a handwritten form) is often accomplished by the tabs feature. For example:

This is achieved by making a paragraph style that has a tab stop that has been right-aligned to the end of the text frame, and in the leader text field of the tab dialog box, a period has been entered, and it is this period that repeats to generate the dotted line.

Issues with this technique

However, I find this is quite restrictive in terms of:

My preferred technique

Instead, I prefer to make a character style called “dotted line” giving it the dotted line appearance that I’m after in the underline panel of the character style dialog box.

If more control is required, I can also prepare a stroke style specifying the dot style and frequency that the dots appear.

I can then either apply the character style manually to the areas requiring the dotted lines, or I can make a paragraph style that calls the dotted line character style using a GREP style that looks for tab spaces.

Bonus tip

Note that my GREP style is looking for \t|~y rather than just \t – the ~y represents a right indent tab. For dot leaders that need to go to text at the end of a text-frame, I prefer to use a right indent tab instead of setting a right align tab, because if the text frame changes width and I want the right aligned item to remain right aligned to the text frame, I don’t have to adjust the tab stop of the right align tab.

To insert a right indent tab, press SHIFT+TAB. This will work anywhere in a text frame except within a table where it will highlight the previous cell. To apply a right indent tab inside a table, either insert one via right-clicking to call upon the contextual menu, then navigate to Insert Special Characters, Other, then Right Indent Tab.

Otherwise, it can be called upon by opening the quick-apply menu via COMMAND+RETURN on Mac (or CONTROL+RETURN on Windows) and type either Right Indent Tab (or, if you’re really lazy – nt tab as highlighted in pink in the figure below).

Extract an Image from an image field in an Acrobat Form

In January 2017, Acrobat DC added two new buttons to the prepare form panel in Adobe Acrobat DC: Add Image and Add Date:

eximage01

The Add Image button creates a rectangle that – when clicked in Adobe Acrobat Pro or Reader DC – launches Finder (Mac) or Explorer (Windows) to navigate to an image to be inserted into that field.

To demonstrate this, I have created a business card order form in Adobe InDesign for a Travel Agency.

eximage02

Note that I have not made the image field in Adobe InDesign. There is a good reason for this: it isn’t possible at the time of writing the article as the option doesn’t exist in the buttons and forms panel in Adobe InDesign.

eximage03

While this is frustrating, it can be added in Adobe Acrobat. I’ll leave a link to the indesign uservoice feature request to hopefully have this (and the add date button) added in future (ignore that the Adobe Staff says its fixed at the time of writing – I disagree).

For now, I’ll export this file as an interactive PDF and add the add image button to the artwork.

eximage04

I can then close out of preview and look at the form. This should be fine for testing purposes.

eximage05

For the purposes of prototyping this form, I’ll type some dummy data and use a stock photo from Adobe Stock.

eximage06

Fields all look fine, the text can be extracted by either cutting and pasting into my InDesign card template, or using the export option from the Prepare Form tools. While the image isn’t juxtaposed correctly, I can do that once I extract the image from the PDF… or at least I thought.

The image won’t extract

If I go to the Edit PDF tools of Acrobat, the image (and its field) cannot be selected.

eximage07

The image isn’t shown as an attachment in the attachments tab.

eximage08

If I use the Export all as images from the Export PDF tab, will that work?

eximage09

No, it only exports the images of the beer bottles and the Eiffel Tower shown in the original card.

How about if I use the Edit Object tools, right click on the image and select “edit image”? Unfortunately, this is unavailable too.

eximage10

Using the Enfocus Pitstop Professional Plug-in, can I extract the image this way? No!

eximage11

Yes, I could zoom in and take a screen capture, or render the PDF in Adobe Photoshop, but neither will retrieve the image to the exact resolution the original image was supplied. Looking at this particular image, if I zoom in at 3200%, it is quite a high resolution image.

eximage12

At this point, I turned to the internet for help, only to find the following thread on the Adobe Forums that contained a response from an Adobe Staff Member that read as follows:

eximage13

To me, this is bizarre… the whole purpose of adding an image would be to remove it later for another purpose, especially since the form field doesn’t have any cropping, scaling or rotating options. The whole point of me making this form was so that:

  • the client didn’t need the full version of acrobat to add the image as an attachment to the PDF;
  • the client Didn’t need to send the PDF and the image separately;
  • I could receive one file to prepare the content of the business cards, rather than bits and pieces from various emails or downloads.

However, all is not lost!

There is a way

Create a new InDesign file and place the filled in interactive PDF as an image.

eximage14

Export the file as a print PDF using the [High Quality Print] setting with the following change to the compression panel:

eximage15

Now, when the PDF opens in Adobe Acrobat Professional DC, I’m able to use the Print Production Tools to click on the image and then select Edit Image.

eximage16

Once the image opens into Photoshop, I can see it is the same size as the original.

eximage17

So yes, it is possible to extract an image from the Image Field of a PDF, but it takes a little work. I’m just frustrated why the Acrobat Team made it difficult “by design”.

Lastly, if anyone from the Acrobat Team is reading this going “he’s having a go at us again”, rest assured, I will be praising the team in an upcoming post.

Housekeeping Scripts

You finally have an approval on that print project you’ve been working on for the last few months. All that’s left to do is make a PDF for the printer and be done with it, right?

Nope. It’s time to do some housekeeping on the file. Let me use this metaphor, once you’ve made dinner, you don’t leave your dirty pots and pans in the sink, do you?

It’s time to do some housekeeping, and in this episode of “must haves” on the Colecandoo Youtube channel, we’ll look at several scripts to keep your files nice and tidy.

Disclaimer

One word of caution with any of the scripts shown in the video. They are all destructive in nature. That is, they intentionally remove items from a document. Make sure you save your work prior to running these scripts, just in case they have a catastrophic impact on your artwork. I’m showing these scripts for educational purposes only, this is not a tutorial on how to use these scripts.

Images and Frames

Cleanup Pasteboard

The first script removes items from the pasteboard. Run the script and select the distance from the trim edge and importantly whether threaded text on the pasteboard should be removed.

I can hear some of you now saying “but what if I’ve left important notes on the pasteboard for the next person who works on the artwork”? Well, either don’t use this script, or put your notes on after you’ve run this script.

Empty Frame Remover

This script removes any purely empty frames, that is no fill or stroke that have no special settings applied such as text wrap or text on a path. Once run, it scans the document and removes all of these empty frames.

Trista DPI

The next script resamples all images over a given resolution to a more appropriate resolution. It’s great for projects such as yearbooks where the resolution of images is often far greater than it needs to be.

Now, I was in two minds to whether I show this script or not. Out of the scripts being shown in this video, this is both the most powerful and potentially most destructive of them. Ultimately, read the instructions before using this script, and make sure you have access to backups in case things go wrong.

Colour

Next, let’s address some colour issues that may have come about from selecting registration by mistake, or left-over swatches from a Microsoft Word import.

Unlike many scripts I’ve shown previously, most of these scripts are buried in forum posts, so it’s a matter of reading the post, finding the script, copying and pasting into a text editor and saving as a .jsx file.

It’s worth noting that all of these scripts only affect colours generated within InDesign, so won’t fix colour issues in links such as PDFs or photoshop files.

Add unnamed colours

Let’s start off with this easy one-line script that adds all unnamed colours to the swatches palette. True, it’s just as easy to select this from the swatches menu. Regardless how it’s run, this should be the first step to cleaning up the swatches. You can cut and paste it from below:

app.menuActions.item("$ID/Add All Unnamed Colors").invoke();

Reduce Colors

This script launches a prompt that allows you to search for colours that are a given percentage different from each other and merge them to the swatch that appears higher in the swatches panel.

If you’re using a special knockout black swatch and don’t want it to become the default black, perhaps make it a spot colour while running these scripts.

I explain the differences between these colours in more depth in Episode 14.

Registration Fix

This script converts all registration colour applied by InDesign to its respective tint of Black.

RGB/LAB GREY swatches to Shades of Black

I’ve written a script that converts RGB and LAB values that appear as shades of grey to equivalent shades of Black, while leaving other swatches alone to be dealt with by another script.

RGB/LAB swatches to CMYK

There’s another RGB/LAB converter, though this script converts all RGB/LAB swatches to CMYK values.

Faux Black fixers

There are two scripts that can take faux black values and convert them either to 100% black or rich black. The faux black is determined by CMYK values beyond certain percentages. In this case, any swatch that is over 70 Cyan, 60 Magenta, 60 Yellow and 90 Black will be converted to either 100% black or rich black. You can dig into the script if you like, and redefine what constitutes a rich black or faux black.

Remove unused swatches

This will remove any swatches not used in the artwork.

Styles, Master Pages and Layers

Let’s make sure that we only have the necessary styles, master pages and layers that are required for the artwork.

Remove unused masters

This script removes any master pages that have not been used in the artwork.

Remove unused layers

Next is this script that removes any layers that contain no artwork.

Remove unused styles and groups

This is a series of scripts that removes any styles not used in the artwork, as well as unnecessary style groups that may have been left, whether deep in folders or not. In the video it is combined into one “catch-all” script for convenience, but it is the work of many authors, so it’s not right for me to host it. Links to the originals can be found here, here, here, here and here.

Delete guides

Lastly, this script removes all guidelines in a document. I can see that there would be some use for guidelines to remain in a document, but felt it was worth demonstrating.

Preflight

To be sure that the artwork is completely free of issues, we want to make sure that there are no prepress issues. To make sure that the artist complied with the preflight that was associated with the document, there’s the preflight enforcer.

As shown on the Colecandoo Youtube channel before, I’ve prepared two scripts that will either warn or prevent a user from printing or exporting to PDF until all preflight issues are resolved.

So there you have it, over ten scripts that will help make housekeeping of InDesign files a lot easier. If there’s any that I’ve missed or you feel would be worthy of a future video, let me know via my contact page.

%d bloggers like this: