Xmarks Top Site in Adobe Scripting


Archive for the ‘FrameReporter’ Category

FrameReporter 1.0.7 Available

Friday, December 4th, 2009

FrameReporter uses little non-printing labels to display interesting info about selected page items, right in your work area.  Normally InDesign makes you click around and find various palettes to dig up the info – which disrupts your train of thought.

With FrameReporter, the relevant info is displayed exactly in the area where you are working, and you can immediately see the necessary info for multiple items in the blink of an eye.

For example: FrameReporter will show overset text warnings on the edge of any text frame that is part of a linked set of frames.

This latest version adds a ‘character count’ feature, and fixes a potential crash of InDesign for users of CS and CS2.

Check it out – click here for more info:

http://www.rorohiko.com/framereporter

Get A Free License For FrameReporter With InDesign Magazine

Thursday, November 19th, 2009

CliffNotes_Frame-Reporter2

Click here to take advantage of this irresistible offer (don’t forget – the code to use is FRAME09), and to read more about FrameReporter click here!

InDesign Magazine is the magazine when it comes to learning how to use InDesign efficiently.

Sure, you can roam around the menu items and help files, and post questions on user forums, and with some luck you’ll actually find the feature you need.

But more often than not, you’ll miss an important feature or trick. Nothing beats knowledge and experience when it comes to finding your way around the vastness of InDesign. InDesign Magazine is one of the easiest ways to gain those.

It contains easy-to-read articles written by a host of well-known InDesign gurus – all down-to-earth people who  speak from experience, and who know how to explain things in plain English.

How and why to use Script Labels in InDesign

Tuesday, November 17th, 2009

In this blog post, I want to talk a bit about the secretive Script Label in InDesign.

You might have noticed the Script Label palette, and wondered what it was used for – it’s under Windows – Automation – Script Label.

First I’ll explain what it is all about, and then I’ll dive into some practical scenarios to show you how you can use the Script Label to save lots of time. Most of the info in this blog post is applicable to Mac and Windows versions of InDesign CS, CS2, CS3 or CS4.

1. Big Word of the Day: Meta-Information

In most companies or institutions, ‘Adobe InDesign’ does not live on an island. It’s a cog in a bigger system.

There is a natural ‘flow’ of information throughout the company – orders or requests come in, and somewhere along the line, designers build or modify InDesign documents based on information they receive one way or another – a project brief, a meeting, an e-mail, a telephone call…

Then they pass the result of their work on to the next person or system down the line – as an InDesign file, an InCopy file, a PDF file, a web page, a stack of physical paper,…

In some companies, this flow of information is informal and unstructured.

In other companies (typically larger ones), the flow of information has more or less structure. There are rules and procedures and regulations. You’ll hear about things like ‘order forms’ or ‘job tickets’ or ‘job jackets’ being passed around.

Sometimes there are tangible envelopes or manilla folders with stuff in them, sometimes there is just electronic data being passed around via a central computer system…

In all this hustle and bustle, having a way to keep some tidbits of extra information about an InDesign document inside the document can come in very handy.

This extra info is not meant to be part of the printed end-result. Instead it provides you with critical info about the document: who is the customer? By when is it due? Who should you ring if you have questions? What inks can you use? What is the target resolution? How many pages can you have? And so on…

All such information is sometimes referred to as meta-information – it’s information about how to treat the information in the document.

Having the answers to questions like the ones above readily available ‘inside’ the InDesign document can make a world of difference. No need to ring around in order to figure something out if the info is right there for you to read, inside the document.

There are many ways to do this.

You might have a simple text frame out on the pasteboard with information typed into it. (On a related note – you might want to check out our free HistoryLog plug-in – it uses this idea to provide you with an automatic document history. http://www.rorohiko.com/wordpress/indesign-downloads/history-log/).

You might be using part of the document name to refer to the customer code or hold a deadline date (e.g. so you’d know that a document called RORO12_20091112.indd is related to customer code RORO12 and is due by 12-Nov-2009).

Meta-information is where the Script Label comes in handy: the Script Label is a convenient way to attach a little bit of text, any text, to a page item.

InDesign does not care what text you attach. Whatever you put into the script label won’t normally affect the output of your document – but it’ll keep the text with the page item.

2. Practical Use of the Script Label

Some people use the Script Label to tag page items for automated processing by a script – hence its name ‘Script Label’: it is very often used by script developers.

However, it is not limited to just that. Your imagination is the limit.

I’ve made up a sample scenario here – read it, and that might give you some new ideas. I’ve called this scenario ‘the todo-list-scenario’.

There’s some scripting involved, but you don’t need any scripting knowledge to make use of it – if you can follow instructions, you should be able to make this work.

The problem: imagine I have a spread with heaps of text frames, and all of these page items need to be inspected. Some of them need to be modified depending on what I find.

Suppose all these text frames contain customer comments for the Playamathing toy, and they might or might not contain a reference to a color.

There’s a frame that contains the text “I really love the red Playamathing”. Another says “The yellow Playamathing with the extra knobs is my favourite”, and so on… Imagine there are hundreds of those frames, scattered all over the layout in a fairly haphazard layout.

My task is to read all these bits of text, and change the background of the frames to match the color mentioned, if there is one. If no color is mentioned, I am to leave the background white.

How do I keep track of which ones I’ve inspected and which ones I still need to do? Script Label to the rescue!

2.1 Marking page items with a script label

First of all, I select all text frames. Then I bring up the Script Label palette and type ‘TODO’ in it. Then I click somewhere in the pasteboard area. Through that simple manipulation, I’ve now ‘marked’ all selected text frames with a script label ‘TODO’.

snap1

I now keep the Script Label palette open, and each time I finish one of the text frames, I simply remove the ‘TODO’ from the script label for that text frame.

snap2

2.2 Using Scripts

This approach is still rather cumbersome, and we’ll improve it through a few simple scripts and keyboard shortcuts. Here’s how!

Open a text editor. You could use Notepad on Windows, or TextWrangler (http://www.barebones.com) on Mac.

Don’t use the Apple-provided TextEditor – it will try to save your script in RTF format instead of plain text, and then it won’t work.

Tip: if you’re really in a bind, Stickies (the sticky-note app that comes with Mac OS X) works better than TextEditor when it comes to creating plain text files.

Type the following text into a new text file:

app.selection[0].label = "TODO";

This is a one-line script. There are a few small ‘gotchas’, and I’ll discuss those later, but it’ll do.

Save the one-line text document into a file called mark_todo.jsx

Make sure the file extension is .jsx, not something else. It’s easy to accidentally create a file called mark_todo.jsx.txt (with an extra .txt file name extension). To compound that problem, the Windows Explorer or Mac Finder are often configured to not show the final .txt, and hence such a file might look OK, yet refuse to work. Be aware that what looks like a .jsx file might not be one.

Now, store this mark_todo.jsx file in the InDesign Scripts – Scripts Panels folder. Go to your InDesign application folder, then into Scripts, then into Scripts Panels. Put the mark_todo.jsx file there.

(A method to quickly get to the Scripts Panel folder is to right-click or control-click the Application folder on the Scripts Palette in InDesign and then select Reveal in Finder or Reveal in Explorer).

snap3

Now duplicate mark_todo.jsx file, and rename the duplicated file to unmark_todo.jsx. Then open unmark_todo.jsx in your text editor and eliminate the four letters of TODO, so it reads:

app.selection[0].label = "";

snap3a

Go back to InDesign. On the Scripts Palette in InDesign, when you double-click either mark_todo.jsx or unmark_todo.jsx, they will look at the current selection, then take the very first item in that selection, and adjust the script label of that item to either be TODO or nothing.

These two scripts have some limitations, as you’ll find out. Try this: make sure no page item is selected and then double-click either one of them on the scripts palette.

blog_scriptlabel_errormessage

You get a nice big fat error dialog: the script is trying to access part of ‘the selection’ and nothing is selected, so InDesign is a little bit unhappy about that.

Not to worry! You can safely ignore this – nothing bad has happened. We’ll just live with that behavior for now – simply keep in mind that you must have a single item selected before running either script.

2.3 Using Keyboard Shortcuts

The next step is to assign some keyboard shortcuts to these two scripts. Go to Edit – Keyboard Shortcuts, and create a new set if necessary – I created a set called Todo Script Set. Go into the Product Area Scripts, and then assign shortcuts to the two scripts – on my Mac, I’ve assigned them Ctrl+T and Ctrl+U. On Windows you might want to pick some other shortcuts – pick something that works for you.

blog_scriptlabel_keyboardshortcuts

The scripts palette should now show these shortcuts next to the scripts. Bring the Script Label palette into view, select a page item and repeatedly hit Ctrl+T followed by Ctrl+U while observing the Script Label palette. The word TODO should appear and disappear from the Script Label palette each time you hit the shortcut.

That’s another step in the right direction – marking and unmarking individual page items just became a whole lot easier.

2.4 Finding marked items

Now the next question is: how to quickly find page items that still have a ‘TODO’ script label? Sadly enough the standard ‘Find’ function in InDesign does not seem to be of much help.

Scripting to the rescue! Below a script that finds the next item with a ‘TODO’ script label.

do
{
  if (app.documents.length == 0)
  {
    break;
  }

  var document = app.activeDocument;
  if (! (document instanceof Document))
  {
    break;
  }

  var currentItem = null;
  if (app.selection.length > 0)
  {
    currentItem = app.selection[0];
  }

  var undoneItems = [];
  for (var idx = 0; idx < document.allPageItems.length; idx++)
  {
    var pageItem = document.allPageItems[idx];
    if (pageItem.label == "TODO")
    {
      undoneItems.push(pageItem);
    }
  }
  if (undoneItems.length <= 0)
  {
    break;
  }

  var nextItemIdx = 0;

  if (currentItem != null)
  {
    var currentItemIdx = -1;
    var searchItemIdx = 0;
    while (currentItemIdx == -1 && searchItemIdx < undoneItems.length)
    {
       if (undoneItems[searchItemIdx] == currentItem)
       {
         currentItemIdx = searchItemIdx;
       }
       searchItemIdx++;
    }
    if (currentItemIdx >= 0)
    {
      nextItemIdx = currentItemIdx + 1;
      if (nextItemIdx >= undoneItems.length)
      {
        nextItemIdx = 0;
      }
    }
  }

  app.select(undoneItems[nextItemIdx]);
}
while (false);

I won’t elaborate on how this script works – if you’ve done some ExtendScript-ing before it should be fairly easy to follow. If you’re new to ExtendScript – simply make sure you copy the script verbatim.

Save this script to your Scripts Panel folder as next_todo.jsx.

Each time you double-click this script, the currently selected item will ‘jump’ to the next item that still has a TODO label. You can assign another shortcut key to this script – I used Ctrl+N on my Mac. Each time I hit Ctrl+N, my selection jumps to the next page item with a TODO label.

2.5 Seeing Marked Items

We’re not done yet! If you install our FrameReporter plug-in (http://www.rorohiko.com/framereporter) you can configure it to visually show the script labels. With FrameReporter active, and configured like this:

Screen shot 2009-11-18 at 3.26.27 PM

I can do Select All on my spread, and I get to see this:

Screen shot 2009-11-18 at 3.29.23 PM

I can immediately see that two of the three items still haven’t been examined. Unlike most of our plug-ins, FrameReporter is not a freebie, but it’s still a steal at just US$29.

2.6 InDesign CS4 Live Preflight

But wait, there is more! Soon, we’ll have the YeShore plug-in available which extends the InDesign CS4 Live Preflight (http://www.rorohiko.com/wordpress/yeshore). It has a number of powerful new preflight rules, one of which involves script labels.

If you have YeShore installed (e.g. because you’re on our beta program – check the web page to find out more), you can configure a rule to find all unfinished page items:

Screen shot 2009-11-18 at 3.34.43 PM

I’ve made a preflight profile called ‘Check all done’ and added a rule that says that the script label should not be TODO. With this profile active, it becomes very easy to see how many items I still have to handle, and to ‘hop’ to any items that are still marked as TODO. I simply click on one of the lines in the Preflight panel and InDesign immediately selects the corresponding item.

Screen shot 2009-11-18 at 3.37.12 PM3. Conclusion

I hope that these samples are useful! And if you’re interested, check out FrameReporter, or stay tuned to hear more about YeShore!

Cheers,

Kris

FrameReporter 1.0.6 Released

Monday, November 2nd, 2009

FrameReporter uses little non-printing labels to display interesting info about selected page items, right in your work area.  Normally InDesign makes you click around and find various palettes to dig up the info – which disrupts your train of thought.

With FrameReporter, the relevant info is displayed exactly in the area where you are working, and you can immediately see the necessary info for multiple items in the blink of an eye.

For example: FrameReporter will show overset text warnings on the edge of any text frame that is part of a linked set of frames.

This latest version fixed a number of bugs and also has substantial speed improvements – the previous version was causing noticeable delays.

Check it out – click here for more info:

http://www.rorohiko.com/framereporter

FrameReporter 1.0.5 Released

Friday, October 9th, 2009

We’ve been hard at work these last few months – a beta of StoryTweaker, a new version of TextExporter, and also a new version of FrameReporter for InDesign.

This update adds the ability to display the image file name and/or the image file path next to any placed image on the InDesign page.

Here’s a sample of what it can do for you – imagine you’ve been asked to place a whole lot of images, and it’s really important that the images are placed on the pages in alphabetical order of their file name.

The problem is that the images look very similar, and carry similar names – how do you verify quickly you’ve placed them correctly?

Furthermore, all images should be placed at the exact same scaling factor, so their effective resolution is the same. Again, how do you quickly find that out if there are any outliers?

Here’s a screen shot of my InDesign page – I can immediately see that DSC_8755 is out of order, that it is missing (hence the red background behind the name) and that the fourth image has been scaled to a different effective resolution than the other three.

Screen shot 2009-10-05 at 6.11.36 PM

With FrameReporter, it takes all of two seconds: Select All, and quickly inspect the file names.

And rest assured – these little labels are purely informational, and they are non-printing – they won’t appear on the printed page.

FrameReporter uses little non-printing labels to display interesting info about selected page items.  A lot of this info can also be found on the various InDesign palettes – but you need to click around to dig up the info. With FrameReporter, the relevant info is displayed exactly in the area where you are working, and you can immediately see the necessary info for multiple items in the flick of an eye.

Another example: FrameReporter will show overset text warnings on the frame of any text frame that’s part of a linked set of frames.

Check it out – click here for more info:

http://www.rorohiko.com/framereporter

APID ToolAssistant updated

Monday, September 14th, 2009

We’ve just released an update to the APID ToolAssistant plug-in – version 1.0.47.

This plug-in has no end-user features; it is mainly an invisible, yet critical component of many popular InDesign plug-ins, both developed by us or by other software developers.

As such, APID ToolAssistant provides support for many of our popular tools, like TextExporter, StoryParker, MagnetoGuides, FrameReporter

If you are using any tools that rely on APID ToolAssistant, please update to the latest and greatest. In the 1.0.47 release, we’ve concentrated on performance and stability. The few new features we’ve added are mainly of interest to software developers who use APID ToolAssistant as a component for their tools.

In our own range of tools, especially FrameReporter benefits from using the latest APID ToolAssistant – the little info-labels now remain better ‘attached’ to the associated frame, even when rotated or stretched, and APID ToolAssistant now avoids drawing information ‘upside-down’.

Click here for more info about APID ToolAssistant.

FrameReporter 1.0.4 Released

Friday, March 20th, 2009

Do you need to work on a large, complex document, with many large chunks of text?

FrameReporter helps you navigate around – attach a name to various text stories or text frames, and use a simple popup menu to ‘jump to’ any named story or text frame – jump from the story on ‘Global Warming’ around page 56 to the story on ‘Organic Pet Food’ around page 70 and back.

Also, InDesign shows a lot of information on its many floating palettes and ribbons – but have you noticed you always need to take your eyes off the current selection to consult a palette?

FrameReporter puts the info where you need it – I’d say ‘right at your fingertips eyeballs’ ;-)

Imagine a multi-text frame story – how can you know whether the text overruns or not without having to scroll way to the last frame, while you’re removing some superfluous words to clear the text overrun? FrameReporter shows you where you need it – it puts a special ‘overrun marker’ on any selected frame that is part of an overrunning story.

Download a fully functional, time limited demo today – click here for a web page with download links and a cookbook description of the FrameReporter features.

Lightning Brain FrameReporter 1.0.1 released

Thursday, January 15th, 2009

We’ve just released Lightning Brain FrameReporter 1.0.1 for Adobe InDesign CS, CS2, CS3 or CS4.

Have you ever worked with a long text story that spanned multiple text frames? Did you have fun with overset text?

How about taking a superfluous word away from frame 7, then zooming to the last frame – frame 223 – to check whether the overset is resolved. Nah, still overset. Ok, let’s reword this sentence in frame 123 – better? Back to frame 223 to check. And so on…

Wouldn’t it be easier if you could continually see whether the current story is or isn’t overset? Glad you asked – that’s just one of the things LB FrameReporter does.

You can also click here for a more extensive discussion of the LB FrameReporter features.

LB FrameReporter adds a little, non-printing ‘info-label’ to the currenly selected frame, and this info-label can contain all kinds of info – overset warnings, story roadmap, master page info,…

Using Lightning Brain FrameReporter

Thursday, January 15th, 2009

Lightning Brain FrameReporter is a US$29.00 plug-in for Adobe InDesign CS, CS2, CS3 or CS4.

In this recipe, we’ll highlight each of the individual LB FrameReporter tidbits, and explain what they could be useful for.

If you want to follow along, you might want to first download and install a demo version of Lightning Brain FrameReporter – click here for more info and download links.

Overset text warning

InDesign is quite laid back when it comes to text that is overset. The only visual indication you get is that the last text frame of the story shows a red plus sign in the out port.

Enter LB FrameReporter. For stories with overset text it will add a visual indicator to any frame of the story – whether that frame is at the beginning or at the end of the text story.

That’s very handy if you’re trying to fix overset text by removing some words from the text: you can be editing frame 1 of a 100-frame story, and you’d immediately know that the overset has been fixed when the indicator disappears.

An example: imagine that the four text frames you see are actually spread out over four pages (instead of sitting on a single page – I’ve done that to make it easier to explain things).

There’s overset text, and I am going to clean up the text in the second frame of the four-frame story.

I selected the second text frame. The little [+] on top of that selected text frame indicates that the story has overset text:

picture-3

I now select some words that I want to delete from the frame:

picture-6

Hit ‘Delete’ to shorten the text – and the overset warning disappears. No need to go check the last frame of the story!

picture-7Show Frame and Story Wordcounts

This option of LB FrameReporter is handy when you’re aiming for a particular word count. As you’re editing the story, you are continuously informed about the total number of words in the story, as well as the number of words in the current text frame.

picture-8

In the sample screen capture, I have 79 words in the current frame, out of a total of 242 words in the whole story.

These word counts are dynamic. As we all know ;-^ , ‘nseque’ is preferrably spelled as two words, so let’s split up ‘nseque’ into ‘nse que’ by adding a space character:

picture-11Note that the word counts have automatically updated to 80 and 243!

Show Number of Frames Per Story

With this option, it becomes easy to know your position along a story – it helps you navigate the story.

picture-12In this example, the complete story runs through four frames, and the currently selected frame is the third of these four.

Show Which Pages Contain Parts Of A Story

This is a slightly more complex information – it is essentially a roadmap for the current story. Check the following screen shot:

picture-14

I can tell that the currently selected frame is part of a multi-frame story.

Let’s first ignore the (3), the number between parenthesis; we’ll get to that later.

Before passing through the current selected frame, the story appears in text frames that live on page 1 and  2 (Pgs. before: 1,2)

After passing through the selected frame, the story appears in a text frame on page 6 (Pgs. after: 6).

Furthermore, on page 1, I can also see that the story goes through three text frames – 1(3) means: on page 1 occurring 3 times. That’s what numbers between parenthesis are about: they show you when there are multiple linked text frames for the same story on a single page.

As you can see, this LB FrameReporter option allows me to see a whole roadmap for the story in the blink of an eye!

Overridden Master Page Items

Another thing that’s hard to see in InDesign are overridden master page items.

Master page items showing through on a document’s pages are easily recognizable because their frame is drawn with a dotted line.

But once a master page item is overridden, there is no simple way to tell that the item is a master page item. Still, overridden master page items behave slightly different to normal page items.

Check the following screen shot:

picture-17

The bottommost, cyan page item is an overridden version of the cyan item on master A. I’ve repositioned it to make it clear it’s overridden, but it still retains some relation to the original item that sits on master A.

If I change the color of the cyan item on master A to green, this is what happens:

picture-18

Now, let’s switch on LB FrameReporter and select both frames:

picture-19

Now it is easy to see that the green item is actually an overridden master page item.

Show Image Effective (Scaled) Resolution

This information is identical to the resolution info that is provided on the Info palette. The main advantage of this feature becomes apparent when you want to check the effective resolution of a whole lot of images.

Instead of selecting them one by one and looking at the info palette, I can simply select all of them, and see their resolutions all at the same time.

In this example screen shot I have selected two placed images. You can see that the Info palette does not show any resolution info – it cannot handle multiple selections.

picture-21

Squareness

This feature gives you an idea of how far from or how close to square a particular frame is.

A value of 100% is completely square, anything less than 100% is a rectangle – it does not matter whether the rectangle is in portrait or landscape orientation.

Check the following screen shot:

picture-22You can see that the two ’squares’ are not completely square because they have a squareness below 100%.

The two rectangles are both ‘golden ratio’ rectangles – which are considered the most ‘balanced’ and visually pleasing kind of rectangle by many – 62% is the squareness of a ‘golden ratio’ rectangle.

Configuration

All of the options shown above can be activated or deactivated as desired through the API – FrameReporter – Current Document Preferences… menu item.

picture-24

You can select multiple options – all the selected options will be shown concurrently by LB FrameReporter.

Changing these options will only affect the current document – each document carries its own LB FrameReporter settings.

There is also the FrameReporter – Default Preferences… menu item which allows you to set up the default preferences to use when no preferences have been chosen for a particular document.

Conclusion

LB FrameReporter is work in progress.

If you have any ideas for similar information that we should/could be displaying for selected frames, please let us know at pluginsupport@rorohiko.com- if the request can be implemented without too much effort, we’ll try to roll it into a future version of LB FrameReporter.

FrameReporter beta released

Friday, October 24th, 2008

We have a beta of a new plug-in available - Lightning Brain FrameReporter. It attaches a little non-printing label to any currently selected frames, with relevant info about the frame – saves you from having to hunt for that same info elsewhere. Click here for more info.