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.

Advertisements

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.

Preflight video and “Enforcer” Scripts

Adobe InDesign has a magnificient feature that displays a list of prepress issues that may be present in artwork, and updates this in real-time. It is the live preflight feature, and it’s certainly not a new feature in Adobe InDesign. That said, considering some of the files that I receive that are considered to be “finished art”, I wonder how many people know that this feature exists; or uses the feature before handing off their finished artwork to their printer or supplier.

To be fair, the live preflight feature is rather passive in Adobe InDesign. If the preflight panel isn’t loaded into your set of panels in your workspace, it is only visible at the bottom of the screen, and is less than 50 pixels in height. The default preflight that is performed on artwork only alerts on a handful of items, some of which have dedicated alerts to their absence anyway (such as overset text, missing fonts and missing links).

In this Colecandoo video, I demonstrate that the preflights can be much more powerful, the basic preflight can be replaced with far more powerful preflights, and I demonstrate some traps to look out for that are not detected with any preflight. The video also demonstrates two scripts that are designed to prevent users from printing or exporting their artwork until it passes the live preflight check. If you’re interested in obtaining a copy of this on-request script, head to the contact page and ask for the “preflight enforcer scripts”.

In a future video, I’ll elaborate on the demonstration file used in the video, as it contains dozens of prepress errors.

InDesign User Interface mods with Startup Scripts

In Episode 16 of my Youtube videos, I briefly showed a startup script that added several options to the contextual menu that allowed a frame to fit a given size. But it’s not the only way I’ve modified my user interface, so this episode of “Must-Haves” is dedicated to scripts that make minor modifications to the user interface.

The modifications mentioned in this article use javascripts that are installed into the startup scripts folder. Scripts put into this folder don’t have to be double-clicked from the scripts palette, instead they are run when InDesign starts up. So let’s have a look at what features these scripts add to the user interface.

goawaystartupscreen.jsx

Origin unknown

This is a one-line script that instead of adding functionality, actually takes it away… If you don’t like the startup screen showing up whenever no documents are open, add this script to the startup scripts and you’ll never see it again.

PalettenmenusinsHauptmenu.jsx

By Gerald Singelmann (Cuppascript)

This script adds a new main menu item that shows all panel menu items within the one menu.

TomaxxiLAYERS

by Marijan Tompa (Tomaxxi)

This script adds three options at the bottom of the layers panel that allow a layer set to be applied upon the creation of new documents. The layer sets are also customisable.

BookOpenAll.jsx

By Theunis de Jong (Jongware)

This script adds two options to an InDesign book palette – open all documents and close all documents.

FileCloseAll.js

By Marc Autret, Indiscripts

This script adds an item to the file menu, particularly close all.

AddPathOperationsToLayoutMenu.jsx

By Olav Martin Kvern, Silicon Publishing

This script adds the functionality of the pathfinder palette to the contextual menu. This is a great timesaver when working with shapes, so rather than having to click off of the object or objects being worked on to perform a command, simply right click to call up the desired command.

ConvertSwatchToGrayscale.jsx

By Gabe Harbs, In-Tools

This adds an option to the color palette that allows a color to be converted to greyscale based on formulas in the script.

ControlBackgroundExport.jsx

By Marijan Tompa (Tomaxxi)

This script adds a menu item to Adobe InDesign that allows the export PDF option in the background to be enabled or disabled. For whatever reason, I prefer to watch the progress bar of the PDF being created rather than let the task run in the background, so having this option is useful to me.

Unfortunately, this script is no longer available from Tomaxxi’s website, and it’s also not my script to give away. However, this link is an InDesignSecrets.com article where the script was conceived, and similar scripts are available in the comments section of the article.

SortFilesBeforePlace_startup.jsx

by Roland Dreger, Roland Dreger GrafikDesign

Adds the “Sort and Place…” item under the place item in the file menu. Once items are selected, a UI appears prompting for the method to be sorted for the place.

PlaceByContextv4.jsx

by Gerald Singelmann, Cuppascript

Adds a place… option to the contextual menu… but with a major difference. Selected frames will have the resulting images imported into the frames either in the order they were selected; or if marqueed at once, then from a left-to-right, top to bottom order. It effectively does away with the placegun and allows images to be placed directly into awaiting frames.

SwapImages.jsx

by Gerald Singelmann, Cuppascript

Adds three options towards the bottom of the contextual menu – swap images, swap places, and load image in placecursor. Certainly a go-to script and very handy for swapping images on the same page or spread; or swapping images between frames.

TomaxxiPLACE2

by Marijan Tompa (Tomaxxi)

Adds two options at the bottom of the object styles panel that applies a given object style to placed objects. Typically, object styles can only be applied once images have been placed.

выровнять фрейм.jsx

by Eugenyus Budantsev

Translated as align the frame, this script adds four options to the bottom of the contextual menu that allows a text frame or graphic frame to resize to the margin size, page size, bleed size or baseline. Images within a graphic frame will resize to fit the frame, but this can be adjusted by editing the script and replacing the words:

FitOptions.CONTENT_TO_FRAME

with

FitOptions.CENTER_CONTENT

Or another preferred option. See this link for the other options that can be chosen.

Lastly:

In a future Must-Haves video, I will demonstrate other user interface modifications that can be made that are installed in other ways.

%d bloggers like this: