TweetFollow Us on Twitter

March 93 - PRINT TIPS




[IMAGE 052-053_Print_Hints_rev1.GIF]

With the release of QuickDraw GX later this year, there are a few changes in store for print land. In this column, I'm going to talk about two of these changes -- the disappearance of the PDEF 10 resource from the QuickDraw GX LaserWriter driver, and the disappearance of the 'STR ' (-8192) and 'PAPA' (-8192) resources from a system running QuickDraw GX.

Like most changes, the fact that these resources are going away is both good news and bad news. The good news is that printing is going to work much better in the GX world than it does today. For one thing, the new printer driver architecture provides functionality that used to be unavailable through the Printing Manager, which is why people got involved in directly grabbing resources in the first place. The bad news is that if youare currently grabbing these resources, you're going to have some problems running under QuickDraw GX, and you need to decide now how you're going to deal with this.

Before we get into solutions, however, let's back up a bit, and answer the question, What's a PDEF, anyway? A PDEF is just a code resource for printer drivers. All printer drivers contain multiple PDEFs, each of which implements a piece of the driver's functionality, like displaying dialog boxes or alerts. PDEF 10 contains the printer access protocol (PAP) code that enables a LaserWriter driver to communicate with a network printer. (For details about the interface to PAP, see Chapter 10, "Printer Access Protocol," inInside AppleTalk.) Some applications that need the PAP code have acquired it by sucking PDEF 10 out of the LaserWriter driver. Before Apple put together its PAP software licensing package, grabbing PDEF 10 like this was a quick and easy way to get what you needed. But it's an approach that's unsupported by Apple and that has always carried the seeds of compatibility problems.

So what should you do if you're currently grabbing PDEF 10 out of the LaserWriter driver? You've got the following possible solutions:

  • Continue to grab PDEF 10, but make sure you're prepared to handle failure gracefully when you can't get it. Basically, you'll need to let the user know that your application isn't compatible with the version of system software being used -- that is, the QuickDraw GX-based system. Not a very user-friendly solution, but that might be OK for your application.
  • If all you need to do is download a PostScriptTM file to the LaserWriter, use the PostScriptHandle PicComment and a basic print loop. Most applications need to do a lot more than send a bunch of PostScript code down the pipe -- for instance, they need to set the characteristics of the PostScript printer -- but if your application's needs are really this limited, it can be happy in the GX world. If you're interested in this approach, take a look at the Technical Notes "A Printing Loop That Cares . . ." and "PicComments -- The Real Deal." You can also look at the PostScriptHandleDemo snippet in the Snippets folder on theDeveloper CD Seriesdisc.
  • Write your own PAP interface files. This is a relatively time-consuming operation, but it gives you total ownership of the code, and your application is unlikely to break with future system software releases. Quite a few developers have had success with this approach.
  • License Apple's PAP library code -- the same library that's used within the LaserWriter Font Utility. The latest version (v. 1.5) of the library improves on the last version and has more complete documentation. If you're interested in licensing this library, please contact

    Software Licensing
    Apple Computer, Inc.
    20525 Mariani Avenue, M/S 38-I
    Cupertino, CA 95014
    AppleLink: SW.LICENSE
    Phone: (408)974-4667
  • Use Apple's LaserWriter Font Utility and add your custom features to it. In System 7, the LaserWriter Font Utility can handle drop-in enhancements called UTILs. UTILs take care of all the communication issues for you, and they give you quite a bit of power and flexibility. If you're interested in this approach, take a look at "PostScript Enhancements for the LaserWriter Font Utility" in Issue 10 ofdevelop.

At this point, you're probably wondering which solution is the best for you. It all depends on your requirements. From my point of view, any solution besides the first is acceptable if it will keep your users happy and keep you compatible with future system software releases.

Now let's turn to the disappearance of the 'STR ' (-8192) and 'PAPA' (-8192) resources. On a non-QuickDraw GX system, the 'STR ' resource contains the name of the currently chosen printer driver, while the 'PAPA' resource contains the name and network address of the current PAP printer. Because QuickDraw GX will allow more than one active printer at a time, these resources will become obsolete.

Why is this a problem? Only because some applications currently grab the 'STR ' and 'PAPA' resources to automatically select a printer without going through the Chooser. Under QuickDraw GX, it will be possible to redirect a print job to another printer via the Printing Manager's public API. So new applications and applications revised to work under QuickDraw GX will be able to programmatically redirect print jobs on the fly in a clean, supported manner.

If your application isn't GX-smart, the simplest way to deal with the disappearance of the 'STR ' and 'PAPA' resources is probably just to remove your application's feature of circumventing the Chooser. If your application absolutely requires this functionality, however, make sure that when these resources aren't available, you tell the user to go use the Chooser. This way your application will print on a QuickDraw GX system without any problems.

This column has looked at a couple of compatibility problems that can emerge when non- QuickDraw GX applications run under QuickDraw GX, and also at some of the ways that you can avoid these problems. As long as you're prepared to implement one of the solutions recommended here, your application will run just fine under QuickDraw GX. And on the bright side, QuickDraw GX is going to allow your application to access and control a vast amount of information at print time. QuickDraw GX will provide the API your application requires to take care of all the user's printing needs without having to cruise through printer driver or system resources. You asked for it, and soon you'll have it!


  • Inside AppleTalk (Addison-Wesley, 1990), Chapter 10, "Printer Access Protocol."
  • Macintosh Technical Notes "PicComments -- The Real Deal" (formerly #91), "A Printing Loop That Cares . . . " (formerly #161), and "Printer Access Protocol Q&As" under "Using PAP & code for finding printer driver under System 7."
  • "PostScript Enhancements for the LaserWriter Font Utility" by Bryan K. Ressler, develop Issue 10.

PETE ("LUKE") ALEXANDER In the winter, Luke likes to hit the cross-country ski tracks. There you'll find him striding across meadows and down hills on long strips of fiberglass. One day he agreed to a "small" uphill ski at a friend's urging, only to discover halfway into it a virtually vertical two-mile climb! Weighing the risks of descending uncontrollably from there versus continuing on, Luke forged ahead, arriving at the summit an hour (and a lot of side stepping) later. Since then, he's been particularly wary of e-mails beginning "Dear Luke, I have this small printing problem."*

Grabbing the PAP driver from PDEF 10 is described both in the Macintosh Technical Note "Printer Access Protocol Q&As" under "Using PAP & code for finding printer driver under System 7" and in the article by Mike Schuster called "Laser Print DA for PostScript" in MacTutor Volume 2, Number 2.*

To find out whether the QuickDraw GX Printing Manager is installed, call the Gestalt function with the 'pmgr' selector. *

Thanks to Hugo Ayala, Tom Dowdy, Dave Hersey, Jim Luther, and Scott ("Zz") Zimmerman for reviewing this column. *


Community Search:
MacTech Search:

Software Updates via MacUpdate

OmniPlan 3.0 - Robust project management...
With OmniPlan, you can create logical, manageable project plans with Gantt charts, schedules, summaries, milestones, and critical paths. Break down the tasks needed to make your project a success,... Read more
Yummy FTP 1.11 - FTP/SFTP/FTPS client fo...
Yummy FTP is an FTP + SFTP + FTPS file transfer client which focuses on speed, reliability and productivity. Whether you need to transfer a few files or a few thousand, schedule automatic backups, or... Read more
Tweetbot 2.1 - Popular Twitter client. (...
Tweetbot is a full-featured OS X Twitter client with a lot of personality. Whether it's the meticulously-crafted interface, sounds and animation, or features like multiple timelines and column views... Read more
MacPilot 8.0 - Enable over 1,200 hidden...
MacPilot gives you the power of UNIX and the simplicity of Macintosh, which means a phenomenal amount of untapped power in your hands! Use MacPilot to unlock over 1,200 features, and access them all... Read more
Typinator 6.7 - Speedy and reliable text...
Typinator turbo-charges your typing productivity. Type a little. Typinator does the rest. We've all faced projects that require repetitive typing tasks. With Typinator, you can store commonly used... Read more
Adobe Lightroom 6.2 - Import, develop, a...
Adobe Lightroom is available as part of Adobe Creative Cloud for as little as $9.99/month bundled with Photoshop CC as part of the photography package. Lightroom 6 is also available for purchase as a... Read more
ForeverSave 2.1.4 - Universal auto-save...
ForeverSave auto-saves all documents you're working on while simultaneously doing backup versioning in the background. Lost data can be quickly restored at any time. Losing data, caused by... Read more
VueScan 9.5.27 - Scanner software with a...
VueScan is a scanning program that works with most high-quality flatbed and film scanners to produce scans that have excellent color fidelity and color balance. VueScan is easy to use, and has... Read more
AirPort Utility 6.3.6 - Set up and manag...
Note: Most recent release available only within OS X 10.11 El Capitan update. Use AirPort Utility to set up and manage your Wi-Fi network and AirPort base stations, including AirPort Express, AirPort... Read more
Quicksilver 1.3.1 - Application launcher...
Quicksilver is a light, fast and free Mac application that gives you the power to control your Mac with keystrokes alone. Quicksilver allows you to find what you need quickly and easily, then act... Read more

Super Sharp (Games)
Super Sharp 1.1 Device: iOS Universal Category: Games Price: $1.99, Version: 1.1 (iTunes) Description: Your finger has never been so sharp! Cut with skill to complete the 120 ingenious physics levels of Super Sharp and become a cut... | Read more »
Assembly - Graphic design for everyone...
Assembly - Graphic design for everyone 1.0 Device: iOS Universal Category: Photography Price: $2.99, Version: 1.0 (iTunes) Description: Assembly is the easiest most powerful design tool on the App Store. Create anything you can... | Read more »
YAMGUN (Games)
YAMGUN 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: The invasion has begun! Protect the walls of the citadel against waves of enemies! But watch out, you will soon run out of ammo...... | Read more »
Royal Bounty HD (Games)
Royal Bounty HD 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: New World Computing Approved "Hi Guys! looks good so far! keep up the good work. I worked on HoMM 3 and 4 creating all of the... | Read more »
Swords & Crossbones: An Epic Pirate...
Swords & Crossbones: An Epic Pirate Story 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: | Read more »
Camel Up (Games)
Camel Up 1.0.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.0 (iTunes) Description: | Read more »
The Martian: Bring Him Home (Games)
The Martian: Bring Him Home 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Based on the best selling novel and critically acclaimed film, THE MARTIAN tells the story of Astronaut Mark... | Read more »
This Week at 148Apps: September 21-30, 2...
Leap Into Fall With 148Apps How do you know what apps are worth your time and money? Just look to the review team at 148Apps. We sort through the chaos and find the apps you're looking for. The ones we love become Editor’s Choice, standing out above... | Read more »
Tweetbot 4 for Twitter (Social Networki...
Tweetbot 4 for Twitter 4.0 Device: iOS Universal Category: Social Networking Price: $4.99, Version: 4.0 (iTunes) Description: *** 50% off for a limited time. *** | Read more »
Mori (Games)
Mori 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Stop, rewind and unwind with Mori. Time is always running, take a moment to take control. Mori is an action puzzle game about infinitely... | Read more »

Price Scanner via

Save up to $350 with Apple refurbished iMacs
Apple has Certified Refurbished iMacs available for up to $350 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free: - 27″ 3.5GHz 5K iMac – $1949 $350 off MSRP - 27... Read more
Mac Pros on sale for up to $300 off MSRP
B&H Photo has Mac Pros on sale for up to $300 off MSRP. Shipping is free, and B&H charges sales tax in NY only: - 3.7GHz 4-core Mac Pro: $2818.99, $181 off MSRP - 3.5GHz 6-core Mac Pro: $3699... Read more
5K iMacs on sale for up to $150 off MSRP, fre...
B&H Photo has the 27″ 3.3GHz 5K iMac on sale for $1899.99 including free shipping plus NY tax only. Their price is $100 off MSRP. They have the 27″ 3.5GHz 5K iMac on sale for $2149, $150 off MSRP... Read more
Twelve South Redesigns BookArc For Today’s Sm...
Twelve South has announced a redesigned version of their very first product, BookArc for MacBook. Tailored specifically for the newest generation of MacBooks, BookArc holds the new, smaller Apple... Read more
Phone 6s Tips & Tricks – Tips Book For iP...
Poole, United Kingdom based Tap Guides Ltd. has announced the release and immediate availability of iPhone 6s Tips & Tricks, an in-depth eBook available in the iBookstore that’s priced just $2.99... Read more
13-inch 2.5GHz MacBook Pro on sale for $994,...
Best Buy has the 13″ 2.5GHz MacBook Pro available for $994.99 on their online store. Choose free shipping or free instant local store pickup (if available). Their price is $105 off MSRP. Price valid... Read more
Is The iPad Pro Really A Serious Laptop Repla...
Probably not, at least for productive professionals and other power users. Steve Jobs declared that we’d entered the “post-PC Era” with the advent of the original iPad in 2010, a phrase we don’t hear... Read more
Wednesday Deal: 13-inch Retina MacBook Pros f...
Adorama has 13″ Retina MacBook Pros on sale for up to $130 off MSRP. Shipping is free, and Adorama charges sales tax for NY & NJ residents only: - 13″ 2.7GHz/128GB Retina MacBook Pro: $1199.99 $... Read more
uBar 3.0 for Mac OS X – Custom Dock Replaceme...
Brawer Software has announced the release of uBar 3.0, an important update to their popular app and window manager for Mac OS X. uBar allows users to position it whichever side of the screen they... Read more
13-inch 2.5GHz MacBook Pro (refurbished) avai...
Apple has Certified Refurbished 13″ 2.5GHz MacBook Pros available for $829, or $270 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free: - 13″ 2.5GHz MacBook Pros... Read more

Jobs Board

*Apple* Retail - Multiple Customer Support P...
Job Description:Customer SupportSpecialist - Retail Customer Service and SalesTransform Apple Store visitors into loyal Apple customers. When customers enter the Read more
Software Engineer, *Apple* Watch - Apple (U...
…the team that is revolutionizing the watch! As a software engineer on the Apple Watch team, you will be responsible for building world-class applications and frameworks Read more
*Apple* Online Store UAT Lead - Apple (Unite...
**Job Summary** The Apple Online Store is a fast paced and ever evolving business environment. The User Acceptance Testing (UAT) lead in this organization is able to Read more
Hardware Systems Integration Engineer - *App...
**Job Summary** We are seeking an enthusiastic electrical engineer for the Apple Watch team. This is a design engineering position that entails working with Read more
Touch Validation Design (EE) - *Apple* Watc...
**Job Summary** Help launch next-generation Touch Technologies in Apple products. The Touch Technology team develops cutting-edge Touch solutions and technologies that Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.