Finding All in a book or document

Those of us who use text editors know the benefit of being able to search an entire file (or set of files) and see all of the results in a single list. This will soon be possible with FrameMaker with my new FindAll script. Here is the dialog box for the initial prerelease version:

The script generates a hyperlinked report of all of the strings or regular expression matches. The report is fully customizable.

At this point, the code is about 75% finished. I need a FrameMaker book that I can test and demonstrate with, as well as some willing testers. Please contact me at rick at frameexpert dot com if you can help.

As always, I am open for comments and suggestions. Thank you very much.

Importing Selected Formats

This question comes up once in awhile: “How do I just import certain paragraph or character formats from a FrameMaker document into other documents?” Here is the way I normally do it manually:

  1. Make a copy of the document I am using as a template.
  2. Modify one or more paragraph or character formats that I want to import into other documents.
  3. Delete all of the other paragraph and character formats from the document. Now I am just left with the formats that I want to import into the other documents.
  4. Open my target document or book and choose File > Import > Formats and choose the document I made in step 1.

Of course, it is better to have an automated solution. ImportSelectedFormats allows you to open any FrameMaker document and select which Paragraph, Character, Table, Variable, Cross-Reference, and Condition formats you want to import into your target documents. You have a choice of targets: A folder (and optional subfolders) of FrameMaker documents, a FrameMaker book, or a FrameMaker document. None of the target documents have be open when you run the script.

A big improvement with the latest version is the ability to selectively import System Variable formats as well as User Variable formats.

Here is a link to the documentation. If you want this script, please donate $25 or more to my Ride for Roswell 2020 cancer charity ride. Thank you for your generosity!

Ride for Roswell 2020

I have signed up for the 2020 Ride for Roswell, which will (hopefully) take place on June 27, 2020. The ride is to raise money for Roswell Park Cancer Center in Buffalo, New York and last year attracted over 8,000 riders.

This is the Ride’s 25th anniversary and I am excited to be signed up for the 100 mile route again. To raise money, I will be offering any of my scripts for a donation to the ride. Here is a link to my fund raising page. After you donate, please email me and let me know which script you want.

In addition to the scripts in my store, I will be offering some others as well. Check back often to see if there any that will be useful to you. I will put links to them here:

I am also open to suggestions for other automation scripts.

Thank you for your generosity!

Automatic backup on save

A recent post on the Framers list asked if the Automatic Backup on Save location (Edit > Preferences) could be changed. It can’t with stock FrameMaker, but I have written a simple event script that will do it for you. The backup folder you specify has to be hard-coded into the script, but I may enhance it later by adding a settings file or a dialog box where you can specify the location.

Download the script here and unzip and copy it to


where <UserName> is your Windows login name and <VersionNumber> is the FrameMaker version number (2015 = 13; 2017 = 14; 2019 = 15; etc.). Note that if the startup folder does not exist, you have to create it.

Open the script with a text editor and change the path on line 18 to the desired backup folder on your system. Note that backslashes must be doubled in the path. Do not include backslashes at the end of the path.

Save the script, and quit and restart FrameMaker. Open and edit a document and then save it. Every time you save a FrameMaker document, you will get a copy in the backup folder you specified.

To disable the script, remove it from your startup folder.

FrameMaker 2019: Where is my PDF?

Are you using FrameMaker 2019 and its nice new PDF engine? As you know, the Publish pod is now the preferred way of producing PDF output. But where is your PDF file created? You specify the output path at the bottom of the Publish pod.

But the Output Folder is not related to the location of the active book or document that you are publishing. Once you set the path, the value is “sticky” until you change it. Even if you change it to the folder containing your book or document, an additional “PDF” folder is created during the publish process. This can make it a hassle to find your PDF after it is published.

In honor of my 60th birthday–today, October 24–I have written a script called Rescue PDF to solve the problem. And, yes, it is free! After you install it, you choose File > Utilities > Rescue PDF.

A small dialog box will appear. Click Copy PDF to book or document folder. You can also click View PDF after copying so that the PDF is displayed after it is copied.

And that’s all there is to it! Now when you create a PDF using the Publish pod it will be copied to the folder that contains your book or document. When Rescue PDF is active, a checkmark will appear next to the command on the Utilities menu. To disable it, simply choose the command again and uncheck the Copy PDF checkbox.

A couple of caveats

If the PDF you are creating is still open in the book or document folder when you publish again, you will not get a warning; the new PDF will simply not get copied to the folder. So make sure you close the PDF after viewing it.

When you use the Publish command, a dialog box will display telling you that the job is finished. It will show you the original Output Folder path.

Of course, when using Rescue PDF, you don’t need to see this dialog box, but I haven’t figured out a way to suppress it. So just click Done to get rid of it.

Go to my web store to download Rescue PDF. Comments and suggestions for scripts are always welcome!

Now Available: ConvertDocs!

I am excited about a new script I just released: ConvertDocs. It is designed to convert FrameMaker documents and books in batches.

  • Convert FrameMaker documents and books to earlier versions.
    This is useful for exchanging documents with those using earlier versions of FrameMaker.
  • Convert FrameMaker documents and books to MIF or MIF 7.
    Translation vendors often require MIF files for their translation software.
    Quickly “mif-wash” problem documents.
  • Convert from MIF files to FrameMaker documents and books.
    Convert localized MIF files back to FrameMaker documents and books.
  • “Upconvert” older FrameMaker files to the current version you are using.
    After updating FrameMaker, convert your documents and books to the latest version.
  • Easily localize ConvertDoc’s interface.

Here is a screenshot of the interface:

Here is the interface localized to German by Klaus Daube. Thank you Klaus!

Here is ConvertDocs documentation. For a limited time, you can purchase a single license for $24 and a site license for $124. Hurry, the sale won’t last long!

Advanced Autonumber Concepts

Here is a follow up to the Autonumber Primer that was posted last week. If you are brand new to FrameMaker or autonumbers, you should watch that video first:

Autonumber Primer

The video below goes into more detail about autonumbers and how to set up a complex series of autonumbered paragraph formats. The focus is on the counter building blocks and how they relate to each other in a series of autonumbered paragraphs. Your comments and questions about autonumbers are welcomed in the comments section below.

Towards the end of the video, I demonstrate a simple ExtendScript script for transferring the autonumber building blocks from the table to your paragraph formats. This eliminates the need to tediously copy and paste them one-by-one from the table. You can purchase this script for $19 US from my Carmen Publishing Inc. Store.

RunaroundNone Released as an ExtendScript Script

My plugin, RunaroundNone, has been rewritten as an ExtendScript script for FrameMaker 10 or higher. It changes the default Runaround Properties on imported graphics to “Don’t Run Around.” When graphics are imported into FrameMaker, their Runaround property is normally set to “Run Around Contour.”

This can cause callout text frames placed on top of graphics to behave strangely; for example, the text can disappear or be displaced in the text frame. This makes sense because the purpose of “Run Around” is to cause text to flow around a graphic in a FrameMaker layout. In reality, though, this is a seldom used feature in FrameMaker and it is surely not what you want when you are placing callout text on top of a graphic inside an anchored frame. So it is best to have this set to “Don’t Run Around” for your imported graphics.

RunaroundNone automatically takes care of this for you whenever you import a graphic. For existing graphics, RunaroundNone adds a new command under the Graphics menu to set all of them to “Don’t Run Around” at once. Click here to see the documentation. RunaroundNone is only $19 and is available at our online store.

ArchiveES Released

ArchiveES is an ExtendScript script for archiving a FrameMaker book or document. It is patterned after the original Archive plugin written by the late Bruce Foster, a long-time contributor to the FrameMaker community. When you run the script, it will prompt you for an archive folder, or allow you to create a new folder. It will create Graphics and Insets folders inside of the archive folder and will copy the book or document and its referenced files into this folder and Graphics and Insets subfolders. All references, including graphics, text insets, and external cross-references will be updated to point to the archived folders so that the archived book or document will be self-contained within the archive folder. Click here to see the documentation.

ArchiveES works with FrameMaker 10 and higher and does NOT require FrameScript. It is available for only $39 from my store.

See all of your cross-references with CrossrefReporter

Do you need to see all of the cross-references in your book in one place? You can now with CrossrefReporter. CrossrefReporter is an ExtendScript script that creates a table of all of the cross-references in a book. Each row displays the document name, the cross-reference text, and the page number of the cross-reference. Not only that, but you will see the name of the document containing the companion Cross-Ref marker and its page number. There are hyperlinks to both the cross-references and the markers so you can quickly navigate to them. The report table can be sorted and edited to make it more useful to you.

CrossrefReporter Report

In addition, you can select a Cross-Ref marker in a document and generate a report of all cross-references in the book that point to it. This is useful when you want to delete content that contains Cross-Ref markers and want to make sure you don’t leave unresolved cross-references.

CrossrefReporter works with FrameMaker 10 or higher and DOES NOT require FrameScript. CrossrefReporter is only $19 and is available at my online store. You can download the documentation here.