Generating PDF via OpenXML, PowerShell…

Colleague in crime, and fellow Aussie (well, at least he’s naturalised now), Dave Glover has a post that crosses some old territories of mine.

Using Powershell, .Net, OpenXML and some code that I barely understand because it’s not Python; he’s been able to generate 60 to 70 documents per second.

Linking it here as it intersects the Adobe / Microsoft world.

New York Times Reader Trumps Adobe Reader

The recently released New York Times Reader (http://www.nytimes.com/mem/reader_regi.html) is what the Adobe PDF Reader should be today. Small, data-driven, dynamic, interactive and skinable.

Scott Hanselman states this is a precursor to WPF based RSS readers. I am going to go one further and state this is the future of dynamic publishing for large, paper-based publishers. A territory traditionally marked by Adobe as their home soil.

Adobe, the old leader in this space with PDF, has missed the ferry to New York and may be stuck on the island for a while. Even Macromedia (now married to Adobe) has missed this boat.

Small:

Times Reader will requires .Net Framework 3.0. Today this is a hassle. In the future, with Vista and wider deployments the base Framework, the comparative size of the downloads will become very noticeable.

The installer is less than 1Mb, installing an application that is 2.5Mb.

The Adobe Reader is larger (21.5Mb).

Data-driven:

Rather than the content being bound up with the presentation, something that IT professionals constantly consider bad architecture, with the Times Reader these are kept separate.

The display resizes correctly, but within the bounds of the New York Times look-and-feel. Designing for this style of layout is not simple today: it requires the smarts of a developer to generate. I believe there is a market to wire backend services to custom publisher-centricinterfaces in a mechanism non-experienced programming designers can grok.

Maintaining the ownership of the content, even in a creative-commons mantra world, is critical. There is a significant investment in infrastructure to run a publisher, and this must be paid for. Adding value is the only way a large publisher can charge for their premium content. Whilst the Adobe Reader has mechanisms for, cough, DRM, inbuilt – it is another barren wasteland in daily publishing worlds.

Dynamic:

The central dogma/mantra of the Adobe Reader is to retain the original designer’s intent (including fonts) Acrobat does have limited reflow and resizing ability; mainly tacked onto the Reader to permit accessibility. There is an under utilised feature of Acrobat called the Article Tool. Ever used it? It has been in there since the very early versions.

The Times Reader permits resizing of the application and correctly reflows the text; in a composition mechanism that Adobe has living in InDesign, InCopy – even PageMaker. Why can’t these be bolted into an Adobe Reader? InDesign could be turned into the frontend design tool; Coldfusion is at the backend. Maybe this is too old ground for Adobe?

Interactive:

Searching in the Times Reader is a pleasure, and surprises you. With dynamic searching; that is the relevant articles appear under the search box as you type is way excellent. The Topic Explorer is worth the price of entry, alone. It reminds me of Apple’s MCF/Hotsauce/Project X.

Topic Explorer

Skinable:

New York Times owns the interface, lock-stock-and-barrel. The experience is theirs. Being a newspaper of record, this is critical. To change the interface to match their corporate standard is something that the Adobe Reader should permit.

As Scott Hanselman states, the Times Reader is the current poster child for Microsoft’s WPF technologies. The only arrow I can aim at its heart is the Windows XP/Vista only nature of the Reader. Come on Microsoft, release a MacOS version! Having .Net on the Mac platform is probably the friendliest Unix you guys are going to get since Xenix.

It also happens to trump the old king of type and presentation: Adobe. Will Apollo save Adobe’s reputation? Let’s hope its Apollo 11, not Apollo 13.

CMYK is not Evil

When taking your piece of digital design to the printed world, there is this nasty, some would say: evil, thing called CMYK. Dynamic Graphics magazine has a five-point article on how to survive in a CMYK world. http://www.dynamicgraphics.com/dgm/Article/28597

Excellent read, and even better: tag/bookmark it for later.

Some notes of my own, based on 8 years of questions from customers. I’ll add to this, so you can tag it and come back.

  1. In a majority of cases, a Print designer works in RGB or CMYK. RGB stands for Red-Green-Blue; this is ‘subtractive’ colors using light to generate the colors you see on screen. CMYK is Cyan Magenta Yellow and Black(K). This is a ‘additive’ mechanism where these inks are mixed together to generate the colors we see. Light is ‘reflected’ through the ink, off the paper to your eye. As these color mechanisms are very different, the color results are different.
  2. The screen; LCD or CRT, will not show all the colours that can be printed: especially in the shadows, blues, purples and oranges. CMYK has a color space that is different to monitors we view our designs. You can purchase devices to ensure that where colors can be displayed onscreen: they match.
  3. Set the background/desktop of your OS to neutral gray, and run the color calibration software to set your monitor correctly. The environment in which you evaluate color; the lighting, background lighting and the colors on your screen get in the way of color evaluation. If you can afford it, purchase a screen color calibration device. If you can print a neutral gray with no color cast (too much CMY), you are 80% to a calibrated device.
  4. Another “name” for CMYK is Process Colors, or just Process. Another way to think of this is “Process” equals “The normal Process”. All JPEGs may not be RGB; you can have CMYK JPEGs.
  5. There is a myriad of software components that can convert RGB to CMYK. These are called Color Management “Engines”. It is a mathematical process. Adobe Photoshop converts between these colorspaces. So does Apple’s Colorsync, so does the software that sits inside a RIP or a printer driver. As each of these pieces of software are not written by the same people, your results may and probably will differ depending on the environment. Use the software you can trust.
  6. Color Profiles, which describe the colorspace a particular image is “in” can be small, or large (up to 1Mb). Software as described above may use this Profile to convert from one colorspace to another; some software may ignore some parts of the profile and the color results will differ. Some printer drivers just use their inbuilt software and ignore the color profiles altogether. Color Management, to work consistently, needs to use the same “color engine” consistently at all points to be 100% perfect.
  7. Color Profiles describe colors in RGB, CMYK or a colorspace called “CIE L*a*b” (shortened to LAB). LAB describes color in a device independent (that is, not screen, not printer) using Lightness (L), Red-Green (a) and Yellow-Blue (b). If you use a Color Management Engine to convert from RGB to CMYK, the engine will pass through LAB first. Some specific colors, or color ranges, may have special “transforms” as described by the color profile.
  8. The CMYK colorspace can print a wide variety of colors. Look at a coffee table book; it’s is a high screen (150lpi to 175lpi) print – printed in CMYK. Yes, there are other color spaces that add 2 or more plates that “mix together” extra colors to result in a higher number of printed colors (also known as higher range colorspace). Printing CMYK + spot plates is not the same. The extra 2 plates are printing two specific colors. You are asking the Printer to add an extra two colors in the print run, add extra inks. This costs money. In a large number of cases, you are printing normal CMYK. Ensure your Spots are converted to Process (CMYK)
  9. Convert to CMYK as late as possible in your design, if you can. Keeping originals in a format closest to the original (RGB for Stock Photography, in the most lossless compression, or Camera Raw formats such as DNG) will mean that you can convert to the target CMYK and keep as much color in the pixels as possible. RGB, based on the same compression settings, will be 25% smaller, too.
  10. There is nothing like a printed proof from a color-matched, calibrated device. Inkjet or otherwise; to ensure a match. But also note that a proofer is not the press/digital press – so your design colors may not exactly match. If the proofer is not yours, ask when it was last calibrated. Ask if the paper and inks being used are consistent.
  11. Swatches from Pantone and others ensure that key colors: such as Corporate logos, match at print time. The colors on screen may not exactly match (see #1 above). Once you use these swatches, you are manually color managing. Pantone swatches have an associated CMYK value attached to the named swatch. Rarely will you use a Pantone color for a “spot” or extra plate.
  12. Once you “hard code” a CMYK value, or use a commercial swatch set like Pantone – you are in control of the color. Color Management may change the colors later on, but generally you are telling the Press operator: I want this mix across my four plates.
  13. If you work in RGB you are leaving other systems (ColorSync on MacOS X, maybe printing from InDesign) to decide how to convert to CMYK. If you are printing from Word to a consumer inkjet printer, the drivers are using RGB and the printer driver converts to CMYK (or more inks) for you. The more information you attach to your RGB image (source Color Profile for instance), the greater chance your output driver will successfully print the colors.
  14. Press operators are the most highly experienced color people you will ever meet. If you are at the design end of the world, and you meet one; buy them a beer or coffee and have a chat. Each one will have a story about an “unprintable job”. Given no proof, they will match the print to what our eyes will notice most: flesh tones, green grass/trees and a blue sky. The central modus operandi is to ensure that the color is believable in the printed result. Our mind is trained to recognise these colors based on our mental perception of the image as a whole. If there is a printed proof, they will obviously match to the proof. Trust the Press operator.
  15. RIPs, the devices that take your PDF or file and generate proofs or plates, rasterize (convert to very, very high DPIs) images (bitmaps) and vectors (text, lines, boxes) through different paths. Whilst there are settings in the RIPs to turn this off, you cannot be sure that this is the setting used. Be very, very careful if you are attempting to match the color of a vector object to the color in a bitmap object. RIPs may use their own Color Management Engine; generally this engine will be unknown to you.

References and further Reading

  • Color Articles from Color Remedies. Greater than 6 years old, but still relevant.

Printing PDF 1.4 from InDesign 2.0

Printing Acrobat 5.0/PDF1.4 Generated by Adobe InDesign 2.0. Sorry about the duration between notes here. Busy doing other, non technical stuff.

Turkey wins Eurovision 2003: On the British zero point score: “But others were less charitable, citing Jemini’s off-key performance, tacky costumes and inane lyrics.” So why did anyone score points at all? In fact, why are Iceland and Israel in the competition. They are not in Europe! In fact, isn’t Turkey barely a European country? Go Estonia

InDesign: Duotones into InDesign

This has been in my head for a while: InDesign 2.0: Photoshop, Duotones into InDesign

In my time I have seen various ‘complaints’ that Adobe does not publish the specifications for the PDF (Portable Document Format) in a timely fashion – thereby gaining market advantage. Well, the Draft PDF Reference, Version 1.5 is available before Acrobat 6.0 ships! Whilst this is a Draft version, and subject to change, it does go to show that we are a friendlier company than some people claim.

Now, at 1107 pages in length – its not going to be a read for all of us!