Home | |
Products | |
Purchase | |
Download | |
|
Support |
Why should I add printing to my application?If your application is used by physicians to write prescriptions, or by field salespeople to take orders and print invoices, the answer will be obvious. But even if printing isn't an essential part of your application, many of your users will WANT to generate printed output directly from their Palm. Your application might lack a conduit which brings data back to the desktop to be printed. Even with a conduit, printing from the Palm can be a much faster way to produce hardcopy then HotSync'ing, opening up a desktop application, telling the application to print the information, and then waiting for your print spooler to send the data off to the printer. And, of course, your application might be used in the field, or while travelling, by users who want printed output. And there's always the final reason - competitive advantage. Does it cost money to add printing support to my software?No, only time (and generally a small amount). Our SDK is free. What about licensing the software for my users? Isn't that expensive?Not really:
Can't I write my own printing software?No doubt you can. But take these things into consideration:
Is it hard to add printing support to my application?Generally it's almost trivial. If you have a fixed block of text to print, you just get a pointer to that text, and with single call to PalmPrint, you're done. If you need to iterate through a database, you can print one line (or several lines) at a time as you go through, but it's still pretty simple.Formatting is really the only issue that becomes time consuming. For simple applications (e.g., printing a memo), there's nothing to it; PalmPrint even takes care of word wrapping and page feeds at appropriate times. In other cases, formatting is something you need to think about, because the format of data on your Palm screen isn't likely to be the same (or even close!) to the format of the output you want on paper. If you need to format something like a receipt, with a header, "sold to" information, each line of the order, a footer, etc., the code does add up, but certainly there's nothing difficult about it. Of course you can always add more complexity if you want to. You might want your formatting to change depending on the width of the paper (number of columns of output), for example, or you might want to allow your users the ability to define their own output formats. But even if advanced features like these are relevant to your application, they will rarely be essential for the initial release of a print-enabled version of your software, but instead can be saved for future upgrades. In what languages or with what tools can I write my application and still add printing support with PalmPrint?
Why is PalmPrint (and SCS Print Server) a separate application and not a "shared library"?From the user's point of view, an application and a library are both "PRC files" that need to be installed in their Palm, so installation of the two is identical. The difference is that an application shows up on the Launcher screen and a shared library doesn't, and that the user can run the application (even SCS Print Server) by itself (that is, without running your application). The major reason we do this is to provide a UI which lets the user select the printer and printing method (IR or serial with baud rate) as well as the appropriate parameters (font, font size, margins, etc.). PalmPrint and SCS Print Server therefore provide not just a print driver functionality to your application, but also the desktop equivalent of both the Chooser (Mac) or Printers setting (Windows) and the Page Setup command.This relieves you of the need to include any of that in your application. The same thing could be done with a library, at the expense of adding even more menu choices or other UI to your application. And, of course, the fact that PalmPrint and SCS Print Server are separate applications allows the user to test their printing ability totally independently of your application. This means that if there are printing problems, it's a simple matter for your customer (or your technical support staff) to isolate the source of the problem to our application or yours. What capabilities does PalmPrint or SCS Print Server provide my application?
What printers are supported?PalmPrint supports hundreds of different printers, by including a variety of print drivers:
What's the difference between PalmPrint and SCS Print Server?From the point of view of your application, nothing whatsoever. Both provide exactly the same printing services to your application, and the same user control over printer settings. PalmPrint is the primary application we sell to end users, which provides them with the ability to print memos, to-do items, and anything copied to the clipboard (and, with the aid of our companion application SnailMailer, information from the Address Book). SCS Print Server is a "lite" version which omits those capabilities, and is the primary software we license to developers who wish to bundle printing capability with their own application. Can I print graphics?Until recently we have been concentrating on text printing because of our believe that the major applications for printing from a PalmOS handheld were concentrated in that area - prescriptions, invoices, emails, and so on. However we have recently begun work on adding graphics capability to the supported feature set. We recently made available a new beta version to support the Pentax PocketJet 200, which is a bitmap only printer (that is, it doesn't have built-in fonts) and therefore requires what is effectively graphics printing. This version also supports "graphical text" printing to HP printers as well (this allows us to potentially support any single-byte font set). In the next quarter we expect to make available an extension of this version which supports other kinds of graphics as well. How do I start?As an example of the simplest possible printing, here's all the code
it takes (in addition to adding a Print button or menu to your application
which will invoke this code) to print a simple block of text (such as
a memo) from your application. Note that there is no error display code
involving printing errors (other than possibly one to alert the user that
PalmPrint or SCS Print Server is not installed on the Palm), because all
such errors, as well as a user "Cancel" button, are provided
by a PalmPrint status window which pops up over your application to let
the user know what is happening (and then disappears at the end, of course). #define cmdPrintChars 32768 static void PrintChars(CharPtr theChars) { DWord result; LocalID dbID; dbID=DmFindDatabase(0,"PalmPrint"); if (dbID) SysAppLaunch(0,dbID,0,cmdPrintChars,theChars,&result); } // And from somewhere else in your application... PrintChars("This is my message to be printed"); From Satellite Forms it's even easier: s="This is a string to print" PPrint(s) A complete SDK can be found online at http://www.stevenscreek.com/palm/palmprintdevsdk.html, which provides details and sample code for taking advantage of all of the features available via PalmPrint (changing fonts, printing one line at a time, etc.). I don't have an infrared printer. How can I test printing from my app?Even if you do have an infrared printer, there's a much easier way to test the printed output from your application (it's the way we test all of our print-enabled applications). Put your Palm in its cradle, turn off the HotSync Manager, and activate some terminal emulation software (HyperTerm on Windows, AppleWorks on Mac, or whatever you have). Now within PalmPrint, set the output to "Plain Text" and "print" to the screen of your computer. You'll see exactly the character stream you're sending to the printer and can easily verify it's what you want ñ no printer needed, and no paper wasted. If you need more explicit instructions, you'll find step-by-step instructions for this procedure in the last chapter of the PalmPrint manual which you can download from our web site. I will need a copy of PalmPrint or SCS Print Server to test my app, won't I?Yes, you will, and we're happy to provide you one. Just go to the PalmPrint developers page at http://www.stevenscreek.com/palm/palmprintdevorder.html, fill out the form telling about your app (whether existing or future), and we'll be glad to provide you a licensed copy of SCS Print Server at no charge (or you can upgrade to PalmPrint for a small fee). And, of course, even without that, you can always download and use a trial copy of PalmPrint or SCS Print Server. What am I waiting for?I don't know! Start today and join Land-J Systems, DDH Software, ThinkingBytes Technologies, Virtmed, WatchWare, iScribe, PDA Medic, Natara Software, Cutting Edge Software, Pendragon Software, PC America, Actual Software, OmniSky, JP Systems, Synergy Solutions, and many other commercial and shareware software vendors, as well as an equal number of in-house software developers, and "PalmPrint-enable" your application today. It could be as early as tomorrow (or even later today if you work fast!) that the print-enhanced version of your software will be ready to go! Return to the main PalmPrint Developers page |
|||
|