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!

Update and Add Paragraph Formats with Template Tools

TemplateTools is a powerful script that allows you to quickly format and update Paragraph Formats using FrameMaker’s formatting toolbars. Easily add new Paragraph Formats and format them “by example” in the document. Quickly remove Paragraph Format overrides and unused Paragraph Formats. Click here to see the documentation. The 7 minute video below will show you how it works. TemplateTools makes working with Paragraph Formats fun and easy!

To purchase TemplateTools for a low, introductory price, please visit our solutions store.

Here is a video of the full webinar demonstrating TemplateTools.

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.

FrameMaker Autonumber Primer

Hello Framers! Below is a FrameMaker autonumber primer on video. If you are a new FrameMaker user, this will give you a 20-minute overview of autonumbers and how they work. This is the first in my “antiwebinar” series. No forms to fill out, no fancy slides, just (mainly) unedited content that you can view whenever you want. You may hear some doors slamming in the background or my creaky chair, but I will get straight to the point so you can learn something. As always, I value your questions and comments. -Rick

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.

Ride for Roswell 2016

Rick and Jason have reached their fundraising goals. If you would like to purchase any of the scripts, please go to our online store.


It’s time for the Annual Ride for Roswell bike event to raise money for cancer research at the Roswell Cancer Institute in Buffalo. My son Jason and I are riding the 102 mile route again this year. This year, I have decided to make some of my ExtendScript scripts available in exchange for a donation to the ride. And, you can donate any amount you want for each script! ExtendScript is built into FrameMaker 10 and higher. Here is a brief description of each script:

TableCleanerES: This is the new and improved version of my TableCleaner plugin. Some of the batch commands can now be performed on all of the files in a book! Click here for details.

PathChanger: This script allows you to manage paths for graphics, text insets, external cross-references, and book components with an Excel spreadsheet. You need this script when you rename or move referenced files. Click here for details.

FindChangeFormatsBatch: This script allows you to Find/Change hundreds of FrameMaker formats in a document or book with a single command. Formats are specified in a simple FrameMaker table. Click here for details.

PageLabelerES: The ExtendScript version of a long-time favorite. Transfers your FrameMaker book’s numbering to your PDF file. Click here to download the documentation.

ImportFormatsSpecialES: This script allows you more granular control of the document properties that you import from a template. It also allows you to import User Variables without System Variables and vise versa so you can import one type of variable format without clobbering the others. Click here to download the documentation.

Thank you for your generosity!