InDesign Prepress: Generating Composite, Trapped PDFs


Generating Composite, Trapped PDF from InDesign

Well created, Composite PDFs are the most commonly requested format for printers in this part of the world. So, how exactly do you generate a composite, trapped PDF?

InDesign 1.5.x, 2.0.x and CS have support for Application Built-in trapping. The trapping engine inside InDesign matches many of the features of Adobe’s InRIP trapping engine; usually found in higher end RIPs from Creo, Heidelberg, Agfa etc.

Trapping is the process of changing the shapes of certain objects in a printed output to reflect the way the ink will run when printed. Each of the inks are laid down on the paper by different cylinders of the press. As the paper (substrate) are impressed by these cylinders, there might be a misregistration – where the inks don’t quite line up. In this instance, the plates contain extra overprinted areas of dots to cover up any unsightly gaps that may be left in the final output.

Highend PDF workflows today are bedevilled by the “Who is trapping this?” question. In controlled workflows, this is easy to coordinate. Prepress know which press a job is running on, and apply some visual checks on the job and may make trapping changes to the source file prior to output. However, when there is a hand-off to an unknown press and printing environment, the creator will not know the press conditions. Today’s digital workflows largely assume that the final RIP (imagesetter/platesetter) will trap the document.

In some workflows, this trust may not be enough. We need to make composite PDFs for onscreen viewing, simplicity and size; yet trap them so there are no ugly white patches at print time.

With InDesign 1.5, 2.0 and CS, the Adobe trapping engine takes InDesign created object (text and vector objects) and traps them to placed images, text and vector shapes. InDesign does not trap placed PDF or EPS objects. These are assumed to be trapped. InRIP trapping solutions will trap the entire page stream. To use Adobe In-RIP Trapping, you must use In-RIP separations. Built-in trapping limits trap widths to 4 points, regardless of the value you enter for the trap widths. For larger trap widths, you will need to use Adobe In-RIP Trapping.

From QuarkXpress, the trapping information as setup by the Trap palette only comes into play when printing separations. With QuarkXpress 4.0 and above, overprinting and knockouts as set by the palette are retained in composite Postscript output. Saving Pages as EPS from QuarkXpress 3.32 and higher does result in overprints/knockouts being retained. (see QuarkXpress, PDF, Trapping and Overprint)

InDesign 1.5.x, 2.0 and CS preserve knockout/overprint attributes in Composite Postscript output. As you would expect, Adobe’s Applicaton Built-In trapping works when printing separations.

Back to the topic at hand: A significant workflow difference with InDesign is that it can also apply Application Built-In traps when printing InRIP separations.

What are InRIP separations? Essentially, programs like InDesign send composite Postscript to the RIP with some extra commands telling the RIP to take a completed page and produce n-plates based on the colourants on the page. For simple process jobs, this would result in a page each for C, M, Y and K.

The implementation of the Postscript showpage and copypage operators have the capability of producing pages for each colourant. If the output device doesn’t have this colourant, then the alternativeSpace colourant is used; failing this, DeviceCMYK is used. There is a Postscript engine inside the Distiller, and it yields DeviceCMYK colourant output.

Acrobat Distiller has a Postscript engine inside: what does it do with InRIP separation-marked Postscript? Distiller 4.0x and 5.0.x ignore the operators for producing pages for each colourant, and produce a composite PDF. The colours stay as CMYK (or spot colours if used) if the Distiller options are left to “Leave Colour Unchanged”

Now InDesign 1.5.x and 2.0.x allow you to apply Application Built-in trapping to the composite Postscript when printing as InRIP separations. Yes, I know its a little mind bending! If you then send the resulting Postscript to Acrobat Distiller, the Distiller discards the commands to separate, but it does retain the extra “trapping” Postscript commands. The final PDF holds these trap commands, and they can be viewed in Acrobat 5.0 by turning on Overprint Preview.

The final outcome is a Composite, Trapped PDF.

Steps

1. Ensure that your Trapping settings are correct. Please consult the InDesign CS Printing Guide, the manual and your Prepress/Printer before assuming the defaults are correct.
[1177] Trapping dialog in InDesign 2

2. Assign a Trap Style to the page. In this instance, I am using InDesign’s [Default] Trap style as viewed above.
[1178] Assign a Trap Style InDesign 2

3. Here is the File>Print dialog box. In Output, Color is set to In-RIP Separations, and Trapping is set to Application Built-In
[1179] Print from InDesign 2.0

4. To make it easier to use the same settings on the next document, you can save a Printer Style for later use.
[1180] Save Printer Style

5. This is the source document in InDesign 2.0/CS
[1181] InDesign document

6. The final PDF inside of Acrobat 5.0 or 6.0, (available here: Example CompositeTrapped PDF)with Overprint Preview turned on. The darker areas around the type etc. display where overprinted strokes have been applied based on the inking requirements.
[1182] Overprint preview result in Acrobat 5

7. Using Quite Revealing from Quite Software, I can also reveal the overprinted strokes separately.
[1183] Using QuiteRevealing to preview result

For more information about Trapping, and specifically the Adobe trapping engine:

Adobe Trapping Technology (white paper)

Adobe In-RIP Trapping Workflow

How to Trap Using Adobe Trapping Technologies

Thanks to Steve Amerige, Matt Phillips for their assistance with some of the finer details.

Mexico (9th June to 14th June)

Tuesday, 14th June, 2005

Leaving Mexico, and the sanctuary of the resort was difficult. A quick lesson in spanish has taught us many words, but none that describe the feeling of being thrown back out into the world where email and mobile phones work.

At Punta Mita resort, the only place you can get signal is out on “the rock” or in front reception – and its an amusing sight to see people holding up their blackberrys/nokias/sonys to get a few SMSs in and out. But strangely for me, the lack of communication has been refreshing. Not hearing about Michael Jackson and learning spanish was a good call.

Hour bus ride back to PVR, into Alaska (why are we flying Alaska from Mexico to California?) airlines. All checked baggage is hand-checked by a cheeky security guy. The only surprise in ours is a magic pillow of Avril’s that expands and contracts into amazing dimensions.

We board the MD-70, and fly back in time/forward in time to LAX. Tom Bradley Intl at LAX can be daunting, and not something we were looking forward to. Well, we’re through immigration (friendly agent who quoted the Immigration Act of 1976 re: I94A forms) and customs, having collected our bags, in less than half an hour.

Look out LAX, the Hodge’s are here and we’ve only spend AU$150 in the last week!

Sunday, 12th June, 2005

It’s difficult to describe the roller coaster of the last few days.

On Friday, Avril was able to fulfil a life long wish and swim with Dolphins (Not my scene, so I left the tuna-eaters to her), and we’ve walked around the resort.

On Saturday, we took a 6 hours Unimog ride through the local country-side and Sierra Madres mountains to the Pacific ocean. Visiting a beach on the Pacific ocean side of the peninsula was great. Reminded me of 14000kms away in NZ: volcanic sand beach. Our tour guide, Manuel, introduced us (or in my case, re-introduced) to Tequila. Drinking spirits in the open back of what is essentially a truck on a main road has not been one of my dreams. But a thrill, never-the-less. One could get addicted to this cactus juice. Salute! Antonio delivered us safely (but dusty) to the resort.

Sunday has been relatively easier: capped off by a visit to PV, and specifically the “old town”. The shopping could have been better; but it was difficult on a Sunday night. Buses had numbers like the WWII German Atlantic submarine fleet: U-35. They looked equally as comfy (refer: movie “Das Boot”). We found one of two Italian restaurants and had a comparative meal (we like to test the Italian food around the world) Did some damage to the cash balance, but not so much as to solve Mexico’s trade balance.

Thursday, 09th June, 2005

Up and away on Thursday 6.50am. On schedule.

Our meagre bags weigh in at 24.3kgms. I will be comparing this to what we leave with. I suggest that Customs should just impose an import duty on the nett weight of in vs. out. On second thoughts, lets scrub that one. I don’t earn that much

You know you travel too much when the guy on the Immigration desk leaving you saw last night in Customs entry.

12.5 hour flight to LAX in the 747-400 was pleasant. 4 seats spread over 2 people is a good thing. Little sleep however.

Arrive in LAX on Thursday at 5.50am. Therefore, we’ve arrived an hour before we left home. Arriving at the new Qantas arrival at T4, its a short wait for Immigration, bags waiting, waved through Customs – and we are in the US of A. My 21st visit here. We quickly walk to T3, to jump on an Alaska flight to “PV” (alias Puerto Vallarta, Mexico). You know you are in America when:

  1. you have breakfast at Starbucks and the coffee is bitter
  2. The guy to your right is reading ‘the art of spiritual healing’
  3. the amount of carry-on luggage the person to your left has defies logic

Carry-on baggage has grown since my last visit to the US (June 2003). Its an evolutionary survival of the fittest going on: the larger predators survive.

Crowded House’s Pineapple Head plays as we wait for 50m in the LAX heat before leaving to PV.

PV, Mexico, Hola! Its a balmy 28degC, 80% humidity. Quiet dinner, and we are asleep at 11pm local time. +36 hour day with less than 3 hours of light sleep means we sleep the sleep of the peaceful.

How the mungenetengine works


The database

There are three basic tables in the MySQL database. One contains content, and referenced by mcid. The second contains any binary content (images, PDFs) and is referenced by an miid The final contains sections referenced by msid, which are a mechanism for organising and classifying content and images.

Around these three tables live some utility tables that contain basic logging information (a simple page count per fragment) and caching. Each page, when first rendered, is cached to a separate table. This enables faster response on the second and subsequent hits. To ensure that only current pages are cached, there is a simple cachetree implemented such that when a change or deletion to a record is made, the cache is pruned. (the page cache is presently disabled)

These sections provide the underlying hierachical structure of the site. This structure is tightly bound to the navigation through the site. As this is in the database, it is very easy to change the underlying navigation structure without changing how individual pieces of content are referenced. Usually, the structure is defined as a folder hierachy on the server. As soon as you start moving the folders around, the references from one piece of content to another breaks – forcing a mass update of the site. External search engines that may have the links stored in their database get 404 style errors. In the mungenetengine, each content, image and section is referenced individually without relationship to its place in the navigation structure.

Each fragment of content or image belongs to a section. These sections are the hierarchy behind the site – so each section can belong to another section, and a particular section can have multiple child-sections. A section can only have one parent. As you move to another section or page within another section, the mungenetengine (renamed to mne.php) can generate a navigation fragment; which is a template driven hierarchy containing links to the parent section, sibling content pages or sections, and any children.

In fact, each content entry is just a fragment of html. A whole page may actually comprise of other referenced contents elements, each inserted into the final html that you seen in the browser. The process of building one page from another is a process called templating. Its not as simple as one page referencing another; this process is recursive – one page refers to another until the final page is built. The concept here is to only enter data only once into the database. Each content can insert other fragments (or images) into the html output.

There are different types of content fragments. For instance, one is an external link – these contents are resolved, and wrapped into an HREF style link.

Images are in fact binary objects. They are wrapped into the final html – except they refer back to the mungenetengine – which grabs the images out of the database and serves them up. html fragments that are generated automatically add the width/height, alts and hrefs normally associated with images – if they are in the database. PDFs and other non-image content can be linked to so the user can download them, or embedded into the HTML fragment.

SWF and SVG can also be stored in the database. When rendering out these elements, the engine generates object embed tags. The width and height are not read from either format as yet. Whilst it is possible to read the ‘twips’ from a SWF, it seems overly complex to do – just yet

The engine can also generate what are known as breadcrumbs (next and previous links) — this is easy as the structure and relationship between objects are known and map to the navigation

PHP, the server side scripting language, munges the data together from the MySQL database and serves it up. As at early February 2003 this code is about 1870 lines long. I am testing this on WindowsXP and transferring it here to a Linux box for production. I really only have a choice of three server side scripting systems (PHP, Perl or Python). Learning PHP has been a great experience.

The next stage is to transfer the experience here into using a better language that has more object orientation. I have chosen Python as the langauge to accomplish this task. How long this takes, only time will tell!

InDesign 2.0 Scripts

InDesign 2.0: Adding Tab to Table Cells
Nick Hodge
A mini-VB application that adds a Tab character to Cell text

InDesign 2.0: Pasting As Text Only on Windows
Nick Hodge
A mini-VB application that permits the pasting as Text Only on Windows

InDesign 2.0: Automating Adding Words to the Dictionary
Nick Hodge
Scripting in InDesign 2.0 to add words to a Language Dictionary

InDesign 2.0: Word Count using Visual Basic
Nick Hodge
Scripting in InDesign 2.0 to add word count

InDesign Prepress: Photoshop to InDesign workflow

There are a variety of methods for taking a Photoshop file and placing to into InDesign. After many years of InDesign 2.0 and CS in production use, I thought it opportune to expose another workflow choice taken by these customers. It directly relates to the placement of files from Photoshop into InDesign 2.0/CS layouts.

Apart from supporting the traditional TIFF (.tif) file format, InDesign also permits the placement of JPEG (.jpeg, .jpe, .jpg), Macintosh PICT, GIF, Portable Network Graphics (PNG) and other bitmap-style formats.

The most commonly touted method is to save an Adobe Photoshop .psd file, and place this into InDesign 2.0/CS. Transparency, otherwise known as alpha channel support, is fully supported in InDesign 2.0/CS. What does not work, however, are vector layers. When placed into InDesign 2.0/CS, vector layers including text layers are rasterised at the resolution of the Photoshop file (or transparency flattener, depending on the mechanics of the file).

[1340] 01_transfile.jpg

Example 1: Photoshop image, containing Transparency as shown by the checkerboard pattern.

[1341] 02_transplaced.jpg

Example 2: The same Photoshop image, containing Transparency, placed into InDesign. The transparency is respected.

With Photoshop 6.0, and included in Photoshop 7.0 and CS, Adobe added the ability to save a Photoshop PDF file. Photoshop PDF has many benefits, and also shares many of the features of the Photoshop PSD format.

This format, like the Photoshop PSD format, has the following features

  • Transparency support.
  • Photoshop layers. including text layers, adjustment layers, layer masks etc are saved in the same file

Additionally, Photoshop PDF has the following features that Photoshop PSD does not have:

  • Its PDF. can be displayed in the free Adobe Acrobat Reader
  • Vector layers. keeping text/vector shapes kept as vector shapes for crisp printing and screen viewing)
  • Security. using the security features of Adobe PDF, your images can be locked from viewing/editing by other people.
  • Compression. images can be compressed using ZIP(lossless: no pixels are hurt) or JPEG (lossy: image data is changed)

With InDesign, Adobe has added support for the placement of PDF files without having to resort to “making and EPS” to ensure quality output. InDesign CS also permits the placement of PDF files that contain transparency information – and holds the transparency information.

To save a Photoshop PDF for placement into InDesign, the go to File>Save As.

[1342] 03_pdf.jpg

Example 4: File>Save As. Choosing Photoshop PDF, here I am saving the layers (permitting late stage editing of the text layer if I wish)

[1343] 04_pdf.jpg

Example 5: File>Save As. Choosing Photoshop PDF: a subsequent dialog box permits the saving of Transparency, applying security and in this particular file: retain the vector data as vector.

This Photoshop PDF can be placed into InDesign – the the same as any PDF. When placed into InDesign 2.0/CS, the file looks similar to the following. Notice I am only seeing the Proxy View of the image:

[1344] 05_lrplaced.jpg

[1345] 06_hrplaced.jpg

In the above example, I have turned on “High Quality Display”. The vector quality of the text, and any vector shape layers (including vector clipping groups) are respected; just as they are respected when printing or exporting as PDF or EPS.

Additionally, it is worth noting that the file extensions supported by Photoshop PDF are .pdf and .pdp

[1346] 07_pdf.gif

What is the difference? Nothing, apart from the file extension. The contents are exactly the same. The reason why there are two options is for the Windows platform. On Windows, the extension is used to associate a file with an application. .pdf is associated with Adobe Acrobat. When you double click on a file, this dot extension is used to assist Windows in determining which application to launch to view the file. With InDesign 2.0, when using the contextual menu “Graphics>Edit Original“, this association is also used. As this is a Photoshop PDF, and normally when editing/viewing the file – you would like to show it in Photoshop, an additional extension is permitted: .pdp, or Photoshop PDF.

I would recommend using the .pdp extension when saving a file from Photoshop as a Photoshop PDF. There were changes in InDesign 2.0 and 2.0.1 to support .pdp as equivilent to .pdf.

For MacOS users, the extension for InDesign 2.0 files is .indd

In fact, I would always use Photoshop PDF as the primary format when taking files from Adobe Photoshop to InDesign. There are no downsides: the file size is smaller, vector text and layers are supported and kept as vector.

Los Angeles Gallery

[2209] Sonoran Desert from flight PVR to LAX
Sonoran Desert from flight PVR to LAX

[2210] Sonoran Desert from flight PVR to LAX
Sonoran Desert from flight PVR to LAX

[2211] Snow capped mountain in Sierra Nevadas, PVR to LAX
Snow capped mountain in Sierra Nevadas, PVR to LAX

[2212] Palms, Los Angeles, California
Palms, Los Angeles, California

[2213] 3rd Street Promenade, Santa Monica, California.
3rd Street Promenade, Santa Monica, California.

[2214] Clock tower, Santa Monica, California
Clock tower, Santa Monica, California

[2215] Cuban cigars, Mercedes and traffic on La Cienega Blvd. What more could be LA?
Cuban cigars, Mercedes and traffic on La Cienega Blvd. What more could be LA?

[2216] Views from a Mall. Beverly Center Car Park to the Hollywood Hills. Los Angeles, California
Views from a Mall. Beverly Center Car Park to the Hollywood Hills. Los Angeles, California

[2217] Driving La Cienega: Academy of Motion Picture Arts and Sciences.
Driving La Cienega: Academy of Motion Picture Arts and Sciences.

[2218] Driving La Cienega: Motel
Driving La Cienega: Motel

[2219] Driving La Cienega: Car Wash
Driving La Cienega: Car Wash

[2220] Driving La Cienega: Lonely Palm
Driving La Cienega: Lonely Palm

[2221] Driving La Cienega: Dislocated Eucalypt Trees
Driving La Cienega: Dislocated Eucalypt Trees

[2222] Another country, another flight, another airport lounge. Terminal 4, LAX
Another country, another flight, another airport lounge. Terminal 4, LAX

Sydney MINI Cooper S Meet 16 March 03

[1361] Meeting at Red Rooster,
Meeting at Red Rooster, “Westbound on the M4”, 16 March 2003

[1362] Meeting at Red Rooster,
Meeting at Red Rooster, “Westbound on the M4”, 16 March 2003

[1363] Meeting at Red Rooster,
Meeting at Red Rooster, “Westbound on the M4”, 16 March 2003

[1364] Meeting at Red Rooster,
Meeting at Red Rooster, “Westbound on the M4”, 16 March 2003

[1365] Meeting at Red Rooster,
Meeting at Red Rooster, “Westbound on the M4”, 16 March 2003. Dominic’s family came a loooong way for this trip. Victorian car on a NSW rally. Cool.

[1366] Meeting at Red Rooster,
Meeting at Red Rooster, “Westbound on the M4”, 16 March 2003. All lined up.

[1367] Meeting at Red Rooster,
Meeting at Red Rooster, “Westbound on the M4”, 16 March 2003. All lined up, ready to roll.

[1368] Meeting at Red Rooster,
Meeting at Red Rooster, “Westbound on the M4”, 16 March 2003.

[1369] Meeting at Red Rooster,
Meeting at Red Rooster, “Westbound on the M4”, 16 March 2003. Road trip sponsored by MacDonalds

[1370] Meeting at Red Rooster,
Meeting at Red Rooster, “Westbound on the M4”, 16 March 2003. All the (proud) owners.

[1371] Parked at the destination of the rally: Log Cabin Motor Inn, Penrith NSW.
Parked at the destination of the rally: Log Cabin Motor Inn, Penrith NSW.

[1372] Guess Who?
Guess Who?

70 Days, 7 Countries

Within the short period of 70 days, I visit at least 7 cities in Asia and Europe. This is a special textlog and imagelog of the experience.

The Cities:

Auckland (23rd March to 25th March)

Auckland Gallery

Florence (18th April to 22nd April)

Florence Gallery

Hong Kong (26th April to 28th April)

Hong Kong Gallery

London (1st April to 10th April, 25th to 26th April)

London Gallery

Normandy (11th April to 17th April)

Normandy Gallery

Normandy Panorama Galleries

Rome (22nd April to 25th April)

Rome Gallery

Singapore (8th March to 12th March)

Singapore Gallery

Tokyo (9th May to 16th May)

Tokyo Gallery

Venice (15th April to 18th April)

Venice Gallery