TweetFollow Us on Twitter

Winter 91 - PRINT HINTS WITH LUKE & ZZ

PRINT HINTS WITH LUKE & ZZ

ZZ speaks

Once upon a time, in an engineering department far, far away, the great implementors (GIs) ran across a problem with their Frankensteinian monster. They had designed and built a powerful beast. A beast that had traveled great distances into unknown territories, and that had cut many new paths in the hot lead jungle. Many spoke of the creation, and it had become well known and respected in many lands and platforms. But the complexity that only the great implementors had dared to conceive was being challenged by the great hackers of the land. Many of them had conquered the secrets of the beast, and shared the knowledge of the great implementors. Soon, even mortal hackers would be able to control the beast. This would not do. . .

The GIs traveled far to find the infamous "field workers." They had already given the GIs the gift of dynamic, incomprehensible data structures, and the GIs were hopeful that they could provide something more. They could not. . .

At last, on their return from the field, they ran across a court jester. Like all good jesters, he was trying hard to find some fun. He tried to get the GIs to play a game with him. He tried Monopoly, Pictionary, even checkers, but the GIs were not interested (he did notice a little glimmer when he mentioned thermonuclear war, but not enough to be important). As a last resort, he finally said, "Pick a number." Suddenly, the great gods of arbitration came down on the GIs like a 5-ton weight. "Pick a number!" one of them shouted. "It's beautiful!" laughed another one. And soon they were off to the lab to implement their new discovery.

This folks, is the not-based-on-a-true-story story of the constant named iPfMaxPgs. This constant is part of the Printing Manager, and limits the number of pages that can be spooled (that is, written to disk) in one print job. In the old days, when even engineers at Apple were using floppy drives, the Print Shop came to the conclusion that there should be a limit on the number of pages you could print in a single job. If not, the user could easily use up all the disk space on the boot disk, which at the time, led to other, even more interesting problems. The decision to limit the number of pages was quickly followed by a decision to use the court jester's advice and "pick a number." The magic number is 128, and is referenced by the constant iPfMaxPgs.

So now, you are printing your favorite report, all 130 pages of it, and just to annoy your neighbors, you're printing to your ImageWriter II in Best mode. You've placed the printer next to the window in the bathroom where the acoustics are especially outgoing, and the window is open for the extra cooling effect (at least, that's what you told the neighbors). As the head rips across the bottom of page 128 like nails across the chalkboard, you are suddenly greeted with a Printing Manager error code. Sure, your neighbors are happy, but you still have two pages to go. You frantically dig for that suicide prevention number (that your neighbors have obviously borrowed), but decide instead that printing more than 128 pages in one job would be a great way to get new neighbors.

To print jobs longer than 128 pages, you simply treat them like multiple jobs, printing each set of 128 pages just like the first set. To make this even simpler, it would be nice if there was one line of code that told you when to close the current document and open the new one. Welcome to the MOD squad (or the % Club for you C dudes).

The MOD instruction is very useful for tracking sets of things, like the number of pages in a print job. Most people that have implemented a Macintosh printing loop (you can spot them by the gray hair and growing forehead) use some kind of page loop.

The following code fragments will show the flow of control using the MOD operator. The parameters of the Toolbox routines have been omitted for simplicity.

Before you knew enough words to type 128-page documents, you used to have a print loop that figured out how many pages you had to print and then printed them one at a time.

This works well for bothering neighbors, but you'll never get any For Sale signs with this technique. To print jobs larger than 128 pages, you need to call PrOpenDoc/PrCloseDocwithin the FOR loop. Whenever you reach 128 pages, you need to call PrCloseDoc to close the current document, and then PrPicFile to despool the (now full) spool file. Once this is done, a new document is opened, and everything continues as before.

FOR pageIndex := firstPage TO kNumberOfPages - 1 DO
BEGIN
    (* If we are on page number 128, 
       we need to close and reopen the document *)
    IF (pageIndex - firstPage) MOD iPFMaxPgs = 0 THEN
    BEGIN
        (* Make sure there is a document open before
           calling PrCloseDoc! i.e. if this is the first
           page, don't call PrCloseDoc... *)
        IF pageIndex <> firstPage THEN 
        BEGIN
            PrCloseDoc(...);
            PrPicFile(...);
        END;
        (* Now open a fresh, 128 page spool file. *)
        PrOpenDoc(...);
    END;
    (* Call PrOpenPage/PrClosePage for each page of the document. *)
    PrOpenPage(...);
    PrintAPage(...);
    PrClosePage(...);
END;
(* Finally, close the document and despool the spool file.*)
PrCloseDoc(...);
PrPicFile(...);
.
.
.

Pretty straightforward, but you'd be surprised how many developers the great implementors have caught with this one. Using the above method, you can safely print large documents on any device, without having to worry about overflowing the spool file. As for your neighbors, you could always put a Pause/Continue button in your Printing Status dialog, but then, where's the fun in that?

 
AAPL
$439.66
Apple Inc.
-3.27
MSFT
$34.85
Microsoft Corpora
-0.23
GOOG
$906.97
Google Inc.
-1.56

MacTech Search:
Community Search:

Software Updates via MacUpdate

KeyCue 6.5 - Displays all menu shortcut...
KeyCue helps you to use your OS X applications more effectively. Just hold down the Command key for a while - KeyCue comes to help and shows a table of all currently available keyboard shortcuts.... Read more
HoudahSpot 3.7.8 - Advanced front-end fo...
HoudahSpot is a flexible file-search tool based on Apple's powerful Spotlight engine. Keep frequently used files within reach Retrieve the files you didn't know you still had Don't waste time... Read more
Cobook Contacts 1.2.6 - Intelligent addr...
Cobook Contacts is a better address book that makes contact management enjoyable for millions of people every day. Find contacts faster and organize them with tags. Get integrated social profiles... Read more
AppDelete 4.0.7 - Delete your unwanted a...
AppDelete is an uninstaller for Macs that will remove not only applications but also widgets, preference panes, plugins and screensavers along with their associated files. Without AppDelete these... Read more
OnyX 2.6.9 - Maintenance and optimizatio...
OnyX is a multifunctional utility for OS X. It allows you to verify the startup disk and the structure of its System files, to run miscellaneous tasks of system maintenance, to configure the hidden... Read more
Apple iTunes 11.0.3 - Manage your music,...
Apple iTunes lets you organize and play digital music and video on your computer. It can automatically download new music, app, and book purchases across all your devices and computers. And it's a... Read more
Spotify 0.9.0.133. - Stream music, creat...
Spotify is a new way to enjoy music. Simply download and install. Before you know it you'll be singing along to the genre, artist, or song of your choice. With Spotify you are never far away from... Read more
JollysFastVNC 1.46 - Fast VNC client. (S...
JollysFastVNC is a VNC client which aims to become the best VNC client on the Mac. When I started ScreenRecycler I thought that there are enough VNC clients out there to support it. When the program... Read more
Skitch 2.5.2 - Take screenshots, annotat...
Skitch allows you to take screenshots on your Mac, edit them and share them with others. It makes the sharing process seamless by making it a natural workflow to send the image (with edited arrows... Read more
Backblaze 2.1.0.608 - Online backup serv...
Backblaze is an online backup service, available fo $5/month for unlimited storage. With half of the founding team heralding from Apple, Backblaze is deeply committed to the Mac platform. The... Read more

Blitz Brigade Review
Blitz Brigade Review By Andrew Stevens on May 21st, 2013 Our Rating: :: CHAMPION KILLERUniversal App - Designed for iPhone and iPad Blitz Brigade is an enjoyable first-person shooter where players fight online in multiple gameplay... | Read more »
gMusic Submits Update To Bring Google’s...
gMusic Submits Update To Bring Google’s All Access Streaming Music Service To iOS Posted by Andrew Stevens on May 21st, 2013 [ permalink ] gMusic: A Google Mus | Read more »
CandyMeleon Review
CandyMeleon Review By Blake Grundman on May 21st, 2013 Our Rating: :: SWEETLY ADDICTIVEUniversal App - Designed for iPhone and iPad Who could say no to a Chameleon that is this cute? Feed his sweet tooth and you will see just how... | Read more »
Fire & Forget: The Final Assault Rev...
Fire & Forget: The Final Assault Review By Rob Rich on May 21st, 2013 Our Rating: :: MY CAR IS FIGHTUniversal App - Designed for iPhone and iPad Fire & Forget: The Final Assault is one crazy post-apocalyptic ride.   | Read more »
Appy Geek Updates With Enhanced Design a...
Appy Geek Updates With Enhanced Design and Customizable Home Screen Posted by Andrew Stevens on May 21st, 2013 [ permalink ] | Read more »
What’s the Deal with rymdkapsel?
rymdkapsel made a bit of a splash when it was released on the PlayStation Vita a few weeks ago. And in another couple of months this excessively minimal and abstract strategic base building “sim” will be making its way on to the App Store for... | Read more »
Star Command Getting Exploding Ships, Sp...
Star Command Getting Exploding Ships, Spreading Fires, and Away Teams In Future Updates Posted by Andrew Stevens on May 21st, 2013 [ permalink ] | Read more »
Catch a Ninja Review
Catch a Ninja Review By Jordan Minor on May 21st, 2013 Our Rating: :: CATCH AND RELEASEiPhone App - Designed for the iPhone, compatible with the iPad It turns out ninjas aren’t that much tougher than fruit.   | Read more »
The Portable Podcast, Episode 186
On This Episode: Carter and Kurt Bieg of Simple Machine talk about his studio’s new release, Tomb Breaker, how it spawned from a nearly-complete prototype of another game, and how it fits in with his other titles, Circadia and Twirdie. Break into... | Read more »
Flickr Upgrades Its Free Users To 1 Tera...
Flickr Upgrades Its Free Users To 1 Terabyte Of Photo And Video Storage Posted by Andrew Stevens on May 21st, 2013 [ permalink ] | Read more »

Price Scanner via MacPrices.net

iPads with Retina Displays (Apple refurbished) ava...
The Apple Store has Apple Certified Refurbished 4th generation iPads with Retina Displays, Wi-Fi & Cellular, available for $50 off MSRP. Apple’s one-year warranty is included with each iPad, and... Read more
Apple MacBook Orders To Rise 20% Sequentially In 2...
Digitimes’ Aaron Lee and Joseph Tsai say that with Apple ready to release its new MacBook products in the near future, sources from the upstream supply chain have revealed that orders for MacBook... Read more
Trial Production of 5th-Generation iPad To Begin R...
Digitimes’ Max Wang and Adam Hwang report that trial production of Apple’s 5th-generation 9.7-inch iPad will begin soon with volume production to begin in July, and monthly shipments ramping up to 2-... Read more
Dell’s $100 Thumb-Sized Android PC To Ship In July...
9to5google.com says that Dell’s Project Orphelia, a thumb-sized drive that turns any display with an HDMI port into an Android PC, is to start shipping in July at a price of around $100 according to... Read more
MacBook Airs (Apple refurbished) available startin...
 The Apple Store has Apple Certified Refurbished 2012 MacBook AIrs available for up to $240 off MSRP, with models starting at $849. An Apple one-year warranty is included with each model, and... Read more
Updated Mac Pro, iMac, and Mac mini Price Trackers
We’ve updated our Mac Pro Price Tracker, iMac Price Tracker, and Mac mini Price Tracker with the latest information on prices, bundles, and availability from Apple’s Authorized Internet/Catalog... Read more
Updated MacBook Price Trackers
We’ve updated our MacBook Price Trackers with the latest information on prices, bundles, and availability on MacBook Airs, MacBook Pros, and the MacBook Pros with Retina Displays from Apple’s... Read more
15″ 2.3GHz MacBook Pro on sale for $1659 w/free bu...
B&H Photo has the 15″ 2.3GHz MacBook Pro on sale for $1659 including free shipping. Their price is $140 off MSRP. B&H will include free copies of Parallels Desktop, Bento Database, and LoJack... Read more
15-inch Retina MacBook Pros on sale for $200 off M...
 B&H Photo has 15″ Retina MacBook Pros on sale for $200 off MSRP including free shipping. B&H will also include free copies of Parallels Desktop, Bento Database, and LoJack for Laptops... Read more
Apple refurbished iPad minis available starting at...
The Apple Store has a full lineup of Apple Certified Refurbished iPad minis available starting at $299 – up to $40 off new models. Apple’s one-year warranty is included with each mini, and shipping... Read more

Jobs Board

*Apple* At-Home Team Manager - Apple (U...
Changing the world is all in a day's work at Apple . If you love innovation, here's your chance to make a career of it. You'll work hard. But the job comes with more than Read more
Class 1 District *Apple* Technician -...
QUALIFICATIONS: High School diploma Associate Degree in Technology preferred. Apple Certified Support Professional Mac OS X 10.5, 10.6, 10.7, 10.8 Apple Certified Read more
*Apple* Infrastructure Engineer II - Ba...
39964 Apple Infrastructure Engineer II Full Time Regular posted 04/22/2013 San Ramon, CA San Francisco, CA Requirements What sets Bank of the West apart from other banks Read more
*Apple* Retail - Manager - Apple (Unite...
Job SummaryKeeping an Apple Store thriving requires a diverse set of leadership skills, and as a Manager, youre a master of them all. In the stores fast-paced, dynamic Read more
*Apple* At-Home Team Manager - Apple (U...
Changing the world is all in a day's work at Apple . If you love innovation, here's your chance to make a career of it. You'll work hard. But the job comes with more than Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.