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.

When PDFs were edited, not commented

My preferred of proofing artwork to clients is to provide a PDF proof of the artwork from my Adobe InDesign file, along with specific instructions to open the PDF in Adobe Acrobat Reader, and use PDF mark-ups using Adobe Acrobat Reader’s comment feature.

In a perfect world, the markups would be returned from the client looking something like this:

This will allow me to take advantage of InDesign’s “Import PDF Comments” feature:

Or similarly via the Annotations plug-in from DTPTools:

Each method has its own strengths and weaknesses, but the goal is the same – to take the markups from a PDF file directly into InDesign to accept or reject alterations.

Unfortunately, we don’t live in a perfect world, and proofs can come back in a variety of ways:

  • Provided as a series of instructions, usually as bullet points in an email or given over the telephone;
  • Printed out by the client and marked up with a pen. This can be made worse if a red pen isn’t used; the client’s alterations are illegible or uses their own shorthand rather than proofreaders’ marks; or if the hard-copy alts are made into poor-quality digital images by scanning or photographing (or worse, faxing).
  • Submitted to an upload service that allows markups to be made on its platform; but not extracted and able to be imported into InDesign via Import PDF Comments or annotations (e.g. Box and Dropbox)
  • Markups are made, but using software other than Acrobat (e.g. Mac Preview) that have difficulty importing into InDesign’s solution or the plug-in;
  • Markups are made, but using markup tools that allow for subjective opinion (e.g. speech bubbles, arrows, drawing tools) rather than replacement, strikethrough or text addition. Speech bubbles have their place in alterations, but usually to indicate that a larger content change is required, rather than for small type replacements.
  • Markups that are duplicated and effectively “clog” the commenting panel (i.e. using more commenting than is required to take in an alteration such as the example below).
  • Rather than using markups, the client has actually edited the PDF with a PDF editor of some description and made the changes to the PDF itself (as shown below)

Most of these bullet points are a way of life with round-tripping of proofs, but the last point is the most frustrating when taking in alterations as:

  • InDesign or the plug-in literally have no markup instructions to take in, so no alterations appear in their respective alteration panels;
  • It can give the artist a false sense that no alterations were made as no markups are present;
  • If alterations are subtle, it can be difficult to tell where the alterations were made.

I’d like to say this outcome rarely happens, but the reality is that this happens far too often. My first impulse is to contact the client and inform them that the alterations aren’t usable and to use the Comment feature rather than the Edit feature, but that has the following drawbacks:

  • It is likely to frustrate and annoy the client, especially if many alterations were made. This is moreso the case if the client has followed the printer’s instructions to mark up a PDF but has mistakenly misunderstood the difference between the Edit and Comment feature of Acrobat.
  • Even if the client complies, it introduces errors such as alterations missed that were on the previously sent proof. It also takes time to prepare the alterations again, time that may not be available.

To use a card player’s metaphor, we have to play the hand that we are dealt and somehow compare the two files to determine what changes were made. I will also communicate to the client our preferred method of proofing to avoid similar incidents in the future.

But what ways can the two files be compared to take in the alterations?

Visual comparison

This can be done on-screen by either having both applications open between two monitors or one monitor with the windows split. It can also be done in an analog fashion by printing out the original and the latest alterations, then using a light table, overlaying each altered page over each original page and looking for differences. Unfortunately, both methods are time-consuming and subjective.

Visually overlay the PDF into the InDesign file

This involves placing the PDF of the alterations into the InDesign file, but on a layer above the artwork and with a transparency so that an overlay comparison can be made. To do this:

  1. Use the multipageimporter script with the following options to place all PDF pages into the InDesign pages on their own layer above the artwork.
  • Make a new object style with 25% normal opacity as its only property.
  • Use the following script by “Vinny” that will apply the object style to the imported PDF only. (This script works for documents less than 100 pages, but upon testing will throw a javascript error).

With overprint preview turned on, it will now become possible to see alterations that may have been made, and toggling the PDF layer on and off will assist in this process.

However this is still a manual, time-consuming and subjective task.

Kasyan’s comparison script

This is a script created by Kasyan Servetsky based on an article by Mike Rankin at CreativePro.

The technique in the article is used to compare two InDesign files by placing original and altered InDesign files into a temporary document applying different transparency settings to each file, and through the transparency settings being able to identify where alterations were made. This can still be applied in this use-case but an added step of an additional InDesign file that contains a placed PDF of the altered file and comparing between the two files.

Like the previous methods, it is still a time-consuming, manual and subjective task.

Dedicated file comparison software

Software such as Global Vision offers comparison software that loads both the original and altered files and performs a comparison that highlights the differences between the two files. It is worth looking at a video of the software in action.

It isn’t the only software that compares PDFs, and a brief search of the internet will yield several online services that perform similar tasks, such as:

  • Diffchecker
  • PDF Forge’s compare tool
  • Kiwi PDF comparer

That said, naming the sites above is not an endorsement, so if looking for an online option, make sure to perform all appropriate due-diligence before considering any provider.

Compare files in Acrobat itself

Acrobat does have a similar feature from the view menu where both original and altered files are compared between each other.

The results are highlighted, but the report and specific errors are not always as obvious as the results prepared with Global Vision’s software.

Using Acrobat’s compare files data as the PDF markup

There is a technique that can take the comparisons from Acrobat’s Compare files feature and treat them as markups. The technique is as follows:

  1. After the comparison is run, hit the close button on the top right.
  2. Navigate to the first page that has the compare results title page and delete it using Command+Shift+D.
  3. Save the resulting file.

The resulting PDF can then be imported using the Import PDF Comments feature from InDesign

Or by using the Annotations plug-in by DTPTools

Note that the plug-in displays the three changes that were highlighted in the comparison document, but InDesign’s Comment Import only displays two, while acknowledging that there is a third somewhere on the page.

Consider other round-tripping solutions within InDesign

There are several third party solutions available from the Adobe Exchange that allow round-tripping via InDesign such as:

  • GoProof;
  • inMotion;
  • PageProof;
  • ProofMe

The advantage for clients is that rather than opening the proof in Acrobat, clients are directed to a website where alterations can be made. This avoids clients inadvertently editing the PDF and instead allows them to provide changes that will need to be made by the artist.

Having tried some of these proofing systems, one thing in common was that alterations that clients could make was only in the form of comments, rather than strikethroughs or additions that are possible with the PDF commenting tools. These services usually require a log-in system which can be a hurdle, and are usually paid services.

InDesign’s Share for Review

InDesign 2020 and above does contain a feature called Share for Review that works in a similar way to these third party solutions, though the 2021 release allows for text highlighting, strikethrough and additions as well.

Another advantage is that clients no longer require Adobe Acrobat or a PDF reader to open the proofs, only a web browser. Check out Daniel’s video over at Bring Your Own Laptop to see this in more detail, along with other 2021 update features.

It is worth pointing out that this is not Adobe’s first attempt at a proofing solution, with an earlier system called CS Review introduced in May 2010 and then deprecated in April 2012. It is also worth pointing out that Share for Review is a feature offered in InDesign that – at the time of writing – has no comparison from competitors such as Quark Xpress or Affinity Publisher.

So far as my own work goes, this proofing method was not considered when Share for Review was released in June 2020 as the markups were limited to pin and drawing tools. Additionally, the release of the expanded tools happened during a peak-time in our production, and was too difficult to switch clients over from the PDF round-tripping method to this method in such a short space of time. It was also too early to gather other user input about the experience and bugs, so more feedback was required before considering this as a real-world solution.

Now at the time of writing with the expanded tools, I will begin trialling this method and report my findings once I’m confident there is enough to report.

Last word on this article

Up to this point in time, PDF commenting has worked effectively as a round-tripping solution from my perspective in the majority of my work, though it isn’t without its issues such as:

  • Establishing the process with clients, especially with staff turnover as the process needs to be established and explained to ensure that a client will not only mark up a PDF (rather than make changes to the PDF itself), but that the markups are prepared correctly and efficiently;
  • Proofing large file sizes;
  • Proofing to clients who are at the mercy of their IT department’s rules as to what software or websites they can or cannot access;
  • The Adobe Acrobat software itself, considering in a previous version the Acrobat team removed features that most casual users of the software would consider essential (much to my frustration until customer demand made them reinstate it) and how the software will be supported in future releases and for future operating systems.

What have your experiences with PDF comments been? Do you use a similar round-tripping method or something different? And are there any technologies in this space that haven’t been mentioned? Leave your comments below.

Planning your Wall Planner in advance

Between September and December, most of my working days are devoted to preparing school diaries and planners. One pain-point that I encounter with some diaries is the addition of a year-to-two pages planner. The planners usually look like this:

Apart from the events for each day that are on a layer above and updated each year, the base planner itself has two major wholesale changes:

  • The initials for the days of the week; and
  • The shading for weekends.

The initials are usually 365 threaded text frames that sits above a table containing the weekend shading. The text frames contain the initials of the days of the week, corresponding to the month and day they relate to, so changing the initials is easy. However, shading the cells containing Saturdays and Sundays on the table below takes time. Even if cell styles were used, they still have to be removed from the previous year’s appearance and applied to the appropriate year’s cells – subject to operator error.

Ideally, I was after a solution that would:

  • Easily update all planner base dates in one go
  • Shade all of the weekends without having to do this manually
  • Adjust automatically for leap years
  • Reduce any mis-dating via operator error

Didn’t I already write a script for this?

In 2018, I’d prepared a script to assist in the creation of wall planners that would allow for four types of layout configuration; and in 2020 was further improved to allow an output in one of 14 languages.

That said, this article isn’t meant to be a shameless plug of this script. The script is a great solution for creating new yearly planners. However, this solution requires updating existing planners. An additional solution had to be created.

The simple solution first

As I mentioned earlier, linked text frames that contain the appropriate days of the week initials. However, rather than use one paragraph style for these initials, each day of the week was given its own paragraph style e.g. Monday, Tuesday, etc.

The paragraph styles are based upon a base style that defines its basic appearance, with flourishes added to Saturday and Sunday in the form of paragraph shading. Each paragraph starts in its own text frame, and each paragraph style also refers to a next style feature to go to the next day’s style.

The days of the week are easy enough to prepare. The first way is quick but allows for operator error, and that is to type the 7 initials and their respective line breaks; and copying them 52 times, starting January 1st on the appropriate day.

The second (and more accurate way) is to make a new Excel file, type the start date in cell A1 and then with the cell selected, go to Fill, Series, and fill out the dialog box as shown

Once done, go to cell B1 and type: =CHOOSE(WEEKDAY(A1), “S”, “M”, “T”, “W”, “T”, “F”, “S”) and press return.

In the resulting cell, double-click the green square on the bottom right corner of cell B1 to automatically fill the remaining entries in the column.

From here, select column B, copy and paste it into the threaded text frames in InDesign.

Note – if it came in as a table, make sure to briefly change InDesign’s clipboard handling preferences to handle text and tables from other applications as text only.

Last thing to do is apply the paragraph styles. Take note of what day’s initial appears on January 1 (Friday in this case) and with the text cursor still visible in the text frame, select all type (Command A). From the paragraph styles panel, right click on the Friday paragraph style and choose Apply “Friday” then Next Style.

But this solution only fills two of the four criteria:

  • Easily update a planner dates in one go
  • Shade all of the weekends without having to do this manually
  • Adjust automatically for leap years
  • Reduce any mis-dating via operator error

This solution does not take February 29 in leap years into account. In these instances, an extra text frame needs to be threaded to take in February 29, so is not completely automatic.

The over-engineered solution

I did prepare a solution outside of work hours that would meet all four criteria; but the setup of the file took more time than simply adjusting the previous planner. It would also be difficult for other operators unfamiliar with my techniques to carry out the alterations unless they were trained beforehand. Ultimately, the solution wasn’t practical for my day-to-day work and was never implemented, but it is worth looking at the solution as it uses a variety of InDesign’s features such as:

  • GREP styles
  • Table and Cell styles
  • Rule above within Paragraph styles
  • Linking to an Excel file

Both the InDesign file and Excel file can be downloaded here.

First thing is to create an XLS file that contains the yearly information that changes and link it in InDesign. Linking to an excel file can be done via InDesign’s preferences.

Linking to an XLS file can be fiddly and I’ve found the best way to maintain appearances of linked tables that are updated is to make sure that table and cell styles are applied to the table that will contain the incoming XLS data.

A glimpse at the XLS file shows that it contains the initials of the appropriate days of the week. Note that the initial letter is represented by two letters rather than one (which will be explained shortly). The year is off to the right-hand side for ease of updating the planner by just adjusting the year.

An even closer look at the XLS file shows hidden columns. If we unhide these columns, the workings behind the technique are revealed. To compensate for leap years, the calculation for February 29 has an if-else statement that says if a date appears here, add the appropriate weekday initial, but if there is nothing, leave it blank.

Back in the InDesign file, all cells contain a paragraph style that have a GREP style instruction that makes the first letter minuscule in size and width.

Why two letters for the days of the week and not one?

It is to do with how the shading of the cell is automated. The first letter is used to identify a weekend with the initial S and that letter is colorised with an appropriate color for the weekend. If the letter was a weekday, the first letter is set to none. To control the background color of the cell, the rule above feature of the paragraph style is used as it allows the [Text Color] option to be selected, and this color is the first character that the paragraph style encounters. The rule above is then made thick enough to fill the cell, and then the offsets are applied to fill the remaining parts of the cell.

Why not use the paragraph shading feature? Unfortunately, this feature does not have access to the [Text Color] option from the color dropdown.

Updating the data can present a trap, as instead of simply changing the date in excel and updating the file, the art needs to be relinked and then selected with the show import options dialog to only bring in specific cells, as the date at the far right isn’t required. In this instance, it is changing the cell range from A1:AA32 toA1:Y32 as shown:

So this will make the base for the planner, and all the further information into the particular dates is done on a layer above using a table with the same cell dimensions.

As mentioned, this is an over-engineered solution that wasn’t implemented, but its use of combining linked Excel files, GREP styles and Cell styles may have application for other purposes.

%d bloggers like this: