PlanetPress Design User Guide www.objectiflune.
©2010 Objectif Lune Inc -2-
Copyright Information Copyright Information Copyright © 1994-2011 Objectif Lune Inc. All Rights Reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any other language or computer language in whole or in part, in any form or by any means, whether it be electronic, mechanical, magnetic, optical, manual or otherwise, without prior written consent of Objectif Lune Inc. Objectif Lune Inc.
©2010 Objectif Lune Inc -4-
Table of Content Table of Content Copyright Information 3 Table of Content 5 Overview 29 Icons used in this guide 29 Other Documentation 29 Getting Started 31 Environment Considerations 31 Terminal Server/Service 31 VMWare/ESX 31 32-Bit or 64-Bit? 31 Network Considerations 31 Mapped Drives 31 Activate Your Printers 32 The Nature of PlanetPress Design 32 The PlanetPress Design Program 33 Start PlanetPress Design 33 The PlanetPress Suite Button 33 Open a Document 34 Save a
Table of Content Right-Click Menu in the Workspace 47 Detailed Directions 47 Debug an Object or Group 48 Select Objects and/or Groups 48 Lock and Unlock Objects and Groups 48 Reposition Objects and/or Groups 49 Resize Objects and/or Groups 49 Delete Objects and/or Groups 50 Align Objects and/or Groups 51 Rotate Objects and/or Groups 51 Duplicate Objects and/or Groups 51 Snap or Unsnap Objects and/or Groups 51 Copy Values of Properties between Objects and/or Groups 54 Adding image
Table of Content Telnet Input 76 Windows Queue Input 77 The Data Selector 78 Metadata tab 79 Data Page 80 Emulation 80 Text-Based Emulation Properties 81 Line Printer Emulation 81 ASCII Emulation 82 Comma Separated Value (CSV) Emulation 82 Channel Skip Emulation 83 Database Emulation 83 Export or Import a Database Emulation Configuration 85 XML Emulation 86 PDF Emulation 86 User-Defined Emulation 86 Associate a Sample Data File with a Document 87 Metadata 87 Setting Up a
Table of Content Manipulation 116 PlanetPress Talk Before and PlanetPress Talk After 117 Preview options 117 Line Repeat and Data Overflow 117 Snapping Points 119 Object Preview Window 119 Fonts and Styles 121 Create a Style 121 Apply a Style 123 View or Edit the Properties of a Style 123 Delete a Style 124 Set the Default Style for New Objects and Groups 124 Create a MICR Style for Account Information on Cheques 125 Arabic Content in PlanetPress Design Documents 125 CID-Keyed F
Table of Content OMR Mark Object 147 PlanetPress Talk Object 148 Shape Object 149 N-Up Object 149 Picture Object 150 Barcode Object 152 Supported Barcodes 152 Australia Post 152 Aztec 153 CEPNet (Brazilian Postal Code) 153 Codabar 153 CodablockF 153 Code 11 154 Code 16k 154 Code 39 154 Code 49 155 Code 93 156 Code 128 157 Datamatrix 158 Discrete 2 of 5 159 FIM 159 GS1 Databar (RSS) 159 IMB/OneCode 159 Japan Post 159 Maxicode 159 Micro PDF417 160 Micro QR
Table of Content Static and Dynamic Images 175 Supported Image Formats 175 Image Glossary 176 Scanline Orientation 177 Image Quality Settings 178 Caches 178 Host-Based Cache 179 Printer-Based Cache 179 Adding Image Resources 179 Guidelines for Optimizing Images 180 Modifying and Updating Images 180 Color Management and Matching 181 PostScript Attachments 184 Delete a Resource 184 Conditions 187 Conditions 187 Global Conditions 187 Local Conditions 187 Line Conditions 18
Table of Content Expand or Collapse Command Groups 207 Enter Commands in the Editor 207 Use Command and Variable Name Completion 208 Dynamic Images 209 PlanetPress Talk Expressions for Dynamic Images that Reference Image Resources 209 PlanetPress Talk Expressions for Dynamic Images that Reference External Images 209 Physical Location of Dynamic Images 210 Host-Based or Printer-Based Document Execution 210 Image Format 211 Summary of Execution Environments 211 Examples of PlanetPress Tal
Table of Content Language Reference 243 Language Reference (Alphabetical) 243 % (procedure) 243 Current (system object) 243 ¤titeration (variable) 245 &Document (system object) 246 &EOJob (system variable) 246 &FirstSide (system variable) 246 &Height (system variable) 247 &iterationcount (variable) 247 lastoverflowcount (variable) 247 &Metamode (variable) 247 Physical (system object) 248 &PrinterMode (system variable) 248 Script (system object) 249 &Str (system variable)
Table of Content CharPath (procedure) 263 ClearPage (procedure) 264 ClipPath (procedure) 264 ClosePath (procedure) 265 Cos (function) 265 CRLF (procedure) 266 CurToStr (function) 266 CurToFloat (function) 267 CurveTo/RCurveTo (procedure) 267 Date (function) 268 Define (procedure) 269 DefineData (procedure) 269 DefineImageIndex (procedure) 270 Definemeta (function) 270 Div (function) 271 DoForm (procedure) 272 endpageset (procedure) 272 EPSWidth/EPSHeight (function) 273 E
Table of Content InStream...
Table of Content SelectPrinter (procedure) 325 Set (procedure) 325 SetAngle (procedure) 326 SetBodyText (procedure) 327 SetDash(procedure) 327 SetDataPage(procedure) 328 SetEmailAddress (procedure) 328 SetEmailSubject (procedure) 328 SetEmulation(procedure) 328 SetUserCRLF (procedure) 329 SetFaxInformation (procedure) 329 SetFaxNumber (procedure) 330 SetFillColor (procedure) 330 SetImageIndex (procedure) 331 SetLineWidth (procedure) 331 SetLPP(procedure) 332 SetPDFBookmark (
Table of Content ShowBarcodePostnet (procedure) 351 ShowBarcodeQRCode (procedure) 352 ShowBarcodeRoyalMail (procedure) 352 ShowBarcodeRSS (procedure) 353 ShowBarcodeUPCA (procedure) 353 ShowBarcodeUPCE (procedure) 354 ShowBitmap (procedure) 355 ShowCaptureUserArea (procedure) 356 ShowEPS (procedure) 357 ShowLeftRight (procedure) 358 ShowPage (procedure) 359 ShowPDF (procedure) 359 ShowUTF8 (procedure) 360 ShowUTF8Left / ShowUTF8Right / ShowUTF8Center (procedure) 361 Sin (functio
Table of Content Physical (system object) 380 &system (system object) 380 Assignment Operator 381 = (operator) 381 Mathematical Operators and Operator Functions 381 + (operator & function) 381 Add (function) 382 – (operator) 382 Sub (function) 382 Asterisk (*) operator 383 Mul (function) 383 / (operator) 383 Div (function) 383 Neg (function) 384 Cos (function) 384 Sin (function) 385 Random (function) 386 Ceil (function) 386 String Operator 387 + (operator & function)
Table of Content StrToInt (function) 398 Loop Structures 399 For… EndFor (procedure) 399 Repeat...
Table of Content PassThrough (procedure) 433 Pie (procedure) 433 Put (procedure) 434 Rectangle (procedure) 435 RectFill (procedure) 435 RectFillStroke (procedure) 436 RectStroke (procedure) 437 Repeat...
Table of Content ShowBarcodeEAN13 (procedure) 460 ShowBarcodeFIM (procedure) 461 ShowBarcodeI2of5 (procedure) 461 ShowBarcodeISBN (procedure) 462 ShowBarcodeJapanpost (procedure) 462 ShowBarcodeMaxicode (procedure) 463 ShowBarcodeMicroPDF (procedure) 463 ShowBarcodeMicroQR (procedure) 464 ShowBarcodeMSI (procedure) 465 ShowBarcodeOnecode (procedure) 465 ShowBarcodePDF417 (procedure) 466 ShowBarcodePlessey (procedure) 466 ShowBarcodePostnet (procedure) 467 ShowBarcodeQRCode (proced
Table of Content Get (function) 489 GetBlack (function) 490 GetCyan (function) 490 GetMagenta (function) 491 Getmeta (function) 491 Getmetacount (function) 493 GetYellow (function) 494 IsNumber (function) 494 IsPageEmpty (function) 494 Left (function) 495 Length (function) 495 LowerCase (function) 496 MapUTF8 (function) 496 Mid (function) 498 Mul (function) 499 Ord (function) 499 PDFPageCount (function) 500 PDFWidth/PDFHeight (function) 500 PixelHeight (function) 501 P
Table of Content Add (function) 514 FloatToCur (function) 515 IntToCur (function) 515 StrToCur (function) 515 Integer 516 Add (function) 516 Ceil (function) 516 Div (function) 517 FieldCount (function) 517 FloatToInt (function) 517 Get (function) 518 GetBlack (function) 518 GetCyan (function) 519 GetMagenta (function) 519 GetYellow (function) 520 Getmetacount (function) 520 If (function) 521 Length (function) 522 Mod (function & procedure) 522 Mul (function) 523 Neg
Table of Content StringWidthUTF8 (function) 538 StrToFloat (function) 538 Sub (function) 539 String 540 @ (function) 540 C128 (function) 540 Char (function) 541 CurToStr (function) 541 ExpandString (function) 541 Field (function) 542 FieldName (function) 542 FloatToStr (function) 543 Get (function) 543 If (function) 544 IntToStr (function) 544 Left (function) 545 LowerCase (function) 546 Mid (function) 546 Right (function) 547 StringReplace (function) 548 Strip (func
Table of Content Put (procedure) 562 Set (procedure) 563 Global Functions 563 @name (function/procedure) 563 Function @name (procedure) 564 Comments 566 % (procedure) 566 Graphics State 567 GRestore (procedure) 567 GSave (procedure) 567 Scale (procedure) 568 SetAngle (procedure) 569 SetDash(procedure) 569 SetFillColor (procedure) 570 SetLineWidth (procedure) 571 SetStrokeColor (procedure) 571 Translate (procedure) 571 Path 572 Arc and ArcN (procedures) 573 ClosePath (p
Table of Content ShowBarcodeAztec (procedure) 592 ShowBarcodeCodabar (procedure) 593 ShowBarcodeCodablockF (procedure) 594 ShowBarcodeCode11 (procedure) 594 ShowBarcodeCode128 (procedure) 595 ShowBarcodeCode16k (procedure) 596 ShowBarcodeCode39 (procedure) 596 ShowBarcodeCode49 (procedure) 597 ShowBarcodeCode93 (procedure) 597 ShowBarcodeDatamatrix (procedure) 598 ShowBarcodeEAN8 (procedure) 598 ShowBarcodeEAN13 (procedure) 599 ShowBarcodeFIM (procedure) 600 ShowBarcodeI2of5 (proc
Table of Content SetBodyText (procedure) 618 SetEmailAddress (procedure) 618 SetEmailSubject (procedure) 619 SetFaxInformation (procedure) 619 SetFaxNumber (procedure) 619 SetImageIndex (procedure) 620 SetPDFBookmark (procedure) 620 Document Pages 621 @page (procedure) 621 ExecPage (procedure) 622 ShowPage (procedure) 622 PPDs and PostScript 623 CallPPD (procedure) 623 PassThrough (procedure) 624 RunPS (procedure) 624 SelectMedia (procedure) 624 Program Control 625 Exit (p
Table of Content Date and Time Format 656 Document Output and Preview 659 About Previewing and Printing 659 Preview a Document On Screen 659 Previews of Documents that Use ASCII Emulation 661 Preview a Capture-Ready document 662 Print a Document Preview 663 Print Using a Windows Driver 664 Printing Using a Windows Driver 665 Generate a Soft Proof 665 Convert a Document and Save It to a File 667 Install a Document 669 Install a document on one or more printers 669 Send the document
Table of Content Work in the Data Pane 684 Work with the Data File 685 Work with Data Selections 685 Use the Hex Viewer 686 Work with Objects 687 Work in the Text Properties of a Text Object 688 PlanetPress Talk Editor 688 General 689 Show or Hide Areas of the Editor 689 Expand or Collapse Groups in the Commands Area 689 Work in the Code Area 690 Use Command Name Completion/Argument Insertion 690 Undo Commands 690 Work with Selections 690 Add/Remove Comments 691 Indent Code 6
Overview Overview This documentation covers PlanetPress Suite version 7.5. To view the documentation of previous versions please refer to the PDF files available in the Downloads section of our website: http://www.objectiflune.com/OL/en-CA/Download/DownloadCenter. Icons used in this guide Some icons are used throughout this guide in order to catch your attention to certain particular information. Notes: This icon shows you something that complements the information around it.
©2010 Objectif Lune Inc - 30 -
Getting Started Getting Started This section will help you get started with PlanetPress Design Environment Considerations This page is intended to provide technical information about the environment in which PlanetPress Suite is intended to run. Terminal Server/Service PlanetPress Suite does not support Terminal Server (or Terminal Service) environment as possible under Windows 2000, 2003 and 2008.
Getting Started This creates a limitation in the PlanetPress Suite Workflow Tools: if you create a mapped drive as a user, you will not have access to this mapped drive while running as a service unless you log off, and then have PlanetPress Workflow Tools map the drive using a Run Script action inside a Startup Process. We strongly recommended that instead of using mapped drives, you use full UNC paths for your network drives.
The PlanetPress Design Program The PlanetPress Design Program This chapter provides basic information about the PlanetPress Design user interface and how to use it. Start PlanetPress Design To start the PlanetPress Design program: l In the Windows Start menu, choose Programs | PlanetPress Suite 7 | PlanetPress Design. The PlanetPress Design window appears and a blank document is created. You can also double-click on any existing PlanetPress Design document (*.
The PlanetPress Design Program l l l l l l Set Password : Protects the editing of the document with a password. The password is required when opening the document. Setting the password without entering any password will remove it and unprotect the document. Close: Closes the PlanetPress Design Document that is currently opened and creates a new document, with a single page and no objects. Closing the current document is the same as creating a one.
The PlanetPress Design Program Save a Document To save a document: l From the PlanetPress Design Button, choose Save. If the document has been saved at least once, PlanetPress Design copies the last save of the file to a file bearing the name of the document with the extension .BAK, and then saves the document. To save a document under a new name: 1. From the PlanetPress Design Button, choose Save As. 2. Enter the new name under which you want to save the document, and then click Save.
The PlanetPress Design Program Exit PlanetPress Design Once you are done working on your PlanetPress Design document, you can close the program. You may exit the PlanetPress Design in any of the following ways: 1. 2. 3. 4. From the PlanetPress Design Button, choose Exit. Click the X at the top-right corner of PlanetPress Design. Press ALT+F4 on your keyboard. Right-click on the PlanetPress Design button in your task bar, and select Close.
The PlanetPress Design Program The PlanetPress Design Ribbon The PlanetPress Design Ribbon replaces the main menu and toolbars of previous versions, and centralizes commands, organizing them into a set of Tabs, each Tab containing Groups of Controls. Each tab on the Ribbon displays the commands that are most relevant to a given feature set. For instance, the Objects tab in PlanetPress Design is used to draw any of the supported objects.
The PlanetPress Design Program The Set as Background control allows you to set a PDF sample data file as the background for the selected document page. The Advanced group contains: l The Data Capture control triggers the selected capture tool and allows to grab incoming data. l The Convert to PlanetPress Talk control converts the selected object to a PlanetPress Talk object, using PlanetPress Talk code. l The Refresh Metadata control reloads the metadata file associated with the active sample data file.
The PlanetPress Design Program 1. From the Quick Access Toolbar, click Redo. 2. Repeat step 1 as many times as necessary to move backwards through the sequence of undo commands. Navigate Data Pages To move through the pages in a sample data file using a Data page box: 1. Locate a Data page box in the toolbar in the PlanetPress Design Program window. 2. Click in the Data page box and press SHIFT+PAGE UP to move forward one page or SHIFT+PAGE DOWN to move backward one page.
The PlanetPress Design Program Selecting and moving elements You can select objects in the Structure area, as well as drag and drop any element in the Structure area to reposition it in the hierarchy. Note that in the case of pages and objects, the position of the element within the hierarchy influences the order in which it executes: l l l l l Normal pages are always processed from top to bottom, the first page on the top will print first, followed by the second one.
The PlanetPress Design Program l l l l l Choose Home | Document | Metadata Field, or right-click on Metadata Fields in the Document Structure Pane and click Metadata Field. Enter the PlanetPress Talk ID, the unique identifier for your new metadata field (Note that Metadata objects do not possess a Display Name attribute). Choose the Level where your new field should be created in the metadata structure.
The PlanetPress Design Program Delete a Page To delete one or more page(s): 1. In the Structure area, select the page(s) you want to delete. 2. Either use the Delete key or right-click and choose Delete. If no elements in the document reference any of the selected page(s), PlanetPress Design performs the deletion. If any elements in the document reference any of the selected pages, PlanetPress Design prompts you to define how you want to handle the deletion of each of the referenced pages.
The PlanetPress Design Program Group and Ungroup Objects and/or Groups A group is a set of objects that you group together to treat as a single unit. A group may be composed of individual objects, groups, or both. There is no restriction on the type of object you can include in a group, or on the number of different types of objects you can include in a single group. However, any objects and groups you want to include in the group must exist on the same page of a document. To create a group: 1.
The PlanetPress Design Program l If the property lets you select any value, click the selection button located to the right of the value field. For example, if the button is for a PlanetPress Talk before, PlanetPress Talk after, or PlanetPress Talk code property, click it to launch the PlanetPress Talk Editor. To expand or collapse a group: l In the Object Inspector, click the expand/collapse button for the group.
The PlanetPress Design Program l l First, select one or more objects to resize. Using any of the resize handles (squares at the corners or edges of your selection), click and move the handle to resize. If multiple objects are selected, they will all be resized together. Zoom in and out of the Workspace You can use the zoom tools to zoom in and out of the Workspace, in order to see more of your document (for precise editing and placement) or less (to see a broader picture).
The PlanetPress Design Program 1. 2. 3. 4. Place your mouse in the Workspace Hold down the SHIFT key on your keyboard. To scroll right, scroll the mouse wheel up (away from you). To scroll left, scroll the mouse wheel down (towards you). Use Guides Guides are vertical or horizontal reference lines that you place on a page to help you accurately align and position elements. You can set a guide for an individual page or for all pages of a document.
The PlanetPress Design Program Display on all pages: Select to have this guide display on all pages in the document. Clear to have the guide display only on the page on which you created it. 3. Click OK to exit the Guide dialog box. PlanetPress Design updates the guide to reflect the new settings. To delete a guide: l Click and drag the black triangle of the guide inside the Page area, and release. PlanetPress Design deletes the guide.
The PlanetPress Design Program l l l l l l l l l l "Delete Objects and/or Groups" (page 50) "Align Objects and/or Groups" (page 51) "Rotate Objects and/or Groups" (page 51) "Duplicate Objects and/or Groups" (page 51) "Snap or Unsnap Objects and/or Groups" (page 51) "Group and Ungroup Objects and/or Groups" (page 43) "Edit the Layering Order of Objects" (page n) "Copy Values of Properties between Objects and/or Groups" (page 54) "Convert an Object to PlanetPress Talk" (page 215) "Debug an Object or Group"
The PlanetPress Design Program To unlock one or more objects/groups in a single operation: 1. If necessary, in the Structure area, select the page containing the object(s) and/or group(s) you want to unlock. 2. Do either of the following: l To unlock only a selected set of objects/groups: In the Structure area, select each object you want to unlock, then choose Page Layout | Lock/Unlock | Unlock Selected Objects. l To unlock all objects/groups: Choose Page Layout | Lock/Unlock | Unlock All Objects on Page.
The PlanetPress Design Program The ability to resize a picture object, and the effect of the resize on the image that object references and on the height and width of the picture object, depends on the Fit setting selected for the image. If you selected a Fit setting of Constant resolution, you cannot resize the picture object. In the case of any of the other Fit settings (Constant height, Constant width, and Best fit), PlanetPress Design carries out the resize in accordance with the Fit setting.
The PlanetPress Design Program 2. Click OK. Align Objects and/or Groups To align objects: 1. Select the reference object or group and then each of the objects and/or groups you want to align with it. 2. Use one of the following to align the objects and/or groups: Alignment toolbar Click the appropriate horizontal and/or vertical alignment in the Alignment toolbar. Alignment dialog box Choose Edit | Align to display the Alignment dialog box.
The PlanetPress Design Program 3. If, in the object/group of the two that is lower in the Structure area hierarchy, the Snap to previous object property is already selected and the proper offset set, proceed to step 9. 4. In the Structure area or the Page area, double-click that object or group to display the properties dialog box for the object/group that is lower in the Structure area hierarchy. This is the object/group PlanetPress Design moves when it performs the snap. 5.
The PlanetPress Design Program 2. In the Structure area, examine the relationship between the two and if necessary, edit their positions in the Structure area. 3. If, in the object/group of the two that is lower in the Structure area hierarchy, the Snap to previous object property is already selected and the proper offset set, proceed to step 6. 4. Select the object/group that is lower in the Structure area hierarchy. This is the object/group PlanetPress Design moves when it performs the snap.
The PlanetPress Design Program 3. Select the object/group that is higher in the Structure area hierarchy. 4. In the Object Inspector, set the Set snapping point afterproperty to False. Copy Values of Properties between Objects and/or Groups To copy values of properties between objects: 1. Select the reference object or group. This is the object/group that contains the properties whose values you want to copy. 2.
The PlanetPress Design Program Messages Area The Messages area displays messages from the PlanetPress Talk Converter, and is useful when you add PlanetPress Talk objects, or objects that include PlanetPress Talk statements to your document. Any errors the PlanetPress Talk Converter encounters in your code, it displays in the Messages area. These include converter errors, run error messages, and any debugging strings you instructed your code to output using the PlanetPress Talk outputdebugstring() command.
The PlanetPress Design Program For all other file types, the type of file (image, attachment, or sample data file) and the area of the program window in which you drop it determine what PlanetPress Design does with the file. Whether you drag and drop a single file or multiple files can also have an impact on how PlanetPress Design treats the file or files.
The PlanetPress Design Program The preferences are located in the PlanetPress Design Preferences window, accessible through the Preferences button in the PlanetPress Design button.
The PlanetPress Design Program Invalid name: Select to have PlanetPress Design display an error message when you enter an invalid name for an element. Clear to prevent the display of the error message. Invalid added resources: Select to have PlanetPress Design display a message reporting whether it added all selected resources successfully when you add resources to a document. Save before closing: Select to have PlanetPress Design prompt for confirmation to save an unsaved document before closing it.
The PlanetPress Design Program 3. Specify the cache size PlanetPress Design uses for image resources. Picture cache size: Specify the size of the cache, in megabytes, that PlanetPress Design uses for image resources. The minimum and maximum values you can enter are 64 megabytes and 1000 megabytes respectively. The image resource cache is an amount of RAM set aside to hold image resources that the document uses. The cache improves performance by providing faster access to images as you work.
The PlanetPress Design Program align the copy using the specified horizontal and vertical offset values. If you select this option, you must enter values for the vertical and horizontal displacements. The menu items Edit | Duplicate and Pack Horizontally and Edit | Duplicate and Pack Vertically,override this setting. Vertical relative displacement value: Enter the displacement for the copy along the Y axis. Units are as set in the User Options dialog.
The PlanetPress Design Program Remember last dialog box position: Select to have PlanetPress Design remember the last screen position of each type of dialog box, and, if the dialog box is resizable, the last size of the dialog box. Resizable dialog boxes include the Text/Box properties dialog box and the Data Selector. Remember last dialog box page: Use this to control the area that is displayed when you open a dialog box.
The PlanetPress Design Program Enable selection: Select to permit the creation of selections in the Code area. You can create a selection by clicking and dragging the pointer over a portion of code or by double-clicking to highlight the word or line that appears under the pointer. You can cut, copy, paste, and print selections. If you also select Enable dragging, you can drag selections to reposition them in the code.
The PlanetPress Design Program Color Preferences To set PlanetPress Talk Editor Color options: 1. From the PlanetPress Design Button, choose Preferences. 2. If necessary, expand PressTalk Editor, and click Color. Element list: Displays the list of code elements. Use to select the element whose color and/or style attributes you want to adjust. Select None to set the color for all elements that do not appear in the list.
The PlanetPress Design Program Document Structure Area Preferences You use these options to modify the appearance of the Document Structure area of the PlanetPress Design Program window. The first procedure describes how to set these options and includes a description of each option. The second describes how to reset the options to their default values. To set the Document Structure Area options: 1. From the PlanetPress Design Button, choose Preferences. The Preferences dialog box appears. 2.
The PlanetPress Design Program 4. To reset the rulers to their default appearance, click Reset to Default. 5. Click OK. Form Pages Preferences To set the Document Page area options: 1. From the PlanetPress Design Button, choose Preferences. 2. If necessary, expand Appearance, and click Document pages. 3. Adjust the border option for document pages. Show imageable area: Select to display a border around the printable area of the page.
The PlanetPress Design Program 1. From the PlanetPress Design Button, choose Preferences. 2. If necessary, expand Document default values, and click Document and pages. 3. Adjust the default PPD and form cache default values. Default printer: Select the PPD file that appears by default in the Designed for property box in the Document properties dialog box. 4. Adjust the default paper size and orientation for the pages of the document.
The PlanetPress Design Program Picture compression ratio: Select the value that appears by default in the Picture compression ratio box in the Document properties dialog box. The value that appears here when you start PlanetPress Design for the very first time indicates a 70% compression of image resources. 5. Click OK. PDF Text Extraction Tolerance Factors When extracting text from a PDF (for example, through a data selection), a lot more happens in the background than what can be seen on the surface.
The PlanetPress Design Program Gap Defines how spaces between two fragments are processed. If the space between two fragments is too small, the text extraction will sometimes eliminate that space and count the two fragments as a single word. To resolve this, the Gap setting can be changed. The lower this value, the higher the chance of a space being added between two characters. A value too low may add spaces where they do not belong. Accepted values range from 0 to 0.5. The default value is 0.
The PlanetPress Design Program Pages to analyze: Use this box to limit the number of data pages to which PlanetPress Design applies the Show used cells option. Enter the number of pages to which you want PlanetPress Design to apply the option, or use the spin buttons to adjust the value. This option is not available in database emulation. l Show selected cells: Select this to display in gray all cells that your document currently references.
The PlanetPress Design Program Date Time Drop Down Image Location Number Sketch Signature Table Text Box Time Dock and Undock Areas of the Program Window To undock an area: l Double-click the title bar of a docked area or group (tabbed or stacked areas). In the case of a group, you can undock a single area in the group by double-clicking its tab. To dock a floating area: l Double-click the title bar of a docked area or group (tabbed or stacked areas).
The PlanetPress Design Program l Choose View and then the area you want to show or hide. PlanetPress Design updates the Program window to reflect the requested show/hide. Resize the Program Window Area To resize a Program window area: l Move the pointer to the edge of an area you want to resize to display the resize pointer and click and drag to resize the area.
©2010 Objectif Lune Inc - 72 -
Data in PlanetPress Design Data in PlanetPress Design This chapter explains how to work with Data, Sample Data Files, Data Selections and Emulation within your PlanetPress Design documents. Sample Data File A Sample Data file is a file that, while it follows the same structure as the one you will use when actually processing your document, only contains part of the actual data.
©2010 Objectif Lune Inc - 74 -
Capturing Data To create your document, you need a reliable sample of the variable data you intend to use with the document. This section describes what a sample data file is and the two criteria that determine its reliability. It also provides general procedures for capturing a reliable sample data file. Consult the Trigger and Data Capture Guide for platform-specific data capture procedures. The data capture tool lets you capture real data to be used as sample data.
l l l l from other systems through LPR, and being received by PlanetPress Design via LPD. Since these messages can accumulate, you have the option of not logging them. Logs are kept in a Log folder relative to your install folder. They are named lpddate.log, where date is the current date in the yyyymmdd numerical format. No source port range restriction (recommended): Select to remove any restrictions on the port of the LPR client computer that PlanetPress accepts data files from.
directly on the server console. This enables you to control the server and communicate with other servers on the network. General tab l l Port: Enter the port number the Telnet input uses to receive data. The default telnet port is 9100. Description: This field displays the description of the port number, as given by Windows. It is not editable.
The Data Selector The Data Selector is the tool you use to choose your sample data and metadata files, to select the appropriate emulation, make data selections, and to stabilize your data. The Data Selector is divided in two tabs: Data and Metadata.
l XML data is represented in a tree structure which corresponds to the data in the XML file. Each node of the XML can be expanded to see the nodes under it. See "XML Emulation" (page 86). PDF Emulation l l l If you use a PDF emulation, the Data Pane displays the data as you would see it in any PDF reader. A new zoom dropdown list is displayed to let you set the zoom in percentage or fit the PDF to the window or the width of the window.
l l Search from a specific location only. Search from level X to Job, where X can be any metadata level (Job, Group, Document, Datapage, Page). With this search option, if the selected metadata element does not exist at the specified level, then it will be searched for, starting at the lowest metadata level as specified in the search option, then one level up until the element is found.
Text-Based Emulation Properties Text-Based emulations display your data in plain text in the data selector and the Data Pane, one line at a time, up to the limit you specify in the emulation properties (by default, 66 lines). This is especially useful for legacy systems (such as AS/400 computers) that send data as text meant for older line printers using pre-printed forms. The emulation options are used to make sure your data is stable.
The line printer emulation does not have any options other than the general text-based emulation options (see "Text-Based Emulation Properties" (page 81)) ASCII Emulation ASCII emulation tells the document to treat the input data as a stream of ASCII characters. The document reads the data stream one character at a time, constructs a line, and adds that line to the data page buffer.
CSV emulation options l l l l Text delimiter: Enter the character used to mark the beginning and end of each field within the data. Text delimiters are required if the character entered in the Delimiter box is present within the data itself. If the fields are separated using commas, and if the data itself contains commas, for example, then individual fields may be split into multiple ones. Using text delimiters ensures that actual commas within the data will not be interpreted as delimiters.
document and data to merge and print automatically. In this case someone or something must query the database and extract the data that will populate the Design Document. We can imagine two basic scenarios. In the first one, we can imagine someone in a print shop who needs to use data from a database to print a bunch of personalized letters using PlanetPress Design. That person opens a Design document and uses the Data Selector to select a database.
Maximum records per record set: Set either the number of records in each record set, or the maximum number of records in a record set. An individual record set can contain a maximum of 4000 records. 7. Set the number of records you want to include in the sample data file. The number of records you set should provide a reliable sample to ensure your document executes properly with any of the data it may encounter at runtime. All: Select to include all records in the database in the sample data file.
3. In the Data Selector, click the Database Emulation Configuration button to display the Database Connection dialog box. 4. In the Database Connection dialog box, click Import. 5. In the Open dialog box, navigate to the folder containing the configuration file you want to import, select the configuration file, and click Open. 6. If necessary, adjust the database emulation configuration options in the Database Connection dialog. 7. Click OK. 8. Click OK.
Create a User-Defined Emulation Since User-Defined emulations are based on PlanetPress Talk commands, please see the chapter on PlanetPress Talk for more information no creating user-defined emulations. Associate a Sample Data File with a Document This procedure describes how to associate a sample data file with your document using either the Data Selector or the Data Pane of the Program window.
l l l l l Page: 1 side of a physical paper sheet. Datapage: 1 atomic unit of content that produces zero, one or more pages. Document: group of 1 or more ordered datapages intended to the same recipient from the same source (ex: invoice). Group: a logical and ordered group of documents (ex: all invoices for a specific customer number; all documents going to the same address, etc.) Job: file that contains 1 or more groups. When Metadata is produced for a given job, a hierarchical (i.e.
Each metadata node (i.e. Job, Group, Document, etc.) is described with a series of elements, that is, system-defined attributes or user-defined fields holding static or dynamic information about the node they are attached to. Each element has a name and a value. More specifically, here is a definition of these 2 types of elements: Attribute: A read-only, system-defined element which holds a certain information about a certain node from the Metadata structure. This information can be static (e.g.
InputSlot Device-dependent identifier of the media source. Finishing X X X OutputBin Device-dependent identifier of the media destination. Finishing X X X Weight Device-dependent weight of the media. Finishing X X X MediaColor Device-depedent color of the media. Finishing X X X MediaType Device-dependent type of the media. Finishing X X X X X Index/Count Index IndexInDocument Returns the Absolute index of the node within all the node under the Index/Count parent Document.
l l l l l Generate metadata for any given sample datafile. Graphically retrieve the value of a metadata attribute or field for use in any design object. Define documents and groups using any condition. Define custom metadata fields. Manipulate Metadata with PlanetPress Talk commands. Following is a description of the PlanetPress Design Metadata tools which allows to perform the above tasks.
The Metadata Selector allows to view and select metadata elements. Metadata in Document Properties Metadata tab in the properties of a PlanetPress Design document allows to easily define documents or groups.
Metadata Fields in the properties of a PlanetPress Design document allows to easily define documents or groups.
©2010 Objectif Lune Inc - 94 -
Setting Up a Document Setting Up a Document Once you have a sample data file to work with, you are ready to start creating your document in PlanetPress. This chapter describes how to set up a document, the first step in document creation. Set Up a Document You can view or edit the properties of a document using either the Object Inspector or the Document properties dialog box. To view or edit properties using the Object Inspector: 1. In the Structure area, select the document icon. 2.
Setting Up a Document l l l l l Default Page Size: Select the default paper format the document uses. In most cases, you never need to set this option, unless the same job, or multi-jobs require using various paper sizes. In a small number of printers however, when you are executing a document in which several consecutive pages use the same paper format, you may need to set this option.
Setting Up a Document For help creating documents that use Fiery® FreeForm™ or Freeform 2 features, see "FreeForm Caching" (page 101) or "FreeForm 2 Caching" (page 102). For help creating a document in VPS or VDX format, refer to "VPS Caching" (page 102). l l l l l l l l l l l l l Caching method: Select the caching method you want to use. l Select None to prevent the RIP from using any caching. l Select Generic to use the standard caching provided by PostScript Level 2.
Setting Up a Document l Max Form Cache: Set the size (in bytes) of the PostScript printer form cache. You base the setting for this option on the number of images in your documents, their sizes, and how frequently each image repeats in a document. Resource Options l l l Resource location: Select the runtime location for the resource files associated with the document when the document executes on a printer. Select In memory to copy the resource files into RAM at runtime.
Setting Up a Document l l l Info #: The job info number. Value: Enter a static text value that you want to associate with the corresponding job info reference number. This value is typically overridden, if a job info value is passed by PlanetPress Suite Workflow Tool. Ignore PlanetPress Suite Workflow Tool job info values: Enable this option to prevent values passed by PlanetPress Suite Workflow Tool from overriding the values you have entered.
Setting Up a Document l l l Anoto statement Style group: l Style: Select the style for the object. This is the style all text in the object uses by default. It is also the style any PlanetPress Talk code you enter in the PlanetPress Talk properties of the object uses by default. The default style is the style that appears by default in this box. Note that the style for a group does not override any styles referenced by individual objects/groups within that group.
Setting Up a Document directly by PlanetPress Design, the document must be sent to the PlanetPress Suite Workflow Tools and used in a process. For more information, see VDX Caching. FreeForm 1 and FreeForm 2 The EFI Fiery RIPs use either FreeForm 1 or FreeForm 2 caching methods, which are very similar except for the limitations of the master forms used.
Setting Up a Document FreeForm 2 Caching The properties of all the pages of a FreeForm 2 document must include the ID of the FreeForm 2 master document as well as the number of the page to use when printing. To create a FreeForm 2 master document: 1. 2. 3. 4. In PlanetPress Design, create the document you want to use as the master document. Double-click on the Document node to display the Document properties dialog box. In the Document properties dialog box, click Compilation options.
Setting Up a Document 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. In PlanetPress Design, create a new document. Double-click on the Document node to display the Document properties dialog box. In the Document properties dialog box, click Compilation options and in the Caching method box, select VPS. Click OK to exit the Document properties dialog box. Add a page to the document. See the section “Add a Document Page” in the chapter “Setting Up Pages.
Setting Up a Document 8. Set Page type to Virtual and select Cachable. 9. Click OK. 10. Add the content to the virtual page. You can use any of the objects available in PlanetPress Design to add content to the virtual page. However, all of the content you add must be static. 11. Repeat step 5 through step 10 for each of the virtual pages you want to add to the document. 12. Create the normal pages of the document, using n-up objects as necessary to reference the content of the virtual pages. 13.
Setting Up a Document Design do not work properly with your printer, you can add PPDs to your PlanetPress Design installation. Note that PlanetPress Design only accepts PPDs for PostScript Level 2 or higher printers. To add a PPD from PlanetPress Design: 1. Double-click on the Document node to display the Document properties dialog box. 2. In the Document properties dialog box, click Basic attributes, and click the Add PPD button. 3.
Setting Up a Document executes. To associate attachments with a document using drag and drop: l In the Structure area, select the attachment resources you want to associate with the document, and drag and drop them onto the document symbol ( ). To associate attachments with a document using the Document properties dialog box: 1. Double-click on the Document node to display the Document properties dialog box. 2. In the Document properties dialog box, click Attachments. 3.
Setting Up Pages Setting Up Pages Each page of the document can have its own distinct characteristics. This chapter explains what is meant by a document page, describes the difference between a page that executes and one that outputs, introduces the features that can help you lay out your pages, and provides guidelines and procedures for working with pages. Page Properties To view or edit properties using the Object Inspector: 1.
Setting Up Pages Page number: Enter the number of the page within the master document identified in the Master ID box. This option is only displayed if FreeForm 2 is selected as the document’s caching method in the document’s compilation options. l Force front: Select if you are printing your document in duplex mode, and want to force this page to always print on the front side of the paper.
Setting Up Pages Paper input/output l l l l l Selection type: Select the type of input paper tray the printer uses for this page. The Selection type that appears here by default is the one set for the document in the Document properties dialog box. The trays available depend on the PPD you selected for the document. The selection you make here determines the contents of the Paper source.
Setting Up Pages An overlay page can print only if it is associated with a normal page, and only if the normal page with which it is associated prints. You can have many overlay pages associated with a single page. In PlanetPress Design, overlay pages are displayed in the Page area in mauve with a yellow border. Mauve and yellow are both defaults, which you can modify in the User Options dialog box.
Setting Up Pages 4. Click OK. Associate Attachments with a Page When you associate an attachment with a page, you define whether you want that attachment to execute before or after the page executes. You can associate a condition with each attachment that determines whether the attachment executes.
©2010 Objectif Lune Inc - 112 -
PlanetPress Design Objects PlanetPress Design Objects Objects are the pieces of your document that are inserted in your page, such as text boxes, barcodes, images and data selections. This chapter explains each object and its unique properties.
PlanetPress Design Objects l Position and size Note that you can also click and drag on the object after you add it to the document to adjust its position and/or size. Also note that the unit of measure used is the one set in the PlanetPress Design User Options dialog box (see Miscellaneous Preferences) l Left: Set the distance to offset the left edge of the object from the left edge of the page.
PlanetPress Design Objects l l Ratio: Enter the percentage by which you want to shrink or stretch the font spacing in the style. Condition: Select the condition you want to associate with the object. You can select or enter the name of an existing global condition. You can also enter a PlanetPress Talk expression that defines the condition. The expression must evaluate to a Boolean value. Repeat The options available here depend on the Repeat Mode selected.
PlanetPress Design Objects l l l Use the Iterations per row/column box to set the number of repeats in each row. Iteration condition: Set a condition on the current line of data. This is effective only within the line range defined in the From/to line property. It determines whether the data selections of the element that PlanetPress Design is currently processing and that reference that line or record appear in the output.
PlanetPress Design Objects Select None to prevent resizing along either the X or Y axis. If you use PlanetPress Talk code to define the Angle, Height, Width, Top, or Left properties of an object/group, PlanetPress Design automatically sets Scalable orientation to None, to prevent an inadvertent change to the PlanetPress Talk code due to a resize of the object/group using the mouse or keyboard shortcuts.
PlanetPress Design Objects Note that in both cases, the specific line number you define in the Data properties of the object or objects is not important. You determine the start and end lines for the repeats when you set up the line repeat. When you do this, PlanetPress Design automatically sets the values of the From line and To line boxes in the Data properties of each object to ¤t.line. This ensures the data selection changes with each repeat.
PlanetPress Design Objects Snapping Points Snapping point are points on an object or group that you use to connect one object or group to another such that changes to the size or position of one affects all those snapped to it. As a simple example, consider the second page of a form letter in which the last paragraph (a text object) is followed by a signature (a picture object).
PlanetPress Design Objects l In the properties dialog box of any object, click the Show/Hide Object Preview button. Note that by default, the Object Preview will always appear when you open an object's properties, even when you hide it. Its position is also reset. You can change this behavior in the PlanetPress Design User Preference (see Miscellaneous Preferences). The following options are available in the Object Preview window toolbar: l l l l l l Zoom in: Zoom in by 25% zoom.
Fonts and Styles Fonts and Styles A style is a specific set of properties that describe how a font is used within a PlanetPress Design object. Styles are created at the document level and can be used in any object where text is displayed, including data selections, text boxes, human-readable barcode text and business graphics. While creating your PlanetPress Design document, you can use multiple styles as well as unique fonts for each style.
Fonts and Styles the document. If you did not modify the Font type option, the font name that appears by default is the one set in the Default font name option in the User Options dialog box. Default attributes Font size: Select or type the point size for the font. Note that this is the default font size for the style. You can override the default as necessary in various places in PlanetPress Design, including the text in text/box objects, and in PlanetPress Talk using the setstyleext() command.
Fonts and Styles 6. Click OK. PlanetPress Design creates the style. The style appears in the Styles folder in the Structure area. To work in the Style Preview: 1. If the Style Preview is not visible, in the Style dialog click the Preview button. The Style Preview appears, and displays the test string using the settings entered to date in the Style dialog. 2.
Fonts and Styles 1. In the Structure area, do any of the following to display the properties dialog box for the style: l Double-click the style. l Select the style and press ENTER. l Select the style and, in the Object Inspector, double-click one of its properties. 2. Use the properties dialog box to edit the style properties, if necessary. 3. In the properties dialog box, click OK. PlanetPress Design updates the style.
Fonts and Styles l Do either of the following: l In the Structure area, click the style you want to set as the default style. Then, in the Object Inspector, locate the property IsDefaultStyle, click Press to Set as Default, then click the button the appears on the right of the property. l Open the Style properties dialog box of the style you want to set as the default style (either double-click the style in the Structure area, or select it in the Structure area and press ENTER).
Fonts and Styles wether or not the data is already formatted as Arabic text. Finally, an option lets you turn contextual analysis of the data on or off. CID-Keyed Fonts A CID-keyed font is a postscript (or Open Type) font designed to hold Chinese, Japanese and Korean characters efficiently. More accurately a CID font is a collection of several sub-fonts each with certain common features—one might hold all the latin letters, another all the kana, a third all the kanji.
Fonts and Styles Encoding tables are tables computers use to map keystrokes to font glyphs. Your keystroke generates a numeric code and the computer consults an encoding table for the Helvetica font. The encoding table tells the computer which glyph is associated with that numeric code, in this case the glyph for the upper case ‘A’. The computer displays the upper case ‘A’ glyph for the Helvetica font on the screen.
Fonts and Styles Select Unicode to display the Unicode equivalent of each glyph. Select Width to display the width of each glyph. Encoding: Use the drop-down to select the encoding table to use as a starting point. Alternatively, import the encoding table to use as a starting point. Note that the ISO Latin-9 encoding table includes the euro symbol. Export this Encoding: Click to open a Save As dialog to save the current encoding setup as a file on the system. This file is PlanetPress-specific with the .
Fonts and Styles 6. In the Export Encoding dialog box, specify the folder and file name for the file in which you want to save the encoding table, and click Save. Files that contain encoding tables have an .enc file name extension. PlanetPress Design exports the encoding table and returns to the Font Encoding dialog box. 7. Click OK to exit the Font Encoding dialog box. 8. Click OK to exit the Style properties dialog box.
Fonts and Styles 7. In the Glyphs list, verify the correct TrueType glyph is associated with each PostScript glyph, and use the Glyphs available in TrueType font box to edit any that are incorrect. 8. Click OK. PlanetPress Design copies the font files to the Fonts subfolder, and updates its font lists to make the font available from PlanetPress Design. To change the TrueType glyph associated with a PostScript glyph: 1. In the Glyphs list, select the glyph correspondence you want to edit. 2.
Fonts and Styles Left, Right diagonal: Click to apply the line settings to a diagonal that bisects the background box. Vertical, Horizontal line: Click to apply the line settings to a line that bisects the background box. Radius: Set the radius of the circle to use to create round corners. The maximum value is one half of the smaller of the Width and Height values set for the object. Units are as set in the User Options dialog box. This setting applies to all rounded corners in the background box.
Fonts and Styles Menu: l l l l l Format l Font...: Opens the Font selector, which is essentially the same as the Style Toolbar as well as the Style Selector (See Apply a Style to Text in a Text Object) l Margin...: Opens the Margins dialog which lets you set the Left and Top margins for the text object. l Word Wrap: Enables or disables Word Wrap in the text object. Applies to all the contents of the text object.
Fonts and Styles Note that this is not a "smart" wrap, and it will not add dashes or correctly separate words. Instead is simply wraps when the number of characters is reached on the line. Apply a Style to Text in a Text Object To apply a style to text in a text object: 1. Do any of the following to define the region of text to which you want to apply the style: l To apply a style to existing text, highlight that text.
Fonts and Styles Set Tabs To set default tabs: 1. In the Format toolbar, click the tab tool to display the Tabs dialog box. 2. In the Tabs dialog box, set the default tabs using the Default tab stop box. Default tab stop: Enter the space to leave between each default tab. This is also the initial ruler position for the first default tab. You can also use the spin buttons to adjust the value. Units are as set in the User Options dialog box. 3. Click OK. To clear the default tabs: 1.
Fonts and Styles 1. Click anywhere in the paragraph containing the tab or tabs you want to delete. 2. Do either of the following: l In the horizontal ruler, click the tab marker for the tab you want to delete. Repeat for each tab you want to delete. l In the Format toolbar, click the tab tool to display the Tabs dialog box. Click Delete All to delete all tabs set in the defined region of text. Click OK to close the Tabs dialog box.
Fonts and Styles 4. When the Spelling dialog box appears, define how you want to handle the spelling error. l Spelling Error l Not found: Displays the misspelled word the spell check encountered. l Replace with: Enter the word with which you want to replace the misspelled word. l Suggestions: Displays a list of suggested replacements for the misspelled word. l Actions l Ignore: Click to have the spell check ignore this spelling error and continue with the spell check.
Fonts and Styles l l Custom dictionary: Select the custom dictionary you want to use for the spell check. All of the custom dictionaries you created appear in the drop-down list in this box. Dictionaries button: Click to create, edit, or delete a custom dictionary. To reset the spell check options to their default values: 1. In the Text area, right-click and choose Spell Check Options. 2. In the Spelling Options dialog box, click Reset Defaults. 3. Click OK. To add a dictionary: 1.
Fonts and Styles 6. Click OK to return to the Dictionaries dialog box. 7. In the Dictionaries dialog box, click OK to return to the SpellingOptions dialog box. To delete a custom dictionary: 1. In the Spelling Options dialog box, click Dictionaries. 2. In the Dictionaries dialog box, select the custom dictionary you want to delete and click Delete. 3. Click OK. Use the Thesaurus To use the Thesaurus: 1. In the Text area, highlight the word you want to search for in the thesaurus. 2.
Fonts and Styles You insert a data selection in a text object by creating a local variable that contains the data selection. Note that you cannot modify the value of those variables through the PlanetPress Talk before paragraph and PlanetPress Talk after paragraph properties. Also note that if you use a global variable to display Arabic text in a Text object, the data will not be displayed correctly in the application.
Fonts and Styles 6. Click OK. To display the name of a variable in the Text area: l Pause the pointer over the variable. To edit the definition of a local variable: 1. 2. 3. 4. 5. Choose Variables | EditDataSelection. In the Variables list, select the variable you want to edit. Right-click the variable name and choose Rename. Edit the name, then click outside the variable name. In the Variable value area, edit the value of the local variable. Click OK.
Fonts and Styles l l l l Lines per inch: Set the lines per inch for the data selection object. This makes sense only for data selection objects that contain two or more lines, or two or more records in the case of a database emulation. Alignment: Align the data selection within the data selection object, as well as the data selection object itself. The alignment of the data selection object is with respect to the Left position setting. For example, if Left=3.
Fonts and Styles Index Name: Specify the name you want to use for the PlanetPress Search index term. You can enter a name, select one from the drop-down list, or leave the box empty. If you leave the box empty, PlanetPress Design uses the name of the data selection object as the name of the index term. The drop-down list contains the names of all index terms defined to date in the document.
Fonts and Styles l l l From column: Enter the column for the character at which to start your data selection. To column: Enter the column for the character at which to stop your data selection. If you enter 0, the data selection will extend until the end of the line(s) of the data page. Use Data Selector: Click to display the Data Selector to choose which lines and columns to use instead of entering them manually. You can also create more advanced data selections by creating Custom Data Selections.
Fonts and Styles 1. In the DataSelector, use any of the following to create the data selection. FIELD NAME AND Range Coordinates In the Field name box, select the field you want to use for the data selection, and use the From record and To record boxes to specify the range of records you want to include in the data selection.
Fonts and Styles Keyboard Shortcuts Click in the Data Pane and use any of the following keyboard shortcuts to navigate in the Data Pane. HOME, END: Move the currently active cell to the first field of the current record (HOME), or the last field of the current record (END). This shortcut collapses the current data selection to only the currently active cell. PAGE DOWN, PAGE UP: See Use the Data Selector to Create a Data Selection .
Fonts and Styles l l l l l Left: Enter the position (in inches) of the left boundary of your data selection. Top: Enter the position (in inches) of the upper boundary of your data selection. Right: Enter the position (in inches) of the right boundary of your data selection. Bottom: Enter the position (in inches) of the lower boundary of your data selection. Use Data Selector: Click to display the Data Selector to choose which area to use instead of entering the coordinates manually.
Fonts and Styles Metadata The Postal Address Object was originally created in order to facilitate communication with postal sorting software, which uses the metadata created by PlanetPress in order to sort the data and print in the correct order. However, this metadata can also have other uses to you, and the exact level at which the metadata level is added (and what levels are created) depends on two options: Use Data for Postal Sorting, and the Group ID input box.
Fonts and Styles l Parameters: Displays a list of available settings for the OMR Mark. Generally, not every mark in the OMR will be configurable here, as some are automatically added and removed. l Settings: Displays the name of the setting. Read-only value. l Value: Enter a boolean value or PlanetPress Talk Expression that will determine if the setting will be true or false for this page. PlanetPress Talk Object The PlanetPress Talk object is used to add PlanetPress Talk code to your document.
Shape Object Shape objects are used to add a variety of lines, arrows, or geometric shapes to your document. Add shapes one at a time. You can also group one or more shapes that you add to the document and manipulate the group as a single shape. In addition to the common object properties, shape objects have the following properties: Type Tab l l l l l l Shape type: Select the type of style of the shape you want from the list of Box, Line, Circle, Ellipse, Arrow or Triangle.
ciated with the virtual page. When PlanetPress Design scales the virtual page in the N-Up object, it simultaneously scales any overlays associated with that page. Data Pages and N-Up: It is important to note that because the N-Up object can change the data page within a single page, any other object after the N-Up object that uses data selection will always point to the last data page.
In all cases, the image can either be static (always the same) or dynamic (depending on certain conditions or the data). Only certain image formats are supported by PlanetPress Suite. These image formats are listed in Supported Image Formats. For more information on image formats, resolution, quality and resources, please see the chapter on Adding Resources.
Select Best fit to scale the image to create the best fit with the width and height of the picture object. The scaling preserves the aspect ratio of the image. This is the most time-consuming of all the Fit setting options since it requires calculating the image size that yields the best fit with the picture object. Best fit is the default Fit setting. On error: Select how you want the document to handle any image it cannot locate.
The FCC number must be followed by eight (8) digits. These are mandatory to specify the destination. Additional characters may be used for the Customer Information Field. The number characters varies according to each FCC format: l l l Format 11: No extra characters. Format 59: Up to 8 digits or 5 letters. Format 62: Up to 15 digits or 10 letters. Compatible characters for the Customer Information Field include: l l l Upper and lower case letters: a to z and A to Z. Digits: 0 to 9.
This barcode supports the full ASCII character set based on the 3 alphabets used in the Code128 barcode (see below). The switch between alphabets is done automatically. Special characters in the A alphabet are called with their ASCII value using the following syntax: ^nnn (such as ^010 for LineFeed). A minimum of 3 characters is required in this barcode. The maximum string length for this barcode varies depending on the control characters used in the code.
Character Encode as Character Encode as Character Encode as Character Encode as NUL %U SP Space @ %V ` %W SOH $A ! /A A A a +A STX $B “ /B B B b +B ETX $C # /C C C c +C EOT $D $ /D D D d +D ENQ $E % /E E E e +E ACK $F & /F F F f +F BEL $G ' /G G G g +G BS $H ( /H H H H +H HT $I ) /I I I i +I LF $J * /J J J j +J VT $K + /K K K k +K FF $L , /L L L l +L CR $M - - M M m +M SO $N . .
Code 93 The following characters are valid for this barcode: l l l Digits: 0 to 9. Upper case letters: A to Z. Symbols: space, - (hyphen), $(dollar), / (slash), + (plus),% (percent), * (star),. (period). To go beyond the 44 basic characters listed above, you may use extended ASCII characters (granted that scanners are programmed for this, otherwise extended characters will simply be read as basic characters).
RS (%)D > (%)I ^ (%)N ~ (%)S YS (%)E ? (%)J _ (%)O DEL (%)T, (%)X, (%)Y, (%)Z A checksum is mandatory for this barcode (it is always added automatically). Code 128 Code 128 uses 3 alphabets, each containing 106 characters: l l l Alphabet A contains no lower case characters but includes special characters, such as NUL, ACK and FF. Alphabet B contains upper and lower case characters. Alphabet C is used almost exclusively for double density numeric values, ranging from 00 to 99.
21 5 5 21 11011100100 74 LF j 74 10000110010 22 6 6 22 11001110100 75 VT k 75 11000010010 23 7 7 23 11101101110 76 FF l 76 11001010000 24 8 8 24 11101001100 77 CR m 77 11110111010 25 9 9 25 11100101100 78 SO n 78 11000010100 26 : : 26 11100100110 79 SI o 79 10001111010 27 ; ; 27 11101100100 80 DLE p 80 10100111100 28 < < 28 11100110100 81 DC1 q 81 10010111100 29 = = 29 11100110010 82 DC2 r 82 10010011110 30 > > 30 110110110
Error correction levels depends on the selected barcode mode. Levels range from 0 to 6 in Rectangular mode, and from 0 to 24 in Square mode. Note that the number of characters available is inversily proportional to the error correction that has been set. Discrete 2 of 5 The following characters are valid for this barcode: l Digits: 0 to 9. A checksum is automatically calculated. Optional bearer bars can be added for added reliability.
This barcode supports various data types and the maximum number of characters allowed is based on the selected barcode mode: l l l l l Mode 2: For shipping data including a zipcode. Mode 3: For shipping data including a postal code. Mode 4: For any data (full ASCII supported) up to 84 characters. Mode 5: For any data (full ASCII supported) up to 68 characters. Mode 6: For any data (full ASCII supported) up to 84 characters.
If you open document that uses the “old PDF417 barcode”, existing PDF417 barcodes will remain unchanged, and any new PDF417 barcode that you may add to that document will also use the “old PDF417 barcode”. If you want this older document to use the new barcode, you will have to delete all its “old PDF417 barcodes”, to save the document, and then to add new PDF417 barcodes.
Bar width is set using millimeters and corresponds to the minimum barcode width. Error correction may be set from Level 0 to Level 3. Royal Mail The following characters are valid for this barcode: l l Digits: 0 to 9. Upper case letters: A to Z. A checksum is added automatically. UPC The UPC barcode in PlanetPress Design supports multiple subtypes: UPC-A Standard UPC-A codes must contain exactly 12 characters (including the checksum character).
l l EAN-13+2 (15 characters in all). EAN-13+5 (18 characters in all). A checksum is automatically calculated for this barcode. Human readable characters are always included in the code. EAN-8 The standard EAN-8 code must contain exactly 8 characters (this includes one checksum character). The following characters are valid for this barcode: l Digits (0 to 9).
l l l l l l Spacing percentage: Enter the amount of space, expressed as a percentage, to leave to the right of each bar. This determines both the width of each bar and the amount of space to its right, as follows. PlanetPress Design divides the width of the business graphic object by the number of bars in the graph to obtain the maximum width for each bar. It then uses the Spacing percentage to determine the amount of space the bar itself occupies.
l Color list: Displays the colors the graph uses. Each entry you add to the list displays both a sample of the color and the numerical value of the color in the color model you are currently using. Recall that you select the default color model in the User Options dialog box. The order in which you organize the colors in the Color list determines the assignment of colors to the lines, bars, or pie sections of the graph.
l l l Excel template: Select the template you want to use for your graphic. Click the Refresh button to redisplay all the currently available templates. On error: Select the desired behavior if an Excel graph cannot be generated. Excel sheet column: Enter the letter that corresponds to the Excel data column in which the variable data is to be entered at runtime. Data page l l l Excel data graph data column: Select the data that should be entered in the cells of the Excel data sheet at runtime.
l l l Checkbox: Select to create simple checkbox. Checkboxes are used for simple options and multiple choices. Any mark made with the pen within the checkbox will set it to "checked" when processing the ink data. Field Lists: Creates a field that replicates and can be set to either accept one or multiple answers. The number of replications can be set statically (by entering a number in the Columns below) or dynamically (by specifying a variable expression in the Columns below).
Perform ICR: Triggers this field to go through the ICR engine in PlanetPress Workflow. The ICR engine will use the options specified here, especially the mask, to determine how the ICR engine will process the data into text. Field Settings group (Pidget): l Field Style (available with pidget fields only): Determines the type of pidget to use: l Pen settings: Select to enable pidgets that will change the configuration of the digital version of the ink, such as its color and the width of the lines.
An example of a white border within a capture field. Pidgets Pidgets are special static patterns you can print on a page to use with the Anoto Digital Pen. When the pen "writes" over those specific patterns, options are triggered as the pen recognizes them. In other words, pidgets are triggers for the pen's features and are limited to what features the pen actually has. The pidgets themselves are small EPS files that are printed as an image. Once printed, pidgets can be re-used multiple times.
1. Click on the button to add a new entry. 2. Double-click in the Name box and enter a name for the expression. 3. Double-click in the Value box and enter the desired expression (see below). Custom Masks Custom masks are not as powerful as regular expressions but they offer two distinct advantages.
A9A\ 9A9 H0H 0H0 J0S 1J0 H1V 2C8 A Canadian postal code $000,001.99 Dollar amount with thousand separator, up to $999,999.99 dollars. However, note that all char$321,443.54 \$999\,999\.99 acters must be present, so the mask must be padded with zeroes (0) if the amount does not $000,599.97 fully fill each box (see examples) It is important to understand that these masks are very precise and will not accept any sort of variation.
Capture Field Template List This dialog is used to add, modify or remove choice templates for List types of Capture Fields. It is also where labels are added for each choice, and the decision to limit the number of accepted choices to one, or any number of them. The List Item Editor contains the following options: l l l l l l l l l l l l l Template: Displays a drop-down of existing templates saved in the system.
Document Resources Document Resources Resources are images or PostScript attachments you add to your document. These resources can be used using Picture Objects (for images) or the Attachments properties of documents and pages (PostScript attachments). This chapter explains resources and their location as well as how to refer to them from within your document. For the purpose of this chapter, PDF files are considered to be images and are used in the same way as multi-page TIFF files.
©2010 Objectif Lune Inc - 174 -
Image Resources An image resource is any sort of image (see "Supported Image Formats" (page 175)) that is used in your PlanetPress Design document, whether it is imported as an internal resource or used as an external resource, called when the document executes.
Format: Extension: Type: PlanetPress Design supports: BitMap Pic1-, 4-, 8-, and 24-bit images in Windows format. Supports uncompressed and Run Length BMP Bitmap ture Encoded (RLE) formats. Does not support RLE for 24-bit images. Encapsulated Vector, EPS files that conform to the Adobe Encapsulated PostScript EPS PostScript Metafile File Format Specification (Adobe Technical Note #5002). Joint Photography 8-bit grayscale and 24-bit color images.
Resolution is a broad term that can refer to different things in different contexts. A detailed discussion of the different meanings and interrelationships is beyond the scope of this guide. Instead we provide This section provides a brief overview of the different possible meanings to clarify our use of resolution in PlanetPress Design. Term: Means: Scan res- The resolution at which you scan an image on a scanner.
You determine the scanline orientation for an image resource from three pieces of information: the paper orientation selected in the document for the page containing the image resource, how the paper enters the printer, and the scanline orientation of the printer. Once you have these three pieces of information, you then visualize the page of your document moving through the printer and determine whether the printer scans the images onto the page from top to bottom or side to side.
Host-Based Cache The host-based cache is the cache the document uses when it executes host-based. The size of this cache is independent of the document, and its size in PlanetPress Design is independent of its size in PlanetPress Suite Workflow Tools. When you execute the document host-based from within either product, the size of the cache depends on the setting in effect in that product at execution time.
Guidelines for Optimizing Images Images increase the execution time of a document and in the case of image resources, also increase the file size of a document. Tuning images to the execution environment of the document and the image quality required in the output, keeps document file size and execution time to a minimum. This section provides suggestions for reducing the file size of images and minimizing the amount of runtime processing they require, without compromising the required image quality.
To edit the properties of an image resource: 1. In the Structure area, select the image resource you want to view and/or edit. 2. In the Object Inspector, view and/or edit the properties. l Name: The name of the image resource in the document. l Color depth: Indicates the color depth of the image resource. Color depth is meaningful only for image resources of type bitmap.
Monitor display VS Printing l l l l The monitor produces the color you see on-screen with light while the printer produces color with pigment. The set of colors, or gamut, you can produce with light is not identical to the set you can produce with pigment. Thus there are colors you can produce on a monitor and not on a printer, and vice-versa. The monitor uses three primary colors of light (red, green, blue) to produce all the colors you see on-screen.
3. In the Preferences dialog box, expand Behavior, click Color, and set the color management options. l Select Color Management Active. Note that you must select this option before you can select the monitor and printer color profiles. l Set Monitor Profile to the color profile for the monitor of the computer on which you are running PlanetPress Design. l Set Printer Profile to the color profile for the printer on which you intend to execute the document. 4. Click Close.
PostScript Attachments A PostScript attachment is a file that contains standard PostScript code, which is attached in your document and printed as-is. PostScript attachments are not added in your pages and are rather executed before or after a page or document. This means that they must contain PostScript that creates and prints one or more pages in a format that your printer will understand. You cannot edit a PostScript attachment resource from PlanetPress Design.
l l Deletion options: l Replace all references with: Select to delete the resource and to replace all references to it with a reference to another image resource in the document. l Resource available: Select the image resource you want to use as the replacement reference. When you delete the resource, PlanetPress Design replaces all references to the deleted resource with a reference to the resource you select here.
©2010 Objectif Lune Inc - 186 -
Conditions Conditions This chapter explains conditions, variables, and PlanetPress Talk and how to use these features in your document. Conditions What is a condition? A condition is a PlanetPress Talk expression that performs a test on the data page and resolves to either True or False. The condition may be as simple or as complex as you require. You use conditions to make the display of a page, object, group, or line of data in a data selection object dependent on input data.
Conditions A line condition is a condition that acts as a filter on a data selection. Only data selection objects can use line conditions. The line condition determines two things: what lines (or records in the case of a database emulation) to display in the data selection, and whether to display an empty line for any line (or record) that does not display.
Conditions From column: Enter the column number at which to test for the string. This box appears when you select On line at column, On previous line at column, or On next line at column in the Location box. Recall that these options are not available in database emulation. When advanced condition is true This box appears when you select When advanced condition is true in the Line condition box. Line displays if: Enter the PlanetPress Talk expression that defines the line condition.
Conditions Create a Global Condition To add a global condition: 1. Choose Home | Document | Condition. 2. In the Condition properties dialog box, click Identification and enter a name for the global condition. In the Condition properties dialog box, click Condition and select the type of condition from the Condition type box. Options specific to that type of condition appear below the box. Adjust these options as necessary to define the condition. Invert the condition: Invert the value of the condition.
Conditions The result of the On value change condition is based not on the data value itself, but on whether the data has changed from one data page to another. The On value changecondition has two parameters: l As with all other conditions, the first parameter is mandatory and it represents the data region to monitor. Depending on the emulation, the selection can be a block of data, a single field or an advanced PlanetPress Talk statement. l All Text/PDF emulations: Allow the selection of a block of data.
Conditions View or Edit the Properties of a Global Condition To view or edit properties using the Object Inspector: l Select the global condition in the Structure area. To view or edit properties using the Condition properties dialog box: 1. Double-click the global condition in the Structure area. 2. Enter any edits you want to make to the global condition. 3. Click OK.
Conditions Operator Description True. NOT Operates on a single condition. The result is the inverse of the condition. () Assigns the highest precedence to its contents. See below for an explanation of precedence rules. Example &square NOT (&over_50) The expressions you create using these operators can be either simple or complex.
Conditions A. Status area l Type directly in the Completed condition box. Names of conditions and Boolean operators are both case-insensitive. Note that if you want to use a NOT operator, you must enclose the condition on which you want it to operate in parenthesis. Thus you enter NOT (&black) rather than NOT &black. l Drag and drop conditions from the Conditions available for concatenation box.
Conditions 1. In the Structure area, select the condition to which you want to add one or more existing conditions. 2. In the Object Inspector, locate the Combined condition property. 3. In the Combined condition property, enter a valid Boolean expression that references one or more of the conditions that appear above the currently selected condition in the Structure area, and describes how you want to combine those conditions.
Conditions l Select the page, object, or group for which you want to create the condition. In the Object Inspector, locate the Condition property and enter the PlanetPress Talk expression that defines the local condition. The condition indicator appears on the upper-left corner of the page, object, or group symbol in the Structure area. The color of the indicator reflects the current value of the condition (green indicates True; red indicates False).
Conditions 1. In the Structure area, double-click the global function. 2. Use the PlanetPress Talk Editor to edit the properties of the global function, if necessary. 3. Click OK. If you made a modification that may cause execution problems in the document, PlanetPress Design reports an error in the Messages area. If you made a modification that may cause execution problems in the document , PlanetPress Design requests confirmation before proceeding with the modification.
©2010 Objectif Lune Inc - 198 -
PlanetPress Talk PlanetPress Talk PlanetPress Talk is a complete scripting language that opens the door to more powerful and sophisticated documents. Please note, as of October 20th 2011, the PlanetPress Talk Reference Guide has been merged with the PlanetPress Design User Guide. This chapter now contains the language reference and more details about our scripting language. You can use PlanetPress Talk expressions in many places in the documents you create in PlanetPress Design.
PlanetPress Talk Choose: To: Launch the Color Picker and select a color to include in the expression. When you exit the Color Picker, the Color CMYK values for the color appear in the expression. Display a menu of the styles defined in the document and choose the name of a style to add to the expression. Style PlanetPress Design adds the style as a variable of type string.
The PlanetPress Talk Editor The PlanetPress Talk Editor is a feature-rich editor for entering PlanetPress Talk code. You can write, run, and debug code, as well as import and export code, all from the PlanetPress Talk Editor. There are four main areas in the PlanetPress Talk Editor: the Commands area, the Code area, the status bar and the Spy list. A. Commands area B. Code area C. Status bar D.
Spy List The Spy list displays any and all spies set in the object or page from within which you are using the Editor. PlanetPress Talk Editor Features What are the features of the PlanetPress Talk Editor? The PlanetPress Talk Editor provides the following features for entering, editing, and executing code.. Feature: Description: Easily customized You can set a number of options that affect the appearance and behavior of the Editor.
Feature: erences Description: completion feature and the argument list display feature provide quick references for specific commands. Debugging Features What debugging features are available in the PlanetPress Talk Editor? The Editor provides four key features that can help you debug problem programs: execution control, breakpoints, spies, and expression evaluation.
The execution and debugging features of the Editor are available only when you launch the Editor from the PlanetPress Talk properties of an object or page, or from the Data Selector. They are not available when you launch the Editor from the PlanetPress Talk properties of a document or condition, when you are editing the PlanetPress Talk before/after paragraph properties of a text object, or when you are creating or editing a global function.
You can stop execution, and use the debugging features only in the program you are currently editing in the Editor. Enter a New Program in the Editor The way you create a new program in the PlanetPress Talk Editor depends on whether the Code area of the Editor is currently displaying the contents of a file. To create a new program when no file is loaded in the Code area: l Enter the new program. To create a new program when a file is loaded in the Code area: 1.
1. If you want to print only a region of code, select that region. 2. In the PlanetPress Talk Editor, choose File | Print. 3. Adjust the print options if necessary. File to print File name: Displays the name of the file currently loaded in the Code area. Print selected block: Select to print only the selected region of the program. Clear to print the complete program. This option is available only if you have code selected in the Code area.
Expand or Collapse Command Groups A. Expand/collapse box B. Expanded group C. Collapsed group To expand or collapse a single command group: l Click the expand/collapse box to the left of the group. To expand or collapse all command groups: l Right-click in the Commands area and choose Expand All or Collapse All. Enter Commands in the Editor To make code entry faster and more adaptable to different work styles, the Editor provides a number of ways to enter code.
l l l l l l l l l l the point at which you want to enter the data selection argument, and choose Data Selection. Color specification: To enter a color specification as an argument using the Color Picker, right-click in the Code area at the point at which you want to enter the color specification, and choose Color. Style: To enter a style as an argument, right-click in the Code area at the point at which you want to enter the style, choose Style, and then choose the style you want to reference.
Dynamic Images Dynamic images are image resources that refer to more than one image in a dynamic fashion. These images can be located on local or remote drives, or directly on the printer, depending on the run mode that is used. This section explains how dynamic images work.
The PlanetPress Talk expression you define references a selection of input data so that as the input data varies, so does the image that appears in the picture object. When the document executes, it must retrieve the external images associated with each dynamic image in the document. These images must thus be accessible in the execution environment of the document. When you construct the PlanetPress Talk expression that resolves to a pathname for an image, you therefore need to consider: 1.
If you select host-based when you set up a PlanetPress Suite Workflow Tool process to execute a document, the document can access both the local PlanetPress Design Suite virtual disk as well as any folder on the computer on which it executes. If it completes execution on a printer, it can also access the hard disk of the printer. Image Format Images must be in a format the document can accept at runtime.
To: Images must reside on the: based, the images must be either in a folder on the host running PlanetPress Suite Workflow Tool or on the local PlanetPress Design Suite virtual disk. Examples of PlanetPress Talk Expressions that Resolve to Pathnames The following are examples of PlanetPress Talk expressions that resolve to pathnames. The expression can thus include global and system variables.
Image Name and Pathname Resolution in Dynamic Images How does the document resolve image names and pathnames in dynamic images? When the document executes, it evaluates the PlanetPress Talk expression. Once it has the name or pathname, it proceeds as follows until it encounters an image file that matches that name or pathname. 1. It compares the result to the image resources in the document. Thus if you entered the PlanetPress Talk expression ='house.jpg' 2. 3. 4. 5.
Specific variables are available within these boxes that can be used to obtain data about the object and to modify it, for example for height, width and position. For more information, see the PlanetPress Talk Reference Guide. Any object that has PlanetPress Talk code entered in either the "Before" or "After" section will be identified in the Document Structure area in a maroon color instead of the normal black text. This color may be different and is configurable in the "Color Preferences" (page 63).
l l l The @page() and execpage() commands are used to execute any page type and place its result in memory, if you do not need to use any of those page's paper handling. The $element (or $page) command is used to execute a page if you want to keep the paper handling intact. It is only useful if you are using it to call a normal page, as virtual pages and overlays do not contain any paper handling. The showpage() command is used to display (print) the pages that are in memory.
©2010 Objectif Lune Inc - 216 -
PlanetPress Talk Basics In this section, you learn to: l l l l l l l "Learning PlanetPress Talk" (page 218) "Integrate PlanetPress Talk into Documents" (page 237) "Define and Assign Values to Variables" (page 237) "Select Data" (page 238) "Use Functions as Arguments" (page 238) "Debug Scripts" (page 238) "Tips and Tricks" (page 239) In this section, you find examples of how you can use PlanetPress Talk to do the following: l l l l l "Print a variable number of copies of a page based on a value in the dat
l l l "Use Functions as Arguments" (page 238) "Debug Scripts" (page 238) "Tips and Tricks" (page 239) In this section, you find examples of how you can use PlanetPress Talk to do the following: l l l l l "Print a variable number of copies of a page based on a value in the datastream" (page 240) "Store two lines of input data on one line of the data page" (page 240) "Print a page n-up" (page n) "Print a line of text on odd-numbered pages" (page 241) "Determine the proper page to print based on the width o
Command: ')),0) show(@(1,1,12)) Tells the document to: tion of the data selection. Display the text that appears from columns 1 through 12 on line 1 of the current data page. At this point you might want to introduce other commands into the code, or modify some commands and verify the changes produce the result you expect.
Category: Description: A function performs an action and returns a value. For example the inttostr function converts an integer to a string, and returns the value of the resulting string. A function thus has a data type that corresponds to that of the Functions value it returns. You assign the result of a function to a variable or use it as an argument in another command. Most functions require arguments.
showright(@(1,34,64)) ShowRight(@(1,34,64)) SHOWRIGHT(@(1,34,64)) It is important to understand that arguments to commands are case sensitive. For example, the following command returns False: eq('bovine','Bovine') Unit of Measure Unless otherwise specified, the unit of measure in PlanetPress Talk is inch. Thus, for example, the following line of code moves the current point to the X coordinate 1.5 inches, and the Y coordinate 2.5 inches. moveto(1.5,2.
It is always recommended that you choose a name that reflects the content or purpose of the element you are creating. A meaningful name makes it easier to distinguish one element from another, and thus makes a document easier to maintain. Data Types What data types are available in PlanetPress Talk? PlanetPress Talk provides the following data types: Data Type Example Integer 3 Measure or Floating 3,2300987 Point Currency 5.25 String Michel or $4,567.
Measure Limit Smallest PostScript 10-38 Largest PostScript 1038 -1 000 000 000 000 000 000 000 000 000 000 000 000 000 1 000 000 000 000 000 000 000 000 000 000 000 000 000 Currency Currency is a specific type of measure intended for use with numbers that represent monetary values. The currency type has a precision of 4 decimal places, and can take on a minimum value of -99999999999999.9999 and a maximum value of +99999999999999.9999.
0 for the first element of the array, and incrementing by one for each additional element. See "Define (procedure)" (page 561), "Set (procedure)" (page 563), "Put (procedure)" (page 562), and "Get (function)" (page 543). As an example, consider &tax_rates, an integer array containing five elements (10 20 30 40 50). You define the array as follows: define( &tax_rates,arrayinteger,[10,20,30,40,50] ) You can use any of the following to change the value of the third element from 30 to 32.
Common Uses of Variables The following are several common uses for variables: l l l l Store values that you want to reference at various places in the document. Concatenate strings For example, you want to create a footer for each page of a patient record document that contains the patient’s name, physician’s name, file number, and date the record was last updated. All the pieces of information are available in the input data.
set( &code, (&code + 1) ) set( &imagefiles[0], 'c\\images\\sushi.png' ) See the PlanetPress Talk Language Reference for complete information on the assignment operator and the set() command. View or Edit a Global Variable To view or edit the properties of a global variable using the Object Inspector: 1. In the Structure area, select the global variable. 2. In the Object Inspector, make any necessary modifications to the properties.
A. Global Variables button Replace all references with: Select to delete the global variable and to replace all references to it with a reference to another global variable in the document. Global variables available: Select the global variable you want to use as the replacement reference. When you delete the global variable, PlanetPress Design replaces all references to the deleted global variable with a reference to the global variable you select here.
Global variables are variables that you define using the Global Variable Properties dialog box in PlanetPress. Global variables appear in TreeView in PlanetPress. Global variables have a global scope; you can reference global variables anywhere you can insert a PlanetPress Talk expression in PlanetPress. You cannot define a global variable with the same name as a system variable. 3. Local Variables Local variables are variables that you define using the PlanetPress Talkdefine command.
System Objects with Global Scope Current System Object Name: Description: Integer value containing the page number of the current data page, or the number of the current rec&Current.DataPage ord set in the case of a database emulation. Integer value containing the line number of the current line of data within the data page, or the &Current.Line number of the current record within the record set. This value is read-write and can be modified using the set command. &Current.
Current (system object) This object includes a set of system variables reflecting the current state of the document. All of these variables are read-only and therefore cannot be changed using the set command, except where noted. You can access each property individually using the same syntax. Syntax ¤t.property integer, measure value Properties datapage Integer value containing the page number of the current data page, or the number of the current record set in the case of a database emulation.
Integer variable storing the number of times that a data page overflowed and that a new document page was added to accommodate the overflowing data. Initially set to 0, is incremented by 1 every time the page overflows. overflowing Boolean variable set to False by default. When the current data page contains more lines than can be printed by the current object, or technically speaking when the object’s condition to exit and overflow has been met, this variable is set to True.
System (system object) The system system object contains system variables related to the Raster Image Processor (RIP) the document is using to execute, and document versioning. These system variables are read-only. Syntax &system.product string value &system.version string value &system.formversion integer value Properties product String value containing the name of the RIP the document is using to execute.
Using Global Variables If you use a Global variable containing a foreign language text string within a Text object, you must map the characters included in that non-Unicode text string to UTF8. To do this, you must use the mapUTF8 function. You can do this by placing a PlanetPress Talk object above the Text object in the Document Structure or in the Text object itself using the PlanetPress Talk Before properties.
Foreign Language Text within PlanetPress Objects You can use PlanetPress Talk objects to display either static text or variable content. You would typically add a paragraph for static text or a simple field for variable information, such as a client’s name or address. A. A PlanetPress Talk object created without defining a UTF8 paragraph ; B.
A. The properties of a PlanetPress Talk object created to display Arabic text; B. The complete PlanetPress Talk code, as displayed in the PlanetPress Talk Editor; C. All the characters included in the text string, with the exception of the basic ASCII characters, are converted to their Unicode reference by the Ansi/UTF8 Converter dialog box The illustration below shows the properties of a PlanetPress Talk object that creates an Arabic text string.
The code of a PlanetPress Talk object that displays a UTF8 static text string A dialog box that lets you enter arabic text has also been added. If you place the cursor within a text string and press CTRL+N, the Arabic Converter dialog box will be displayed. When you are finished, click OK. The dialog box will be closed and the Arabic characters will be converted to their Unicode equivalent.
Note that PlanetPress Talk has many similarities to the PostScript language, and programmers familiar with PostScript should find PlanetPress Talk easy to learn and use. This should also hold for programmers familiar with the Windows Application Programming Interface (API). Integrate PlanetPress Talk into Documents You can enter PlanetPress Talk code in any of the following places in PlanetPress.
Select Data You use the @ function to select data in PlanetPress Talk. This command selects data on a single line of the data page. For example, the following returns the string of data found on line 3, from column 12 through 30 of the current data page: @(3,12,30) Remember that arguments can be variables.
Calculations and Arithmetic in PlanetPress Talk Because PlanetPress Talk is a language based on PostScript, there are a few limitations, especially when it comes to calculations, that need to be taken into consideration. Data Types There are three types of numerical data types in PlanetPress Talk: l l l "Integers" (page 222): Whole numbers that can be positive or negative. "Measures" (page 222): Also called "float", numbers with decimals.
l l Talk Editor. Indent Use indents to visually represent the structure of the script. For example, indent the commands a loop structure encloses to make it apparent where the loop begins and ends. Comments Include meaningful comments in your code to make it easier to read and maintain. Code Samples This section presents short samples of PlanetPress Talk code that may be useful, and that may also stimulate your imagination for the ways in which you can use PlanetPress Talk in your documents.
Variable: Type: Initialized to: Description: The emulation uses this to determine when the current line is a second line of data. It is True &second Boolean False when the current line is a second line of data. ““ (the empty &line string Holds the contents of a first line of data. string) Code: % ==================================================== % STORE TWO LINES OF DATA ON ONE LINE OF THE DATA PAGE % ==================================================== search(&str,'\014') set(¤t.line,¤t.
% ======================================================= if(eq(mod(¤t.printpage,2),1)) margin(1.5,9.75) show('See reverse side of this page') endif() Notes: l If you use a runpage, you would integrate this code into the runpage code. Determine the proper page to print based on the width of the data in the data page In this sample, the document contains three different pages and a runpage that manages execution of the three pages.
Language Reference This section provides complete descriptions of all elements of the PlanetPress Talk scripting language. Elements appear in alphabetical order, and each is illustrated with code samples you can try out in the PlanetPress Talk Editor of the PlanetPress application. Language Reference (Alphabetical) This section contains a comprehensive reference to all PlanetPress Talk functions, variable, system objects and system variables.
Syntax ¤t.property => value Properties datafilename String value containing the full path and the internal filename, not the original values, of the currently used data file. Note: This variable contains an empty string in printer centric mode. datapage Integer value containing the page number of the current data page, or the number of the current record set in the case of a database emulation.
Integer value containing the orientation of the current document page (0=portrait, 1=landscape, 2=Rotated portrait, 3=Rotated landscape). overflowcount Integer variable storing the number of times that a data page overflowed and that a new document page was added to accommodate the overflowing data. Initially set to 0, is incremented by 1 every time the page overflows. overflowing Boolean variable set to False by default.
&Document (system object) This object includes a set of system variables reflecting the current state of the document. All of these variables are read-only and therefore cannot be changed using the set command. You can access each property individually using the same syntax. Syntax &document.property => value Properties name String value containing the name of the PlanetPress Document. picturecolores Integer value containing the default resolution of color pictures, in DPI.
&Height (system variable) System variable with a scope local to a specific object, group, or page. The system initializes this variable to the value of the Height property of the object’s, group’s, or page’s Basic Attributes. You can reference and set this variable in any PlanetPress Talk code you enter in the object, group, or page.
Return Values: l l l 0: No metadata, for example a Design document with no data file. 1: Metadata is being generated (Create Metadata / Refresh Metadata). 2: Metadata is in read mode, such as in PlanetPress Design's workspace. Use Cases: l l Prevent circular logic when adding a page based on the metadata page count. For example, when manually adding a blank page on duplex jobs when the page number is odd, you could add a condition so that this page only "prints" when the &metamode <> 1.
Possible Values Value: Description: 0 PlanetPress during document design 1 Preview or Softproof as Printer Queue 2 Preview or Softproof as PlanetPress Image 3 Preview or Softproof as PlanetPress Fax 4 Printer Preview 5 Printer Hard Disk 6 Printer Memory 7 Host Computer 8 Flash Memory 9 PlanetPress Image 10 PlanetPress Fax 11 PlanetPress Suite Workflow Tools Code Sample Example This example changes some colors to shades of gray for greater legibility on a fax. Example setlinewidth(0.
Properties filename Read-only string value containing the fully qualified path and filename of the current script. paramstring Read-only string containing additional information passed by the document to the script. returnvalue Read-write integer containing a coded value for the result of the "ExecScriptFile (function)" (page 486) command.
PlanetPress Alambic is the name of the RIP built in to PlanetPress (the RIP PlanetPress uses when you perform a preview and select Internal interpreter as the PostScript interpreter). version String value containing the version number of the RIP the document is using to execute. For example, 4.0. formversion Integer value containing the version number of the document requested by the trigger.
Integer values specifying the start/end columns of the chunk of data to read from the current data page. Code Sample Example The first line of code assigns data from the current data page to a variable. The second line of code checks for the presence of a value inside the data page and sets a Boolean variable according to the results.
Example The following two lines of code are functionally equivalent and display the content of a page named MyFirstPage: @MyFirstPage execpage('MyFirstPage') $element (procedure) Executes the specified document element (object, page, resource, etc.). Note that in the case of a page, this procedure executes both the content of the page and the paper handling properties of the page. The height and width of the calling page are therefore set to the same values as those set by the called page.
This description details how to use it to concatenate two strings. See "Add (function)" (page 551) for help using it to add two numerical expressions. Syntax string1 + string2 + ... string Arguments string1, string2,... String values. Code Sample Example The following code sample concatenates five strings into a single string that contains the first and last name of a customer.
Code Samples &price := 18.53 &day[4] := 'Friday' &last:=True &mustard := [0,20,90,16] <> (operator) See "NE (function)" (page 557) Add (function) Adds two numerical expressions. This is the functional equivalent to the + operator, when you use the + operator with numerical expressions. Syntax add( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure, or currency values. Both expressions must be the same type.
Boolean values. Code Sample Examples These examples illustrate the possible values for AND. and(true, false) %Returns false and(false, true) %Returns false and(false, false) %Returns false and(true, true) %Returns true Arc and ArcN (procedures) Arc() draws an arc in a counter-clockwise direction, while ArcN() draws an arc in a clockwise direction. If there is a current point set, the command draws a straight line from the current point to the start point of the arc.
Measure value representing the start angle, in degrees, for the arc. Degrees are relative to a standard X, Y axis, with a value of 0 degrees lying flush with the X axis. The value of the start angle can be either positive or negative. end_angle Measure value representing the end angle, in degrees, for the arc. Degrees are relative to a standard X, Y axis, with a value of 0 degrees lying flush with the X axis. The value of the end angle can be either positive or negative.
enddocument() EndIf() BeginGroup/EndGroup (procedure) Delimits the boundaries of a metadata group within a PlanetPress Design document. Syntax begingroup() or endgroup() Arguments None Code Sample Examples if(&is_FirstInvPage) begingroup() EndIf() if(&is_LastInvPage) endgroup() EndIf() BeginParagraph … EndParagraph (procedure) Delimits a paragraph of formatted text.
endparagraph() Arguments lmargin Measure value specifying the left margin, in inches, of the text relative to the left border of the object. rmargin Measure value specifying the right margin, in inches, of the text relative to the left border of the object. firstindent Measure value specifying the indent, in inches, of the first line of the paragraph, relative to the lmargin parameter. align String value specifying the text alignment within the paragraph.
BeginUTF8Paragraph … EndUTF8Paragraph (procedure) Delimits a paragraph of formatted UTF8 text. This procedure is based on BeginParagraph … EndParagraph (procedure), with the following differences: l l l ShowUTF8 (procedure) must be used instead of show() SetStyleExt (procedure) must use a style that has been associated with the True Type Font "TT Host UTF8Arabic". Only UTF8 text can be displayed in a PlanetPress Talk object defined using the beginUTF8paragraph … endUTF8paragraph structure.
String value that specifies the name of the bitmap image resource. resolution Integer value that specifies the resolution at which you want to measure the width or height of the bitmap. Code Sample Example This example sets the variable maxwidth to the width of the bitmap 'fingerprint' at a resolution of 150 DPI, and the variable maxheight to the height of the same bitmap at a resolution of 200 DPI.
String value composed of two characters. Code Sample Example This example converts the data on line 5, columns 12 to 13, to Code 128 bar code C character set data. Example c128(@(5,12,13)) CallPPD (procedure) Calls a section of the PostScript Printer Description (PPD) file and executes it on the printer. Use this to set printer options such as the input tray or duplexing options.
Measure value. The absolute value of the measure value must be less than the maximum value of an integer in PostScript (2,147,483,647). Code Sample Examples These examples illustrate various applications of ceil(). ceil( -2.8 ) %Returns -2 ceil( 2.8 ) %Returns 3 ceil( -5.0 ) %Returns -5 Char (function) Returns the character whose ASCII value is specified. Syntax char( value ) string value Argument value Integer value between 0 and 255, specifying the ASCII index of the character.
Result: ClearPage (procedure) Clears the current data page and loads the next one. This command should only be used before reading the next page of data from the input stream. It is strictly for use within a User-Define Emulation and generally follows DoForm (procedure). Syntax clearpage() Argument None Example: This example the default User-Defined Emulation that corresponds to a Line Printer data file. search(&str,'\014') set(¤t.line,¤t.line + 1) store(¤t.
Syntax clippath() Argument None Example This example displays the coffee_time image partially, where only a square defined by the rlineto() is visible. moveto((2.0000/(6.6529)) * &width, (0.2000/(4.9897)) * &height) rlineto(0, (3.0000/(4.9897)) * &height) rlineto((3.0000/(6.6529)) * &width, 0) rlineto(0, neg((3.0000/(4.9897)) * &height)) closepath() clippath() moveto(0, 0) showbitmap('coffee_time',&document.
Argument value Measure value specifying the angle whose cosine is returned. Code Sample Example This example displays a sinusoidal graph. Example moveto(0,0) define(&i,integer,0) for(&i,1,10,360) lineto(cos(inttofloat((&i)/ 4)),sin(inttofloat(&i))) endfor() closepath() CRLF (procedure) Moves the current point by simulating a carriage return/line feed combination. The horizontal position is reset to the value of the current left margin, while the vertical position is offset by the leading value specified.
Syntax curtostr( expression ) string value Argument expression Currency value to convert. CurToFloat (function) Converts a currency expression into a measure value. Syntax curtofloat( expression ) measure value Argument expression Currency value to convert. CurveTo/RCurveTo (procedure) Creates a Bezier curve. Bezier curves are shapes defined using 4 points: the starting and ending points are physical positioning points while the second and third points are control points on the curve.
curveto(1,1,1,3,0.5,2) closepath() strokeandfill() Result: Date (function) Returns the print date. Note that this function does not work in Printer-Centric mode, since it is impossible for the document to get the current date from a printer. So if you send your document to a printer and then simply send data with the appropriate trigger to that printer, the document will run on the printer and the function will return an empty string.
Define (procedure) This command creates a new local variable, or redefines an existing one. The define procedure must appear before the variable is actually used. PlanetPress Talk scripts require all variables to be defined either as a global variable in your document, or a local scope variable within your PlanetPress Talk script. Syntax define( name, type, value ) Arguments name The name of the variable, prefixed with the ampersand (&) character.
used if you understand the implications of doing so. Syntax definedata( path ) Argument path String value specifying the path of the data file. DefineImageIndex (procedure) Defines a PlanetPress Search index term. PlanetPress Image uses this information to generate the .PDI file it creates for each PDF file it creates. You use SetImageIndex (procedure) to associate a data value with the index term. Syntax defineimageindex( name, [length] ) Arguments name String value specifying a name for the index term.
Argument name The name of the metadata field to define. Unless the path argument specifies otherwise, the new field is defined at page level. data An initial string value of the defined metadata field. This value can also be a valid PlanetPress Talk expression. flags Optional integer value to define the behavior of the command when a field with the same name already exists in the current level. The default behavior uses 0 and overwrites the old value with the new one.
Arguments expression1, expression2 Integer, measure or currency values. Both expressions must be the same type. The returned value is set according to the type of the parameters. Code Sample Examples Examples 1 and 2 show both ways of dividing numbers. Example 1 show(inttostr(2/2)) %Displays 1 Example 2 show(floattostr(div(4.7,2.1))) %Displays 2.2381 DoForm (procedure) Runs the current document. This command is usually issued once a complete data page has been received and committed to buffer.
Syntax endpageset() Argument None Code Sample Examples In both modes, the command is called the same way. % Print using a Windows driver mode if(&is_CA) endpageset() selectprinter('MyCanadianPrinter') else endpageset() selectprinter('MyOtherPrinter') endif() % Work with VDX if(&is_LastBookletPage) endpageset() endif() EPSWidth/EPSHeight (function) Returns the width or height, in inches, of an Encapsulated PostScript (EPS) image resource.
Eq (function) Compares two expressions of any type and returns true if both are equal, false otherwise. This is the functional equivalent of the = operator. Syntax eq( expression1, expression2 ) boolean value Arguments expression1, expression2 Values of any type. Both expressions must be of the same type. Code Sample Examples Examples 1 and 2 shows both ways of comparing two expressions. Example 1 if( eq(¤t.line, 33) ) show('Middle of page') endif() Example 2 if(¤t.
Example define(&x,integer,strtoint(@(7,4,8))) if(&x < 1000) execpage('PAGE1') elseif() if(&x > 1000) %This is equivalent to execpage('PAGE3') @PAGE3 elseif() execpage('PAGE2') endif() endif() ExecScriptFile (function) Allows PlanetPress Design documents to execute the content of an external script file. The document waits until the script has completed before resuming its own execution. Note: This function does not support printer centric mode; results are undefined.
-1 Script file does not exist or is not accessible. -2 Invalid script language. -3 Error during script execution. Use of PlanetPress APIs within called scripts When a script is called from within PlanetPress Design using ExecScriptFile(), all of the PlanetPress environment is available to the script, including the Watch, Metadata, Capture and Alambic objects. Using these objects from a script within a Design document is not supported and can lead to unexpected results.
endif endfor() ExpandString (function) Returns a string that contains the data from a Workflow tool variable. Any variable available to the Workflow tool can be used here. Syntax ExpandString(stringtoexpand: string) string Arguments stringtoexpand The Workflow tool variable string to expand. This can be local and global variables, job infos, as well as any other variable such as %o, %j, %y, etc. Return Value Returns the resulting expanded string.
Example define(&x,integer,1) //Define loop variable define(&fn,string,'') //Define name variable margin(0,0) for(&x,1,1,fieldcount()) //Loop through all fields set(&fn, fieldname(&x)) //Store field name show(&fn) //Display field name moveto(2,¤t.y) //Move right show(field(&fn)) //Display field contents crlf() //Move to next line endfor() FieldCount (function) Returns a count of fields in the current database record.
Code Sample Example This example draws a yellow filled triangle. Example setfillcolor([0,0,100,0]) moveto(1,1) lineto(1.5,2) lineto(0,2) closepath() fill() Find (function) Checks for the presence of a string within a rectangular region of the current data page. If the specified string is found, the function returns true. This allows you to look for strings within a more general area, rather than at some precise location.
Argument expression Measure value to be converted. The decimal part is rounded down to 2 decimal points. Code Sample Example This example converts a floating point value into a currency value. floattocur(3.263457) %Returns 3.26 FloatToInt (function) Converts a measure expression into an integer value. Syntax floattoint( expression ) integer value Argument expression Measure value to be converted. The decimal part is rounded down to a whole number.
Code Sample Examples These examples illustrate floattostr(). Example 1 floattostr(3.14) %Returns 3.14 Example 2 floattostr(11) %Returns 11.0 Example 3 floattostr(34.6453455, 4) %Returns 34.6453 For… EndFor (procedure) This command structure allows a series of nested commands to be repeated a specified number of times. Each for statement must have a corresponding endfor statement in order for PlanetPress Talk to know which commands to include in the loop.
To cycle backwards through values, make startvalue larger than stopvalue, and specify a negative increment. Example define(&x,integer,1) for(&x,1,1,5) show('Line nº '+inttostr(&x)) crlf() endfor() Function @name (procedure) Defines a new PlanetPress Talk function or procedure. If you define a function that you want to return a value, you assign that value to the predefined variable &result on the last line of the function definition. You call the function or procedure you define using the @name() command.
type Type of value (integer, measure, currency, string, Boolean) the function returns. Code Sample Example This example displays a string. function @showtext(&mystring: string) moveto(1,1) show(&mystring) endfunction() Code Sample Example This example illustrates a procedure that creates a 3D pie chart.
&EB := &E endif() %================================================= if(&S < 180) &SB := 180 elseif() &SB := &S endif() %================================================= setfillcolor([getcyan(&c),getmagenta(&c),getyellow(&c),if(getblack(&c)>50,100,getblack(&c)+20)]) moveto(cos(&SB) * &R,neg(sin(&SB) * &R)) rlineto(0,&HB) arc(0,&HB,&R,&SB,&EB) rlineto(0,neg(&HB)) closepath() strokeandfill() endif() %==================================================== setfillcolor(&c) pie(0,0,&R,&S,&E) strokeandfill() &SB :
Code Sample Examples Example 1 and Example 2 show both ways of comparing two expressions. Example 2 illustrates the >= operator. Example 1 if( ge(¤t.line, 50) ) show('Bottom of page') endif() Example 2 if(¤t.line >= 50) show('Bottom of page') endif() Get (function) Returns an element of an array. Syntax get( array, position ) array element Argument array Name of the array. position Integer specifying the position in the array, of the element you want to retrieve.
GetBlack (function) Returns the value of the Black component of a color array. Syntax getblack( color ) integer Arguments color Color array for which you want to determine the Black value. Code Sample Example setfillcolor([getcyan(&c),getmagenta(&c),getyellow(&c),if(getblack(&c)>50,100,getblack(&c)+20)]) GetCyan (function) Returns the value of the Cyan component of a color array. Syntax getcyan( color ) integer Arguments color Color array for which you want to determine the Cyan value.
Arguments color Color array for which you want to determine the Magenta value. Code Sample Example setfillcolor([getcyan(&c),getmagenta(&c),getyellow(&c),if(getblack(&c)>50,100,getblack(&c)+20)]) Getmeta (function) Returns the value of a metadata attribute or field. Syntax getmeta(name: string; [flags : integer; path : string]) string Arguments name The name of the metadata value to retrieve. Unless the GetAttribute flag argument is specified, the function looks for the name in the field collection.
Note: The node names of the path argument can have an optional zero-based index, indicated between square brackets ('[ ]'), to access a specific node. If no index is provided, the first node is used. Important Note: If used from PlanetPress Suite Workflow Tools, every argument is mandatory. Code Sample Example These examples show the three different syntaxes for the GetMeta() function. % Retrieve value for field "mydata".
flags Optional integer value to define the behavior of the command.The default behavior uses 0. The flag value to enter should be the sum of all desired flags. (Eg: GetAttribute and FailIfNotFound would give a flag value of '5'). Name Value Behavior GetAttribute 1 Search for the name argument in the attribute instead of the default field .
GetYellow (function) Returns the value of the Yellow component of a color array. Syntax getyellow( color ) integer Arguments color Color array for which you want to determine the Yellow value. Code Sample Example setfillcolor([getcyan(&c),getmagenta(&c),getyellow(&c),if(getblack(&c)>50,100,getblack(&c)+20)]) GRestore (procedure) This command restores all system parameters previously saved with the gsave command. If no gsave command was issued previously, the results are unpredictable.
Code Sample Example In this example, the current position is set first and saved. gsave and grestore are required to be issued in pairs, meaning that you need the equal number of gsave and grestore commands to run in any given object. However, an uneven number of commands can be located in the code, if some of them are within IF statements, so that when the code is actually run, the pairing occurs correctly in all instances.
Example 2 if(¤t.line > 50) show('Bottom of page) endif() If (function) Evaluates an expression and returns one of two specified values according to the results of the evaluation. Syntax if( expression, trueresult, falseresult ) any type Arguments expression Boolean value. If it evaluates to true, the function returns the contents of trueresult, otherwise it returns the contents of falseresult. trueresult, falseresult Values of any type, as long as both are of the same type.
statement is strongly recommended, as it is optimized by comparison to the elseif statement. Also note that documents created with previous versions and using the if...elseif...endif structure will not be updated, for full backward compatibility. Syntaxes Prior to version 7.0 if( condition ) … elseif() … endif() Version 7.0 and above if( condition1 ) ... elseif( condition2 ) ... else() ... endif() Argument condition, condition1, condition2 Value of type Boolean to evaluate.
%use the default font endif() show('Some text to display') %Display the text crlf() %Skip to the next line endfor() Example with version 7.0 define(&x, integer, inttostr(@(1, 1, 10))) if(&x = 1) setstyle(&bluefont) elseif(&x = 2) setstyle(&redfont) else() setstyle(&default) endif() Related topics: l "If (function)" (page 554) InStream... EndInStream (procedure) Ceate an alias for a resource file (image, data file, attachment, etc.).
Syntax instream external resname path endinstream() If you want to create a reference to a text document (for example a sample data file), replace "external" by "cleartext.” Argument resname String value specifying the alias to use to refer to this resource file. path String value specifying the path of the resource file. Code Sample Example This example creates the alias 'photo' that refers to the resource file c:\images\employees\JAdler.bmp. Example instream external photo c:\images\employees\JAdler.
Argument expression Integer value to be converted. Code Sample Example This example uses a loop to draw a series of blue rectangles. Example define(&x,integer,1) %Define loop variable setfillcolor([100,100,0,0]) %Fill blue for(&x,1,1,10) %Set up loop %We must convert &x because rectfill %expects measure values rectfill(inttofloat(&x)/2,1,0.1,1) %Draw rectangle endfor() IntToStr (function) Converts an integer expression into a string value.
%Set up loop show('Iteration ' + inttostr(&x) ) %Show text crlf() %Skip line endfor() IsNumber (function) Tests a string and returns true if the string is a measure or integer value. Syntax isnumber( string ) Boolean value Argument string String value. Code Sample Example This example displays the word Yes if the string is either a measure or an integer, and No if it is not.
Values of any type. Both expressions must be of the same type. Code Sample Example This example shows both ways of comparing two expressions. Example if(le(¤t.line, 15) ) show('Top of page') endif() %Same statement, using the <= operator if(¤t.line <= 50) show('Top of page') endif() Left (function) Extracts the specified leftmost characters of a string. Syntax left( string, number ) string value Arguments string String value from which to extract characters.
endif() Length (function) Returns the length of a string, or the number of elements in an array. Syntax length( element ) integer value Argument element Either a string value, or an array variable. Code Sample Example Example 1 This example creates an a string array with the same number of elements as the &parts array. define( &partnames, arraystring, length( &parts ) ) Example 2 This example prints part of a string, starting after a specific delimiter.
Arguments x, y Measure values representing the horizontal/vertical position, in inches, of the ending point of the line. When using rlineto, these values are relative to the current point of origin. When using lineto, they are absolute values. Code Sample Example This example draws an empty triangle with a blue outline. Example setstrokecolor([100,100,0,0]) %Set pen colour to blue moveto(1,1) %Set starting point lineto(1.5,2) %Draw first line lineto(0.
Arguments expression1, expression2 Values of any type. Both expressions must be of the same type. Code Sample Example This example shows both ways of comparing two expressions. Example if(lt(¤t.line, 15)) show('Top of page') endif() %Same statement, using the < operator if(¤t.line < 50) show('Top of page') endif() MapUTF8 (function) Converts a text string from its original encoding to UTF8.
Code Sample Examples Example 1 illustrates a variable text string that is taken from the data, converted from the MS-CP-1256 encoding to UTF8 and then displayed from the insertion point to the right. Example 2 illustrates the same variable text string, but this time it is converted from the encoding specified in the style named “MyArabEncoding” to UTF8. Example 1 setlinewidth(0.
Margin (procedure) Offsets text within a series of commands, relative to the original top left position of the object. Margin also sets the horizontal position to be used when crlf commands are encountered. All text-rendering functions that make use of margins use this setting. Syntax margin( x, y ) Arguments x, y Measure values representing the horizontal/vertical position, in inches, of the starting point for the text within an object.
Code Sample Example This example extracts a bracket-delimited word from a sentence. Example define(&data,string,'This is a [bracketed] word') define(&i,integer, pos('[', &data)) %Find the '[' character define(&j,integer, pos(']', &data)) %Find the ']' character if((&i>0) and (&j>&i)) %If both were found show(mid(&data,&i+1,(&j-&i)-1)) %Print the word endif() Mod (function & procedure) Returns the remainder resulting from the division of two numbers.
show(inttostr(&i)+' is an') %Display number if(mod(&i,2)=1) %Determine if number is odd or even show(' odd ') elseif() show(' even ') endif() show('number.') crlf() endfor() MoveTo/RMoveTo (procedure) Moves the current point to the specified coordinates. Syntax moveto( x, y ) Arguments x, y Measure values representing the new horizontal/vertical position, in inches, of the current point. In rmoveto, these values are relative to the current point of origin. In moveto, they are absolute values.
Syntax mul( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure or currency values. Both expressions must be of the same type. The returned value is set accordingly to the type of the parameters. Code Sample Examples Examples 1 and 2 show both ways of multiplying numbers. Example 1 show(inttostr(2*2)) %Displays 4 Example 2 show(floattostr(mul(4.7,2.1))) %Displays 9.
if(¤t.line <> 1) %Same statement, using the <> operator show('Not a new page') endif() Neg (function) Returns the negative value of the specified expression. This is the functional equivalent to the - sign. Syntax neg( expression1 ) integer, measure, currency value Argument expression1 Integer, measure or currency value. The returned value is the same type as expression1. Code Sample Examples Examples 1and 2 show both ways of negating a number. Negating negative numbers yields a positive result.
Example define(&x,integer,1) %Define loop variable for(&x,1,1,10) %Set loop if(not(&x=5)) %Same as if(&x<>5) show('This is NOT the 5th line') %Show some text elseif() show('This IS the 5th line') %Show alternate endif() endfor() Object $name()... EndObject (procedure) Creates an object. You can reference the object you create using the $ operator. See "$element (procedure)" (page 613).
Measure values specifying the width and height respectively, in inches, of the object. condition (Boolean) Boolean value, or PlanetPress Talk expression that resolves to a Boolean value, specifying a condition on the object. angle (Measure) Measure value specifying the angle of rotation, in degrees. The pivot point for the rotation is the bottom left corner of the object. setsnappingpoint (optional, Boolean) Boolean value (True or False) specifying whether the object has its Set snapping point property set.
Or (Boolean operator function) Returns true if either or both specified expressions are true, false otherwise. Syntax or( expression1, expression2 ) expression1 or expression2 Boolean value Boolean value Arguments expression1, expression2 Boolean values. Code Sample Examples These examples illustrate the possible values for OR.
Syntax ord( string ) integer value Argument string String value whose ASCII value is returned. Only the first character is considered. Code Sample Example This example shows how to determine if a character is lowercase or uppercase.
Syntax passthrough( string, [mode]) Argument string String value to be sent to the printer. This string is sent as is, with no further modification. mode Integer used as a bitfield to specify when to send the passthrough.
Example &maxwidth := pdfwidth( ‘parts_manual’,3 ) &maxheight := pdfheight( ‘parts_manual’,4 ) Pie (procedure) Creates a pie slice shape, which can then be rendered using stroke, fill, or strokeandfill. Syntax pie( x, y, radius, startangle, endangle ) Arguments x, y Measure values representing the horizontal/vertical position, in inches, of a circle's center representing the whole pie from which to draw a slice. radius Measure value representing the length, in inches, of the segments of the pie, i.e.
translate(0.2,0.2) %Separate slices setfillcolor([100,100,0,0]) %Set fill colour to blue pie(1.5,1.5,1,290,420) %Create second slice strokeandfill() %Draw second slice PixelHeight (function) Returns the height, in pixels, of the specified image. Syntax pixelheight( image ) integer Argument image String value specifying the path of the file containing the image. PixelWidth (function) Returns the width, in pixels, of the specified image.
Example define(&s,string,@(1,10,40)) %Initialize var. with data if(pos('INVOICE',&s)>0) %Look for the word INVOICE show('Invoice') %if found, display some text elseif() %Otherwise,display something else show('Sales order') endif() Put (procedure) Assigns a value to an element of an array. Syntax put( &array, index, value ) Arguments &array Array variable containing the element whose value you want to change. index Integer value representing the position of the element in the array.
Example define(&x,integer,1) for(&x,1,1,10) show(inttostr(floattoint(random()*20)+1)) crlf() endfor() Rectangle (procedure) Creates and draws a rectangle shape. The rectangle can optionally be filled using the colour specified with the setfillcolor command. The border can optionally be drawn using the colour specified with the setstrokecolor command.
RectFill (procedure) Creates and draws a filled rectangle shape. The colour used to fill the shape can be specified using the setfillcolor command. Syntax rectfill( x, y, width, height ) Arguments x, y Measure values representing the horizontal/vertical position, in inches, of the starting point. width, height Measure values representing the width/height, in inches, of the rectangle shape. Code Sample Example This example draws two identical rectangles.
RectFillStroke (procedure) Creates a rectangle that has both an outline and a fill color. You set the color for the outline using setstrokecolor and the fill color using setfillcolor. Syntax rectfillstroke( x, y, width, height ) Arguments x,y Measure values representing the x and y coordinates respectively of the top left corner of the rectangle. width, height Measure values specifying the width and height respectively of the rectangle. RectStroke (procedure) Creates and draws an empty rectangle shape.
lineto(3,3) %Draw second line lineto(1,3) %Draw third line closepath() %Close shape stroke() %Draw shape Region (function) Returns an array of strings, containing the text found inside left-top, right-bottom coordinates. Note: This function only works in Windows Printing or Optimized PostScript Stream. If used in printer centric mode, it will return an empty string.
Regionline (function) Returns an array of strings, containing the text found inside left-top, right-bottom coordinates. Note: This function only works in Windows Printing or Optimized PostScript Stream. If used in printer centric mode, it will return an empty string. Syntax regionline(x1, y1, x2, y2: measure; [index: integer = 0] string Argument x1, y1, x2, y2 Measure values specifying the coordinates, in inches or centimeters, for the area on which to read the data in the current data page.
Code Sample Example This example prints the string ‘Cheers’ ten times, one underneath the other, with a dashed line above and below the ten instances. Example show('---------------') crlf(0.16) &count := 1 repeat &count := &count + 1 show('Cheers') crlf(0.16) until(&count = 10) show('---------------') crlf(0.16) ResourceType (function) Returns the type of a resource. Recall that resources are either images or attachments.
Example if( eq(resourcetype( ‘employee’ ), 1)) &resolution := 200 elseif &resolution := 75 endif Right (function) Extracts the specified rightmost characters of a string. Syntax right( string, number ) string value Arguments string String value from which to extract characters. number Integer value specifying how many characters to extract from the end of the string. Code Sample Example This example prints part of a string, starting after a specific delimiter.
RunPS (procedure) This command is typically used to call resources, usually images, downloaded either with the Image Downloader in PlanetPress or Send Images to Printer action tasks in the PlanetPress Suite Workflow Tools. Note that this command does not work with any other PostScript files. Syntax runps( filename ) Argument filename String value. Name of the resource file. Scale (procedure) Scales the result of all commands that follow the scale() command.
Arguments target Name of a variable of type string in which to perform the search. search String value to search for. Code Sample Example This example splits a string delimited with semi-colons. In the OnReadDataPage event of the user-defined emulation, the &str system variable contains each new line of data being fed to the document. Also, do not assign anything to the variable while inside the search-endsearch loop; it will get overwritten.
weight Measure value specifying the weight of the paper (in grams per square meter). You can convert weight in pounds to weight in grams by multiplying by the weight in pounds by 3.76. orientation Integer representing the orientation of the page (0=Portrait, 1=Landscape, 2=Reverse portrait, and 3=Reverse landscape). mode Reserved for future use. Specify 0 for now. Code Sample Example define(&mcolor,string,'') &mcolor := 'White' selectmedia(8.
New value to store in the variable. This value can be any valid PlanetPress Talk expression, as long as its type is the same as the variable's original type. Code Sample Example set( &invoice_number, (&invoice_number + 1) ) set( &is_bottom, (not(&is_top) and not(&is_middle)) ) &tax_rates[2] :=32 put( &tax_rates[2], @(1,3,5) ) set( &months, ['JAN','FEB','MAR','APR','MAY'] ) set( &mustard_color,[0,20,90,16] ) set( &prices, [12.5632,18.9932,23.6651,27.0300] ) put( &imagefiles[0], 'c\\images\\sushi.
SetBodyText (procedure) Defines the text that appears as the body of an email message sent by PlanetPress Image. Syntax setbodytext( bodytext ) Arguments bodytext String value specifying the text to use as the body of the email message. SetDash(procedure) Set the properties of a dashed line. Any drawing done after setdash() draws dashed instead of solid lines. You can revert to solid lines by calling setdash() with an empty array as a parameter.
SetDataPage(procedure) Specify the data page of the sample data file. Syntax setdatapage( pagenum ) Argument pagenum Integer value representing the page number of the data page. SetEmailAddress (procedure) Defines an email address for PlanetPress Image. Syntax setemailaddress( address ) Arguments address String value specifying the email address. SetEmailSubject (procedure) Defines the subject line of an email message sent by PlanetPress Image.
Value: Emulation: 2 Comma Separated Value (CSV) 3 Channel skip 4 Database 5 XML 6 PDF SetUserCRLF (procedure) Lets you define a custom global function that will be executed whenever a line return appears in a Text object where this procedure is added. The SetUserCRLF() procedure is normally added in the PressTalk Before parameter of your Text object.
Code Sample Example setfaxinformation( 'purchase confirmation' ) SetFaxNumber (procedure) Defines a fax number for PlanetPress Fax. Syntax setfaxnumber( faxnumber ) Arguments faxnumber String value specifying the fax number. Code Sample Example setfaxnumber( '(514)276-7633' ) SetFillColor (procedure) Sets the colour used to paint the insides of any closed shapes when issuing a fill or a strokeandfill command.
setfillcolor([0,0,25,0]) %Sets fill colour to light yellow using the CMYK model rectfill(0, 0, 1, 1) %Draws a light yellow square SetImageIndex (procedure) Associates a data value with a PlanetPress Search index term defined using the DefineImageIndex() command. PlanetPress Image uses this information when it generates the .PDI file it creates for each PDF file it creates. This function has no effect when the output of the document is not a PDF file generated through PlanetPress Image.
Argument widthSetLineWidth (procedure) Measure value setting the width, in inches, of the drawing pen. Code Sample Examples Example 1 This example sets the pen width to 1/4 inch then draws a 2"x2" rectangle using that pen. setlinewidth(0.25) rectstroke(0,0,2,2) SetLPP(procedure) Sets the number of lines per data page. This function is only useful when working with User-Defined Emulation, if you have a method of determining the number of LPP from within your data.
Example 2 setpdfbookmark( @(10,23,45) ) Example 3 setpdfbookmark( @(10,23,45) + '|' + @(11,23,45) ) SetStrokeColor (procedure) Sets the colour of the pen used for drawing lines, boxes and other objects. Syntax setstrokecolor( colour ) Argument colour Colour array that can be expressed expressed using one, three or four values ranging from 0 to 255. For Grayscale, a single value is used in the form [K]. For the RGB model, three values are used in the form [R, G, B].
Argument stylename Name of the style to use for all subsequent commands. The name of the style must be preceded by an ampersand. You can reference the bold, italic, or underlined versions of a font by appending the appropriate letter or letters to the name of the style. Append .b for the bold version, .i for the italic version, .bi for the bold italic version, and .u for the underlined version.
Colour array that can be expressed using one, three or four values ranging from 0 to 255. For Grayscale, a single value between 0 and 100 is used in the form [K], representing percentage of gray (100 is black, 0 is white). For the RGB model, three values are used in the form [R, G, B]. For the CMYK model, four values are used in the form [C, M, Y, K]. fontratio Integer value representing the percentage by which to shrink or stretch the font spacing.
Syntax showbarcode( string ) Arguments string Value of type string to display as a barcode. showbarcode needs 3 additional parameters before it can display the barcode. These parameters must be set before calling showbarcode, using the following variables: BarWidth Measure value setting the width of each bar, in inches. BarHeight Measure value setting the height of each bar, in inches. BarType Integer value specifying the type of barcode to print.
ShowBarcode2of5(procedure) Displays a specified string as a Standard 2 of 5 barcode. Syntax showbarcode2of5( str, barwidth, readable, bearers) Arguments str Value of type string to display as a barcode. barwidth Width of one barcode bar, in mils (0.001 inch).
Syntax showbarcodeaztec( str, mode, errorcorrection, barwidth) Arguments str Value of type string to display as a barcode. mode Mode to use for the barcode. Value Mode 0 Normal 1 Compact 2 Full Range errorcorrection Error correction level to use in the barcode. Mode Error Correction Range 0 0-99 1 0-4 2 0-32 barwidth Measure value of the width a a single barcode bar, in mils (0.001 inch).
A B C D Stop The Stop character of the barcode A B C D barwidth Width of one barcode bar, in mils (0.001 inch). readable Boolean that enables display of the human readable portion of the barcode Code Sample Example showbarcodecodabar('12345','A','A',12,true) ShowBarcodeCodablockF (procedure) Displays a specified string as a Codablock F barcode. Syntax showbarcodecodablockf( str, barwidth) Arguments str Value of type string to display as a barcode. barwidth Width of one barcode bar, in mils (0.001 inch).
ShowBarcodeCode11 (procedure) Displays a specified string as a Code 11 barcode. Syntax showbarcodecode11( str, barwidth, checksum, readable, readchecksum) Arguments str Value of type string to display as a barcode. barwidth Width of one barcode bar, in mils (0.001 inch).
barwidth Width of one barcode bar, in mils (0.001 inch). readable Boolean that enables display of the human readable portion of the barcode Code Sample Example showbarcodecode128('123456789',0,12,true) ShowBarcodeCode16k (procedure) Displays a specified string as a Code 16k barcode. Syntax showbarcodecode16k( str, mode, barwidth) Arguments str Value of type string to display as a barcode. Mode Mode (0-7) of the Code 16k barcode barwidth Width of one barcode bar, in mils (0.001 inch).
BarWidth Measure value setting the width of each bar, in mils (0.001 inch). Checksum Boolean value that indicates if the checksum should automatically be calculated. Readable Boolean value that indicates if the human readable should be shown ReadChecksum Boolean value that indicates if the checksum value should be included in the human readable Code Sample Example showbarcodecode39('123456',12,true,true,false) ShowBarcodeCode49 (procedure) Displays a specified string as a Code 49 barcode.
Arguments str Value of type string to display as a barcode. barwidth Width of one barcode bar, in mils (0.001 inch). readable Boolean that enables display of the human readable portion of the barcode Code Sample Example showbarcodecode93('123456789',12,true) ShowBarcodeDatamatrix (procedure) Displays a specified string as a Datamatrix barcode. Syntax showbarcodedatamatrix( str, mode, errorcorrection, barwidth) Arguments str Value of type string to display as a barcode.
Code Sample Example showbarcodedatamatrix('12345', 0, 5, 12) ShowBarcodeEAN8 (procedure) Displays a specified string as a EAN-8 barcode. Syntax showbarcodeean8( str, subset,[readable, barwidth] ) Arguments str Value of type string to display as a barcode. Subset The subset of EAN-8 to use 0 EAN-8 1 EAN-8 ext.2 2 EAN-8 ext.5 readable Optional boolean that enables display of the human readable portion of the barcode. Default = True. barwidth Optional width of one barcode bar, in mils (0.001 inch).
Subset The subset of EAN-13 to use 0 EAN-13 1 EAN-13 ext.2 2 EAN-13 ext.5 readable Optional boolean that enables display of the human readable portion of the barcode. Default = True. barwidth Optional width of one barcode bar, in mils (0.001 inch). Default = 12mils. Code Sample Example showbarcodeean13('977147396801',0) ShowBarcodeFIM (procedure) Displays a specified string as a FIM barcode. Syntax showbarcodefim( str) Arguments str Value of type string to display as a barcode.
barwidth Width of one barcode bar, in mils (0.001 inch).
showbarcodeisbn('978-1-86074-271-2-54495',2) ShowBarcodeJapanpost (procedure) Displays a specified string as a Japan Post barcode. Syntax showbarcodejapanpost( str, barwidth) Arguments str Value of type string to display as a barcode. BarWidth Measure value setting the width of each bar, in mils (0.001 inch). Code Sample Example showbarcodejapanpost('6540123789-A-K-Z',12) ShowBarcodeMaxicode (procedure) Displays a specified string as a Maxicode barcode.
ShowBarcodeMicroPDF (procedure) Displays a specified string as a Micro PDF-417 barcode. Syntax showbarcodemicropdf( str, mode, columns, barwidth) Arguments str Value of type string to display as a barcode. Mode Integer value of the Micro PDF mode to use. Value Mode 0 Text 1 Numeric columns Integer value (1-4) of the number of columns to use.
0 Alpha 1 Numeric errorcorrection Integer value of the error correction level to use. Value Correction Level 0 L 1 S 2 Q barwidth Integer value of the barwidth of a single bar in the Micro QR Code Sample Example showbarcodemicroqr('123456',0,2,12) ShowBarcodeMSI (procedure) Displays a specified string as a MSI barcode. Syntax showbarcodemsi( str, barwidth, readable) Arguments str Value of type string to display as a barcode. barwidth Measure of the width of a single barcode bar, in mils (0.
Syntax showbarcodeonecode( str) Arguments str Value of type string to display as a barcode. Code Sample Example showbarcodeonecode('0123456709498765432101234567891') ShowBarcodePDF417 (procedure) Displays a specified string as a PDF 417 Code barcode. Syntax showbarcodepdf417( str, mode, columns, truncated, errorcorrection, barwidth) Arguments str Value of type string to display as a barcode. Mode Integer value of the PDF 417 mode to use.
Code Sample Example showbarcodepdf417('123456',0,2,false,5,12) ShowBarcodePlessey (procedure) Displays a specified string as a plessey barcode. Syntax showbarcodeplessey( str, barwidth, readable) Arguments str Value of type string to display as a barcode. barwidth Measure of the width of a single barcode bar, in mils (0.001 inch). readable Boolean value determining if the human readable portion of the barcode is visible.
Code Sample Example showbarcodepostnet('12345',0) ShowBarcodeQRCode (procedure) Displays a specified string as a QR Code barcode. Syntax showbarcodeqrcode( str, mode, errorcorrection, barwidth) Arguments str Value of type string to display as a barcode. Mode Integer value of the QR Code mode to use. Value Mode 0 Numeric 1 Alpha errorcorrection Integer value of the error correction level to use.
Arguments str Value of type string to display as a barcode. Code Sample Example showbarcoderoyalmail('LE28HS9Z') ShowBarcodeRSS (procedure) Displays a specified string as a RSS barcode. Syntax showbarcoderss( str, mode, barwidth) Arguments str Value of type string to display as a barcode. Mode Integer value of the RSS mode to use.
Syntax showbarcodeupca( str, subset,[readable, barwidth] ) Arguments str Value of type string to display as a barcode. Subset The subset of UPC-A to use 0 UPC-A 1 UPC-A ext.2 2 UPC-A ext.5 readable Optional boolean that enables display of the human readable portion of the barcode. Default = True. barwidth Optional width of one barcode bar, in mils (0.001 inch). Default = 12mils. Code Sample Example showbarcodeupca('123456789012',0) ShowBarcodeUPCE (procedure) Displays a specified string as a UPC-E barcode.
barwidth Optional width of one barcode bar, in mils (0.001 inch). Default = 12mils. Code Sample Example showbarcodeupce('123456',0) ShowBitmap (procedure) Displays a bitmap resource. Syntax showbitmap( resname, resolution, width, height[, transparent[, duotone[, pagenum]]] ) Arguments resname String value containing either the name of the bitmap resource within the document, or the path to a bitmap file. resolution Integer value specifying the resolution, in pixels per inch, at which the bitmap displays.
showbitmap('street_photo',72,1,0,true,[100,100,0,0]) Example 2 This example displays the bitmap image sunset at a resolution of 300 pixels per inch. showbitmap('sunset',300,0,0) Example 3 This example prints either an image, or, if the image cannot be found, the pathname to the image. define( &image_paths, directory, 'c:\\images\\*.
String that defines the name of the Capture Field object (aka "PressTalk ID"). Must be the same as defined in the metadata and can only be letters or numbers (no spaces or special characters). areatype Integer that defines what kind of area type to use, from the following list: l l l l 0 - Checkbox 1 - List Fields 2 - Text Area 3 - Multi-Area Field left, top Measure variables that define the position of the Capture Field, in inches, from the left and top of the page.
width, height Measure values specifying the width/height, in inches, the EPS occupies when it displays. Specifying a value of zero for one but not both of the two dimensions scales the EPS to fit the non-zero dimension. Specifying both a width and a height scales the EPS to the best fit possible with that width and height, while maintaining its aspect ratio. Specifying both a width and a height of zero displays the EPS at its default resolution.
ShowPage (procedure) Instructs the printer to output the page and move on to the next instruction. This command has no effect on screen, because it is intended to be executed only inside the printer. Syntax showpage() Argument None Code Sample Example This example specifies the number of pages to print at line 1, between columns 1 and 5.
scales the PDF page to the best fit possible with that width and height, while maintaining its aspect ratio. Specifying both a width and a height of zero displays the PDF page at its default resolution. Code Sample Example This example displays page 5 of the PDF image resource ’new_models’, at its default resolution. Example showpdf('new_models', 5, 0, 0) ShowUTF8 (procedure) This command is used to display UTF8 text on the document. It is designed to be used within a beginUTF8paragraph...
ShowUTF8('\u0623\u0633\u0627\u0633\u064B\u0627\u060C') EndUTF8Paragraph() ShowUTF8Left / ShowUTF8Right / ShowUTF8Center (procedure) These three commands are used to display simple text strings on the document.
showUTF8left('\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629', 'normal') Example 2 This example shows a variable text string that is taken from the data, converted from the MS-CP-1256 encoding to UTF8 and then displayed from the insertion point to the right. setlinewidth(0.007) moveto(0,0) rlineto(&width,0) rlineto(0,&height) rlineto(neg(&width),0) rlineto(0,neg(&height)) closepath() stroke() moveto(&width/2,&height/2) SetStyleExt(&Style1,12.
lineto(cos(inttofloat((&i)/ 4)),sin(inttofloat(&i))) endfor() closepath() StopJob (procedure) Terminates execution of the document and returns control to the PostScript interpreter. Syntax stopjob() Store (procedure) Stores a string of characters on a specific line in the current data page. Syntax store( line, string ) Arguments line Integer value specifying the line on which to store the string. string String value to store in the data page.
StringReplace (function) Replaces all occurrences of a pattern within a string, with another pattern. Syntax stringreplace( string, old, new) string Arguments string String in which you want to replace a pattern. old String value that defines the pattern you want to replace. new String value that represents the replacement pattern. Code Sample Example This example replaces the dollar currency symbol with the pound currency symbol. Example stringreplace('1,000.
set(&data,trimright(&data)) %Store the length define(&dw,measure,stringwidth(&data)) moveto(1,1) %Display the string, then draw a box around it. show(&data) rectstroke(1,0.86,&dw,0.2) StringWidthUTF8 (function) Returns the length, in inches, of the string as it would be displayed on a page, using the current font. Bear in mind that the combination of many bytes sometimes results in a single glyph and that text orientation can also affect the number of glyphs displayed.
Example define(&data,string,'$11.95') show(strip('$',&data)) Stroke (procedure) Outlines the current shape using the pen colour and width specified with the setstrokecolor and setlinewidth command. The shape is not filled. To fill and outline the shape, use strokeandfill instead. If you only want to fill the shape, use fill. Syntax stroke() Argument None Code Sample Example This example draws a blue triangle with a blue border.
Code Sample Example This example draws a yellow triangle with a blue outline. Example setstrokecolor([100,100,0,0]) setfillcolor([0,0,100,0]) moveto(1,1) lineto(1.5,2) lineto(0,2) closepath() strokeandfill() StrToCur (function) Converts a string value into a currency value. Syntax strtocur( string ) currency value Argument string String value to convert. StrToFloat (function) Converts a string into a measure value. Syntax strtofloat( string ) measure value Argument string String value to convert.
define(&total,measure,0.0) define(&x,integer,0) for(&x,1,1,6) set(&total,&total+strtofloat(@(&x,10,18))) endfor() show(floattostr(&total)) StrToInt (function) Converts a string into an integer value. Syntax strtoint( string ) integer value Argument string String value to convert. Code Sample Example This example reads a column of 6 values then converts the values to integers and then adds the integer to the &total variable.
Arguments expression1, expression2 Integer, measure or currency values. Both expressions must be the same type. The returned value is set according to the type of the parameters. Code Sample Example Example 1 and Example 2 illustrates both ways of subtracting numbers. Example 1 show(inttostr(2-2)) Example 2 show(floattostr(sub(4.7,2.1))) SubRecCount (function) Returns the number of records per data page.
show(field('Qty')) moveto(5.5,¤t.y) show(field('UnitPrice')) moveto(6.5,¤t.y) show(field('Total')) %Add line total to tot variable set(&tot,&tot+ strtofloat(field('Total'))) moveto(0,¤t.y+.25) endfor() moveto(6.5,8) show(floattostr(&tot)) Time (function) Returns the print time. Note that this function will only work if the document runs on a computer, since it is impossible for the document to get the current time from a printer.
Translate (procedure) Offsets an object's position from its original spot on the page. The point of origin of any object is (0,0) by default. All commands within an object are relative to that point of origin. Moving, or translating the point of origin allows you to reset the point of origin within the boundaries of the object. Syntax translate( x, y ) Arguments x, y Measure values representing the horizontal/vertical offset, in inches, of the new point of origin within the object.
Trim (function) Removes both leading and trailing spaces from a string. Syntax trim( string ) string value Argument string String value from which you want to trim leading and trailing spaces. Code Sample Example This example trims leading and trailing spaces from the data selection on line 3, columns 8 to 24. Example trim(@(3,8,24)) TrimLeft (function) Removes leading spaces from a string. Syntax trimleft( string ) string value Argument string String value to trim.
Argument string String value to trim. Code Sample Example "TrimLeft (function)" (page 549) UpperCase (function) Convert a string to all upper case characters. Syntax uppercase( string ) string Argument string String value you want to convert to upper case. The string may be a mix of upper and lower case characters. Code Sample Example This example illustrates uppercase().
define(&numberOfItems, integer, xmlcount('/MyData/CUSTOMER/INVOICES/INVOICE/ITEM')) for(&i, 1, 1, &numberOfItems) ¤tItemDescription := xmlget('/MyData/CUSTOMER/INVOICES/INVOICE/ITEM['+inttostr(&i)+']/Description') show(¤tItemDescription) crlf() endfor() xmlGet() Retrieves a data selection value through the structure of an XML file. This function uses a single parameter specifying the Path of the value to be retrieved. This function returns a string.
for(&i, 1, 1, &numberOfItems) ¤tItemDescription := xmlget('/MyData/CUSTOMER/INVOICES/INVOICE/ITEM['+inttostr(&i)+']/Description') show(¤tItemDescription) crlf() endfor() XOr (Boolean operator function) Returns true if only one of two specified expressions is true, false otherwise. Syntax xor( expression1, expression2 ) expression1 xor expression2 ' boolean value boolean value Arguments expression1, expression2 Boolean values.
l l l l l l l l l l l l "System Variables" (page 376) "System Objects" (page 378) "Assignment Operator" (page 381) "Mathematical Operators and Operator Functions" (page 381) "String Operator" (page 387) "Boolean Operator Functions" (page 387) "Comparison Operators and Operator Functions" (page 390) "Conversion Operator Functions" (page 394) "Loop Structures" (page 399) "Condition Structures" (page 402) "Procedures" (page 405) "Functions" (page 481) System Variables &EOJob (system variable) Read-only vari
&PrinterMode (system variable) Returns the current output mode for the document. This allows you to test for a specific value and react accordingly.
Code Sample Example This example illustrates a few lines of code from a user-defined emulation. In these lines, if the line of input data (minus any leading spaces)begins with the code ‘5’, the emulation advances to the next line of the data page and stores the line of input data on that line. Notice the ¤t.line system variable—one of the variables in the current system object. Example if(eq(mid(trimleft(&str),1,1),'5')) set(¤t.line,¤t.line + 1) store(¤t.
lpp Integer value containing the number of lines per page in the current data page. In database emulation, this value can also be used in place of the subreccount() function to determine how many records a record set contains. mediacolor String value containing the color set in the Media color box of the Page dialog box for the current document page, or, if no value is set in that box, the color set in the Media color box in the Document dialog box for the document.
printpagename String value containing the name of the page that is actually printing. This allows conditional processing to take place within a PPTalk object according to the name of the page being executed. Note that the value always corresponds to the name of the actual page page being printed, even if the call comes from a virtual or overlay page (in other words, the name of the page on which the overlay is layed out).
PlanetPress Alambic is the name of the RIP built in to PlanetPress (the RIP PlanetPress uses when you perform a preview and select Internal interpreter as the PostScript interpreter). version String value containing the version number of the RIP the document is using to execute. For example, 4.0. formversion Integer value containing the version number of the document requested by the trigger.
Code Sample show('First Name: ' + @(2,12,36) + ' ' + 'Last Name: ' + @(3,12,36)) Add (function) Adds two numerical expressions. This is the functional equivalent to the + operator, when you use the + operator with numerical expressions. Syntax add( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure, or currency values. Both expressions must be the same type. The returned value is set according to the type of the parameters.
Example 1 show(inttostr(2-2)) Example 2 show(floattostr(sub(4.7,2.1))) Asterisk (*) operator See "Mul (function)" (page 535). Mul (function) Multiplies two expressions. This is the functional equivalent of the * operator. Syntax mul( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure or currency values. Both expressions must be of the same type. The returned value is set accordingly to the type of the parameters.
Syntax div( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure or currency values. Both expressions must be the same type. The returned value is set according to the type of the parameters. Code Sample Examples Examples 1 and 2 show both ways of dividing numbers. Example 1 show(inttostr(2/2)) %Displays 1 Example 2 show(floattostr(div(4.7,2.1))) %Displays 2.2381 Neg (function) Returns the negative value of the specified expression.
Syntax cos( value ) measure value Argument value Measure value specifying the angle whose cosine is returned. Code Sample Example This example displays a sinusoidal graph. Example moveto(0,0) define(&i,integer,0) for(&i,1,10,360) lineto(cos(inttofloat((&i)/ 4)),sin(inttofloat(&i))) endfor() closepath() Sin (function) Returns the sine value of the specified angle. Syntax sin( value ) measure value Argument value Measure value specifying the angle whose sine is returned.
Random (function) Returns a measure value between 0 and 1, non-inclusive. Since this function uses the current system time when run inside the printer, it returns a true random value. On the computer, however, the function uses the current data page as its seed to ensure the returned value is constant when you navigate from page to page on your document. Syntax random() measure value Argument None Code Sample Example This example displays 10 random numbers between 1 and 20.
String Operator "+ (operator & function)" (page 387) + (operator & function) Either concatenates two or more strings or adds two numerical expressions, depending on its context. This description details how to use it to concatenate two strings. See "Add (function)" (page 551) for help using it to add two numerical expressions. Syntax string1 + string2 + ... string Arguments string1, string2,... String values.
and(false, false) %Returns false and(true, true) %Returns true Not (Boolean operator function) Negates the specified expression. Not to be confused with the neg function: not is a Boolean operator function, not a mathematical one. Syntax not( expression1 ) Boolean value Argument expression1 Boolean value. Code Sample Example This example shows how NOT can be used in place of operators.
Code Sample Examples These examples illustrate the possible values for OR. Example 1 or(true, false) %Returns true Example 2 or(false, true) %Returns true Example 3 or(false, false) %Returns false Example 4 or(true, true) %Returns true XOr (Boolean operator function) Returns true if only one of two specified expressions is true, false otherwise. Syntax xor( expression1, expression2 ) expression1 xor expression2 ' boolean value boolean value Arguments expression1, expression2 Boolean values.
Example 1 xor(true, false) %Returns true Example 2 xor(false, true) %Returns true Example 3 xor(false, false) %Returns false Example 4 xor(true, true) %Returns false Comparison Operators and Operator Functions GT (function) Compares two expressions of any type and returns true if the first is greater than the second, false otherwise. This is the functional equivalent to the > operator. Syntax gt( expression1, expression2 ) Boolean value Arguments expression1, expression2 Values of any type.
if(¤t.line > 50) show('Bottom of page) endif() Greater than (>) operator See "GT (function)" (page 554). GE (function) Compares two expressions of any type and returns true if the first is greater than or equal to the second, false otherwise. This is the functional equivalent to the >= operator. Syntax ge( expression1, expression2 ) Boolean value Arguments expression1, expression2 Values of any type. Both expressions must be of the same type.
Syntax lt( expression1, expression2 ) Boolean value Arguments expression1, expression2 Values of any type. Both expressions must be of the same type. Code Sample Example This example shows both ways of comparing two expressions. Example if(lt(¤t.line, 15)) show('Top of page') endif() %Same statement, using the < operator if(¤t.line < 50) show('Top of page') endif() Less than (<) operator See "LT (function)" (page 556).
endif() %Same statement, using the <= operator if(¤t.line <= 50) show('Top of page') endif() Less or equal to (<=) operator See "LT (function)" (page 556). Eq (function) Compares two expressions of any type and returns true if both are equal, false otherwise. This is the functional equivalent of the = operator. Syntax eq( expression1, expression2 ) boolean value Arguments expression1, expression2 Values of any type. Both expressions must be of the same type.
&price := 18.53 &day[4] := 'Friday' &last:=True &mustard := [0,20,90,16] NE (function) Compares two expressions of any type and returns true if they are not equal, false otherwise. This is the functional equivalent to the <> operator. Syntax ne( expression1, expression2 ) Boolean value Arguments expression1, expression2 Values of any type. Both expressions must be of the same type. Code Sample Examples Examples 1 and 2 show both ways of comparing two expressions. Example 1 if( ne(¤t.
FloatToCur (function) Converts a measure expression into a currency value. Syntax floattocur( expression ) currency value Argument expression Measure value to be converted. The decimal part is rounded down to 2 decimal points. Code Sample Example This example converts a floating point value into a currency value. floattocur(3.263457) %Returns 3.26 FloatToInt (function) Converts a measure expression into an integer value.
Argument expression Measure value to be converted. precision The number of decimal places to include in the result string. Code Sample Examples These examples illustrate floattostr(). Example 1 floattostr(3.14) %Returns 3.14 Example 2 floattostr(11) %Returns 11.0 Example 3 floattostr(34.6453455, 4) %Returns 34.6453 IntToCur (function) Converts an integer expression into a measure value. Syntax inttocur( expression ) currency value Argument expression Integer value to be converted.
Example define(&x,integer,1) %Define loop variable setfillcolor([100,100,0,0]) %Fill blue for(&x,1,1,10) %Set up loop %We must convert &x because rectfill %expects measure values rectfill(inttofloat(&x)/2,1,0.1,1) %Draw rectangle endfor() IntToStr (function) Converts an integer expression into a string value. Syntax inttostr( expression ) string value Argument expression Integer value to be converted. Code Sample Example This example prints the iterations of a loop.
endfor() StrToCur (function) Converts a string value into a currency value. Syntax strtocur( string ) currency value Argument string String value to convert. StrToFloat (function) Converts a string into a measure value. Syntax strtofloat( string ) measure value Argument string String value to convert. Code Sample Example This example reads a column of 6 values then converts the values to floating point values and then adds the ir values to the &total variable.
Syntax strtoint( string ) integer value Argument string String value to convert. Code Sample Example This example reads a column of 6 values then converts the values to integers and then adds the integer to the &total variable. The total value is subsequently converted back to a string and the result is printed.
Name of the variable to use for iterations. The variable must already exist. startvalue Integer value to initialize varname. increment Integer value used to increment varname after each iteration. stopvalue Integer value after which iterations stop. Code Sample Example This example simply prints 5 lines of text. To cycle backwards through values, make startvalue larger than stopvalue, and specify a negative increment.
&count := 1 repeat &count := &count + 1 show('Cheers') crlf(0.16) until(&count = 10) show('---------------') crlf(0.16) Search … EndSearch (procedure) This command structure allows a series of nested commands to be repeated as long as a specific string of characters (the search string) is found within another string (the target string). After each iteration, the target string contains all the data between occurrences of the search string, excluding the search string.
endsearch() show(&v1) %Show remaining text Exit (procedure) Exits from a for...endfor or repeat...until loop. Syntax exit() Argument None Code Sample Example This example shows how to break from a loop when a specific word, in this case ’Invoice,’ is found somewhere on the data page. define(&x,integer,1) for(&x,1,1,¤t.lpp) if(pos('Invoice',@(&x,1,80))>0) exit() endif endfor() Condition Structures If … ElseIf… EndIf (procedure) This command structure can define up to two conditional blocks.
elseif() … endif() Version 7.0 and above if( condition1 ) ... elseif( condition2 ) ... else() ... endif() Argument condition, condition1, condition2 Value of type Boolean to evaluate. Code Sample Example This example simply prints 5 lines of text, selecting fonts according to line numbers. Example prior to version 7.
endfor() Example with version 7.0 define(&x, integer, inttostr(@(1, 1, 10))) if(&x = 1) setstyle(&bluefont) elseif(&x = 2) setstyle(&redfont) else() setstyle(&default) endif() Related topics: l "If (function)" (page 554) If (function) Evaluates an expression and returns one of two specified values according to the results of the evaluation. Syntax if( expression, trueresult, falseresult ) any type Arguments expression Boolean value.
Example show(if(&pagenumber=1,'Customer Copy','Store Copy')) Procedures % (procedure) Comments out the line. This is useful for embedding documentation in your code, making it easier to read and maintain. It is also useful during debugging, for commenting out lines of code you do not want to execute. Comments must not appear in the first line of the script you enter in the PlanetPress Talk Editor. Syntax % … comment ….
parameters Comma separated list of parameters required by the specified function or procedure. @page (procedure) Executes the content of the specified document page, as if it were part of the calling page. The content of the page in this case excludes the paper handling properties of the page. The height and width of the page content thus becomes the height and width of the group that would result if you created a single group of all of the page elements.
Examples Example 1 illustrates basic usage of the syntax. $my_square $page1 $box5 Example 2 scales the $header element to one quarter of its original size, and rotates it 90 degrees. scale( 0.25, 0.25 ) setangle( 90 ) $header Example 3 creates a thumbnail of each of the first two pages and positions the thumbnails side-by-side. scale( 0.10, 0.10 ) $page1 translate( 8.
Syntax arc( x, y, arc_length, start_angle, end_angle ) Arguments x, y Measure values representing the x and y coordinates respectively of the center of the circle. arc_length Measure value representing the length of the arc. start_angle Measure value representing the start angle, in degrees, for the arc. Degrees are relative to a standard X, Y axis, with a value of 0 degrees lying flush with the X axis. The value of the start angle can be either positive or negative.
enddocument() Arguments None Code Sample Examples if (&is_FirstPage) begindocument() EndIf() if(&is_LastDocPage) enddocument() EndIf() BeginGroup/EndGroup (procedure) Delimits the boundaries of a metadata group within a PlanetPress Design document. Syntax begingroup() or endgroup() Arguments None Code Sample Examples if(&is_FirstInvPage) begingroup() EndIf() if(&is_LastInvPage) endgroup() EndIf() BeginParagraph … EndParagraph (procedure) Delimits a paragraph of formatted text.
When a long string containing no spaces between its characters appears in the context of a show() command and the beginparagraph ... endparagraph() command, the line of text will not wrap. The same is true for a text object; no wrapping occurs when a long string has no spaces between its characters. Note that when a Text object is converted to PlanetPress Talk, an extra argument is is added to the beginparagraph … endparagraph syntax. Ignore this argument since it is strictly for internal use.
Example 2 define(&var,string,'very') beginparagraph(1,3,0,'left',0.16) setstyle(&Default) show('This ') show(&var) show(' long line of text should wrap around') endparagraph() BeginUTF8Paragraph … EndUTF8Paragraph (procedure) Delimits a paragraph of formatted UTF8 text.
Breakpoint (procedure) Stops the execution of a PlanetPress Talk object when the specified expression is True. This breakpoint is effective only when running in debug mode in the PlanetPress Talk editor. Syntax breakpoint( expression1 ) Argument expression1 Boolean value. Code Sample Example This example sets up a loop, stops the loop on its 5th iteration, and then displays the value.
callppd("Tray", "4") endif() endif() CharPath (procedure) Creates a path in the shape and size of a text string, in the currently active style. Syntax charpath(string) Argument None Example This example creates a path of the word "Text" and applies it as a clipping path on the coffee_time bitmap. This creates the word Text where the filling texture is the cofee_time image. moveto(&width / 2, &height / 2) charpath('TEST') clippath() moveto(0,0) showbitmap('coffee_time',&document.
Example: This example the default User-Defined Emulation that corresponds to a Line Printer data file. search(&str,'\014') set(¤t.line,¤t.line + 1) store(¤t.line,&str) doform() clearpage() endsearch() set(¤t.line,¤t.line + 1) store(¤t.line,&str) if(ge(¤t.line,¤t.lpp)) doform() clearpage() endif() ClipPath (procedure) The Clippath() command takes the last drawn path and selects it as the clipping region.
Argument None Code Sample Example The first line of code sets the starting point of a triangle, the second and third lines of code draw the first and second lines (or sides) of the triangle, the fourth line of code closes the triangle shape by implicitly issuing a moveto command. Example moveto(1.0,1.0)lineto(1.5,2.0) lineto(0.5,2.0) closepath() fill() CRLF (procedure) Moves the current point by simulating a carriage return/line feed combination.
from the starting point, and before shifting to the second control point, which defines a second curve before reaching the ending point. A complete explanation of Bezier curves is beyond the scope of this document. Feel free, however, to try out this command using the PlanetPress Talk Editor in PlanetPress in order to study its possibilities. To draw a simple curve, use the same (x,y) coordinates for both control points.
Syntax define( name, type, value ) Arguments name The name of the variable, prefixed with the ampersand (&) character. The name must conform to the rules for names described in "Names" (page 221). type Constant value specifying the variable type, either integer, measure, string, Boolean, or an array type. The array types are color, arrayinteger, arraymeasure, arraycurrency, arrayBoolean, arraystring or directory. Once a type is assigned to a variable, it cannot be changed, unless the variable is redefined.
Argument path String value specifying the path of the data file. DefineImageIndex (procedure) Defines a PlanetPress Search index term. PlanetPress Image uses this information to generate the .PDI file it creates for each PDF file it creates. You use SetImageIndex (procedure) to associate a data value with the index term. Syntax defineimageindex( name, [length] ) Arguments name String value specifying a name for the index term. length String value specifying a length for the index term.
Code Sample Example This example is an extract from a user-defined emulation. The search() command looks for a formfeed and adds its line number. The line number is stored as a string and the document is run. The data page is cleared and the search is over. Example search(&str,'\014') set(¤t.line,¤t.line + 1) store(¤t.line,&str) doform() clearpage() endsearch() endpageset (procedure) Ends any page set and subset when printing using a Windows driver.
Syntax execpage( pagename ) Argument pagename String value specifying the name of the page to run. The page must exist, and its name is case insensitive. Code Sample Example In this example, the current page executes pages 2, 3 or 4 according to a data selection. This allows you to create pages of 'subroutines' that can be called from any other page.
Fill (procedure) Fills the current closed shape, using the colour specified with the setfillcolor command. Only the inside of the shape is filled, not its outline. To fill and outline the shape, use strokeandfill command instead. If you only want to outline the shape, use stroke. Only closed shapes can be filled. Syntax fill() Argument None Code Sample Example This example draws a yellow filled triangle. Example setfillcolor([0,0,100,0]) moveto(1,1) lineto(1.
Integer value used to increment varname after each iteration. stopvalue Integer value after which iterations stop. Code Sample Example This example simply prints 5 lines of text. To cycle backwards through values, make startvalue larger than stopvalue, and specify a negative increment. Example define(&x,integer,1) for(&x,1,1,5) show('Line nº '+inttostr(&x)) crlf() endfor() Function @name (procedure) Defines a new PlanetPress Talk function or procedure.
Name to use for the function, prefixed with the @ character. The name must conform to the rules for names described in "Names" (page 221). It is good practice to be careful naming functions that you define in different documents, to ensure that if at some point you want to copy code between documents, the names of functions do not conflict. arglist List of arguments the function requires, where each element in the list has the syntax varname : type. For example, &date : string.
if(&Scaling>1) &Scaling := 1 endif() scale(1,&Scaling) setstyle(&Style1) &HB := &HB / &Scaling translate(&R,&R) if(&E > 180) if(&E > 360) &EB := 360 elseif() &EB := &E endif() %================================================= if(&S < 180) &SB := 180 elseif() &SB := &S endif() %================================================= setfillcolor([getcyan(&c),getmagenta(&c),getyellow(&c),if(getblack(&c)>50,100,getblack(&c)+20)]) moveto(cos(&SB) * &R,neg(sin(&SB) * &R)) rlineto(0,&HB) arc(0,&HB,&R,&SB,&EB) rlineto(
GetNextDataPage(procedure) Advance to the next data page of the sample data file. Note that this command may have unpredicted behavior if not used correctly in documents that use a user-defined emulation. This command should only be executed when printermode is not in design mode. The result will be incorrect on screen, but there will be no unexpected behaviors.
gsave and grestore are required to be issued in pairs, meaning that you need the equal number of gsave and grestore commands to run in any given object. However, an uneven number of commands can be located in the code, if some of them are within IF statements, so that when the code is actually run, the pairing occurs correctly in all instances.
if( condition1 ) ... elseif( condition2 ) ... else() ... endif() Argument condition, condition1, condition2 Value of type Boolean to evaluate. Code Sample Example This example simply prints 5 lines of text, selecting fonts according to line numbers. Example prior to version 7.
Example with version 7.0 define(&x, integer, inttostr(@(1, 1, 10))) if(&x = 1) setstyle(&bluefont) elseif(&x = 2) setstyle(&redfont) else() setstyle(&default) endif() Related topics: l "If (function)" (page 554) InStream... EndInStream (procedure) Ceate an alias for a resource file (image, data file, attachment, etc.). You can then reference the resource file using the alias instead of the path.
Code Sample Example This example creates the alias 'photo' that refers to the resource file c:\images\employees\JAdler.bmp. Example instream external photo c:\images\employees\JAdler.bmp endinstream() %You can then reference the resource using the alias showbitmap('photo',72,1,1) LineTo/RLineTo (procedure) Draws a line starting from the current point up to the specified coordinates.
Margin (procedure) Offsets text within a series of commands, relative to the original top left position of the object. Margin also sets the horizontal position to be used when crlf commands are encountered. All text-rendering functions that make use of margins use this setting. Syntax margin( x, y ) Arguments x, y Measure values representing the horizontal/vertical position, in inches, of the starting point for the text within an object.
moveto(1,1) %Reset current point lineto(1.5,2) %Draw first line lineto(0.5,2) %Draw second line closepath() %Close shape stroke() %Draw shape Object $name()... EndObject (procedure) Creates an object. You can reference the object you create using the $ operator. See "$element (procedure)" (page 613).
Measure value specifying the angle of rotation, in degrees. The pivot point for the rotation is the bottom left corner of the object. setsnappingpoint (optional, Boolean) Boolean value (True or False) specifying whether the object has its Set snapping point property set. If you set this argument to True, the last line of the code for the object must be a moveto() command that moves the current point to the position at which you want to set the object’s snapping point.
Argument message String value to display in the PlanetPress Talk Messages window. PassThrough (procedure) Sends a literal PostScript command to the printer. Syntax passthrough( string, [mode]) Argument string String value to be sent to the printer. This string is sent as is, with no further modification. mode Integer used as a bitfield to specify when to send the passthrough.
Example setfillcolor([0,0,0,50]) %Set shadow colour to gray pie(1.5,1.5,1,60,290) %Create shadow for first slice translate(0.2,0.2) %Separate shadows pie(1.5,1.5,1,290,420) %Create shadow for second slice fill() %Display shadows translate(-0.3, 0.3) %Offset chart from its shadow setstrokecolor([0,0,100,0]) %Set pen colour to yellow setfillcolor([0,100,100,0]) %Set fill colour to red pie(1.5,1.5,1,60,290) %Create first slice strokeandfill() %Draw first slice translate(0.2,0.
Rectangle (procedure) Creates and draws a rectangle shape. The rectangle can optionally be filled using the colour specified with the setfillcolor command. The border can optionally be drawn using the colour specified with the setstrokecolor command. Syntax rectangle( x, y, x1, y1, filled, stroked ) Arguments x, y Measure values representing the horizontal/vertical position, in inches, of the starting point.
Code Sample Example This example draws two identical rectangles. To draw a rectangle that is both stroked and filled, use rectstroke() and rectfill() in succession, or rectfillstroke(). Example setfillcolor([0,100,100,0]) %Draw first rectangle using rectfill with red rectfill(1,1,2,2) %Offset starting position slightly to distinguish %between each rectangle and fill second one with blue. translate(.2,.
RectStroke (procedure) Creates and draws an empty rectangle shape. The colour of the pen used to draw the rectangle can be set using setstrokecolor. Syntax rectstroke( x, y, width, height ) Arguments x, y Measure values representing the horizontal/vertical position, in inches, of the starting point. width, height Measure values representing the width/height, in inches, of the rectangle shape. Code Sample Example This example draws two identical rectangles.
loop repeats to a Boolean condition. For example you might tie the number of times the loop repeats to the occurrence of a piece of data in the data stream. Syntax repeat … until( expression ) Argument expression Boolean value. If it evaluates to true, the loop ends. If it evaluates to false, the loop repeats. Code Sample Example This example prints the string ‘Cheers’ ten times, one underneath the other, with a dashed line above and below the ten instances. Example show('---------------') crlf(0.
Scale (procedure) Scales the result of all commands that follow the scale() command. Syntax scale(width, height) Argument width Measure value specifying the factor by which to scale the width. height Measure value specifying the factor by which to scale the height. Code Sample Example scale( 2,0.
Example define(&v1,string,'This;is;a;test') %Create the variable search(&v1,';') %Start loop show(&v1) %Show token crlf() %Skip line endsearch() show(&v1) %Show remaining text SelectMedia (procedure) On screen, displays the physical page. On a PostScript printer, calls the specified paper. Variables used as arguments in this command are not parsed when printing using the Optimized PostScript Stream mode.
define(&mcolor,string,'') &mcolor := 'White' selectmedia(8.5,11,'Danny',&mcolor,20,0,0) The code above will generate the following Optimized PostScript code (notice how the variable was not replaced by its value): 612 792 0 ^SM (Danny) &mcolor 20 ^SPM SelectPrinter (procedure) This command is used to select the printer on which the next page set will be sent. It can be used to select the same physical printer with different options, or a different printer altogether.
set( &mustard_color,[0,20,90,16] ) set( &prices, [12.5632,18.9932,23.6651,27.0300] ) put( &imagefiles[0], 'c\\images\\sushi.png' ) SetAngle (procedure) This command rotates all subsequent commands by the angle specified. Most commands and objects that are displayed/printed on the document are affected by the setangle command. Syntax setangle( angle ) Argument angle Measure value specifying the angle of rotation in degrees for all subsequent commands.
SetDash(procedure) Set the properties of a dashed line. Any drawing done after setdash() draws dashed instead of solid lines. You can revert to solid lines by calling setdash() with an empty array as a parameter. Syntax setdash( [dashlength, spacelength] ) Argument dash Measure value specifying the length, in inches, of each of the dashes in the dashed line. space Measure value specifying the length, in inches, of the space between each of the dashes in the dashed line.
Syntax setemailaddress( address ) Arguments address String value specifying the email address. SetEmailSubject (procedure) Defines the subject line of an email message sent by PlanetPress Image. Syntax setemailsubject( subjectline ) Arguments subjectline String value specifying the subject line. SetEmulation(procedure) Sets the emulation to use. Syntax setemulation( emulation ) Argument emulation Integer value indicating the type of emulation.
Procedurename The name of an existing global function in your PlanetPress Design document, preceded as usual with @. Example This example will ensure that multi-line text will never overlap an image on the page (where the image's position and size has been saved as global variables). In the PressTalk Before of an object, the following line is added: setusercrlf(@MyCRLF) This global function is created: function @MyCRLF(&Leading:measure) if(((&physical.y+(&leading*2))>&LogoPos[0]) and ((&physical.
String value specifying the fax number. Code Sample Example setfaxnumber( '(514)276-7633' ) SetFillColor (procedure) Sets the colour used to paint the insides of any closed shapes when issuing a fill or a strokeandfill command. Syntax setfillcolor( colour ) Argument colour Colour array that can be expressed expressed using one, three or four values ranging from 0 to 255. For Grayscale, a single value is used in the form [K]. For the RGB model, three values are used in the form [R, G, B].
Arguments name String value specifying the name of the index term with which you want to associate a data value. data String value specifying the data value you want to associate with the index term. Code Sample Examples These examples illustrate setimageindex(). Example 1 setimageindex( 'PONumber', '2005') Example 2 setimageindex( 'PONumber', @(2,24,32) ) SetLineWidth (procedure) Sets the width of the pen used for drawing lines, boxes and other objects.
SetLPP(procedure) Sets the number of lines per data page. This function is only useful when working with User-Defined Emulation, if you have a method of determining the number of LPP from within your data. Syntax setlpp( lines ) Argument lines Integer value specifying the number of lines per page. SetPDFBookmark (procedure) Creates a PDF bookmark at the current page, for the PDF files PlanetPress Image generates.
SetStrokeColor (procedure) Sets the colour of the pen used for drawing lines, boxes and other objects. Syntax setstrokecolor( colour ) Argument colour Colour array that can be expressed expressed using one, three or four values ranging from 0 to 255. For Grayscale, a single value is used in the form [K]. For the RGB model, three values are used in the form [R, G, B]. For the CMYK model, four values are used in the form [C, M, Y, K].
margin(1,1) setstyle(&blackfont) show('The word ') setstyle(&bluefont.i) show('blue') setstyle(&blackfont) show(' is now in blue italic') SetStyleExt (procedure) Select an existing style and set the size, color, style property, or font ratio for its font. This eliminates the need to create several styles that use the same font. setstyleext() does not support bold, italic, or underline styles with double-byte character sets.
Show / ShowCenter / ShowRight (procedure) These three commands are used to display simple text on the document. They are identical in all aspects, except in the way they behave relative to the current margin settings: show uses the margin as a starting point to extend the string to the right; showright uses the margin as the ending point of the string; and showcenter extends the string equally on both sides of the margin.
BarHeight Measure value setting the height of each bar, in inches. BarType Integer value specifying the type of barcode to print. Current possible values include: BarType: Code: 0 Code 39 1 Code 128 2 UPC_A 3 UPC_E 4 UPC/EAN 8 5 UPC/EAN 13 6 PostNet 7 PDF-417 Code Sample Example This example prints a Code 128 barcode. The BarWidth, BarHeight and BarType variables must be created exactly as shown here, with the same case changes in the variable names. Example define(&BarWidth,measure,0.
Width of one barcode bar, in mils (0.001 inch). readable Boolean that enables display of the human readable portion of the barcode bearers Boolean that enables bearer bars surrounding the barcode Code Sample Example showbarcode2of5('123456789',12,true,true) ShowBarcodeAustPost (procedure) Displays a specified string as an Australia Post barcode. Syntax showbarcodeaustpost( str) Arguments str Value of type string to display as a barcode.
1 Compact 2 Full Range errorcorrection Error correction level to use in the barcode. Mode Error Correction Range 0 0-99 1 0-4 2 0-32 barwidth Measure value of the width a a single barcode bar, in mils (0.001 inch). Code Sample Example showbarcodeaztec('A 12345 B 434343',5,35,24) ShowBarcodeCodabar (procedure) Displays a specified string as a Codabar barcode. Syntax showbarcodecodabar( str, start, stop, barwidth, readable) Arguments str Value of type string to display as a barcode.
barwidth Width of one barcode bar, in mils (0.001 inch). readable Boolean that enables display of the human readable portion of the barcode Code Sample Example showbarcodecodabar('12345','A','A',12,true) ShowBarcodeCodablockF (procedure) Displays a specified string as a Codablock F barcode. Syntax showbarcodecodablockf( str, barwidth) Arguments str Value of type string to display as a barcode. barwidth Width of one barcode bar, in mils (0.001 inch).
Width of one barcode bar, in mils (0.001 inch). Checksum Boolean allows the automatic calculation of the barcode checksum readable Boolean that enables display of the human readable portion of the barcode readchecksum Boolean that enables display of the checksum in the human readable portion of the barcode Code Sample Example showbarcodecode11('123456789',12,true,true,false) ShowBarcodeCode128 (procedure) Displays a specified string as a Code 128 barcode.
ShowBarcodeCode16k (procedure) Displays a specified string as a Code 16k barcode. Syntax showbarcodecode16k( str, mode, barwidth) Arguments str Value of type string to display as a barcode. Mode Mode (0-7) of the Code 16k barcode barwidth Width of one barcode bar, in mils (0.001 inch). Code Sample Example showbarcodecode16k('12345',4,12) ShowBarcodeCode39 (procedure) Displays a specified string as a Code 3 of 9 barcode.
Code Sample Example showbarcodecode39('123456',12,true,true,false) ShowBarcodeCode49 (procedure) Displays a specified string as a Code 49 barcode. Syntax showbarcodecode49( str, barwidth) Arguments str Value of type string to display as a barcode. barwidth Width of one barcode bar, in mils (0.001 inch). Code Sample Example showbarcodecode49('12345', 12) ShowBarcodeCode93 (procedure) Displays a specified string as a Code 93 barcode.
showbarcodecode93('123456789',12,true) ShowBarcodeDatamatrix (procedure) Displays a specified string as a Datamatrix barcode. Syntax showbarcodedatamatrix( str, mode, errorcorrection, barwidth) Arguments str Value of type string to display as a barcode. Mode Integer value of the Datamatrix Mode to use. Value Mode 0 Square 1 Rectangular errorCorrection Error correction level to use with the barcode. Mode Allowed Range Square 1-24 Rectangular 1-6 barwidth Width of one barcode bar, in mils (0.
Arguments str Value of type string to display as a barcode. Subset The subset of EAN-8 to use 0 EAN-8 1 EAN-8 ext.2 2 EAN-8 ext.5 readable Optional boolean that enables display of the human readable portion of the barcode. Default = True. barwidth Optional width of one barcode bar, in mils (0.001 inch). Default = 12mils. Code Sample Example showbarcodeean8('0133558',0) ShowBarcodeEAN13 (procedure) Displays a specified string as a EAN-13 barcode.
Code Sample Example showbarcodeean13('977147396801',0) ShowBarcodeFIM (procedure) Displays a specified string as a FIM barcode. Syntax showbarcodefim( str) Arguments str Value of type string to display as a barcode. Code Sample Example showbarcodefim('A') ShowBarcodeI2of5 (procedure) Displays a specified string as an Interleaved 2 of 5 barcode. Syntax showbarcodei2of5( str, barwidth, checksum, readable, readchecksum, bearers) Arguments str Value of type string to display as a barcode.
bearers Boolean that enables bearer bars surrounding the barcode Code Sample Example showbarcodei2of5('123456789',12,true,true,false,true) ShowBarcodeISBN (procedure) Displays a specified string as an ISBN barcode. Syntax showbarcodeisbn( str, subset,[readable, barwidth] ) Arguments str Value of type string to display as a barcode. Subset The subset of ISBN to use 0 ISBN 1 ISBN ext.2 2 ISBN ext.5 readable Optional boolean that enables display of the human readable portion of the barcode. Default = True.
Value of type string to display as a barcode. BarWidth Measure value setting the width of each bar, in mils (0.001 inch). Code Sample Example showbarcodejapanpost('6540123789-A-K-Z',12) ShowBarcodeMaxicode (procedure) Displays a specified string as a Maxicode barcode. Syntax showbarcodemaxicode( str, mode) Arguments str Value of type string to display as a barcode. Mode Integer value (2-6) of the Maxicode Mode to use.
Mode Integer value of the Micro PDF mode to use. Value Mode 0 Text 1 Numeric columns Integer value (1-4) of the number of columns to use. barwidth Integer value of the barwidth of a single bar in the Micro PDF Code Sample Example showbarcodemicropdf('123456',0,4,12) ShowBarcodeMicroQR (procedure) Displays a specified string as a Micro QR Code barcode. Syntax showbarcodemicroqr( str, mode, errorcorrection, barwidth) Arguments str Value of type string to display as a barcode.
Code Sample Example showbarcodemicroqr('123456',0,2,12) ShowBarcodeMSI (procedure) Displays a specified string as a MSI barcode. Syntax showbarcodemsi( str, barwidth, readable) Arguments str Value of type string to display as a barcode. barwidth Measure of the width of a single barcode bar, in mils (0.001 inch). readable Boolean value determining if the human readable portion of the barcode is visible.
ShowBarcodePDF417 (procedure) Displays a specified string as a PDF 417 Code barcode. Syntax showbarcodepdf417( str, mode, columns, truncated, errorcorrection, barwidth) Arguments str Value of type string to display as a barcode. Mode Integer value of the PDF 417 mode to use. Value Mode 0 Text 1 ASCII Plus 2 Numeric columns Integer value (1-20) of the number of columns to use.
barwidth Measure of the width of a single barcode bar, in mils (0.001 inch). readable Boolean value determining if the human readable portion of the barcode is visible. Code Sample Example showbarcodeplessey('1234567') ShowBarcodePostnet (procedure) Displays a specified string as a Postnet barcode. Syntax showbarcodepostnet( str, subset) Arguments str Value of type string to display as a barcode.
Value of type string to display as a barcode. Mode Integer value of the QR Code mode to use. Value Mode 0 Numeric 1 Alpha errorcorrection Integer value of the error correction level to use. Value Mode 0 L 1 S 2 Q 3 H barwidth Integer value of the barwidth of a single bar in the QR Code Code Sample Example showbarcodeqrcode('123456',0,2,12) ShowBarcodeRoyalMail (procedure) Displays a specified string as a Royal Mail barcode.
Syntax showbarcoderss( str, mode, barwidth) Arguments str Value of type string to display as a barcode. Mode Integer value of the RSS mode to use. Value Mode 0 RSS-14 1 RSS-Truncated 2 RSS-Limited 3 RSS-Stacked 4 RSS-Stacked Omni 5 RSS-Expanded 6 RSS-Expanded Stacked barwidth Integer value of the barwidth of a single bar in the RSS Code Code Sample Example showbarcoderss('123456',0,12) ShowBarcodeUPCA (procedure) Displays a specified string as a UPC-A barcode.
readable Optional boolean that enables display of the human readable portion of the barcode. Default = True. barwidth Optional width of one barcode bar, in mils (0.001 inch). Default = 12mils. Code Sample Example showbarcodeupca('123456789012',0) ShowBarcodeUPCE (procedure) Displays a specified string as a UPC-E barcode. Syntax showbarcodeupce( str, subset,[readable, barwidth] ) Arguments str Value of type string to display as a barcode. Subset The subset of UPC-E to use 0 UPC-E 1 UPC-E ext.2 2 UPC-E ext.
Arguments resname String value containing either the name of the bitmap resource within the document, or the path to a bitmap file. resolution Integer value specifying the resolution, in pixels per inch, at which the bitmap displays. A larger number yields a smaller, clearer image, since more pixels are squeezed into a smaller space. But the bitmap then requires more memory. Except in some very specific applications, it is rarely desirable to use resolutions exceeding 100 ppi.
Example 3 This example prints either an image, or, if the image cannot be found, the pathname to the image. define( &image_paths, directory, 'c:\\images\\*.JPG' ) define( &i, integer, 1 ) if( resourcetype( &image_paths[&i] ) <> 0 ) showbitmap( &image_paths[&i], 300, 0, 0) crlf( bitmapheight( &image_paths[&i] ) ) elseif() show( &image_paths[&i] ) crlf( 0.16 ) endif() ShowCaptureUserArea (procedure) Displays a Capture Field object.
Integer that defines what kind of requirement this field has, from the following list: l l l 0 - Optional Field 1 - Mandatory Field 2 - Final Field disablerewrite Boolean that defines whether the field will accept new ink if some ink is already present in previous processing of the document. True prevents rewriting. groupid Integer value that defines a group for mandatory fields. Example definemeta('CapPatternSequence','', 0, 'job.group.
ShowLeftRight (procedure) Displays a string of characters, in inches, using a specified width. Syntax showleftright( text, width ) Arguments text String value to be displayed. width Measure value representing the amount of horizontal space to use for displaying the string. showleftright adjusts the amount of spaces between characters to insure the string fits exactly within the specified width.
Example Define(&NumberOfPages,integer,strtoint(trim(@(1,1,5)))) Define(&x,integer,1) for(&x,1,1,&NumberOfPages) execpage('Page1') showpage() endfor() ShowPDF (procedure) Displays a page of a PDF image resource. Syntax showpdf( resname, pagenum, width, height ) Argument resname String value containing either the name of the PDF resource within the document, or the path to a PDF file . pagenum Integer value specifying the page number within the PDF image resource.
beginUTF8paragraph command. Syntax showUTF8( text ) Argument text Static text string or data selection to be displayed. Bear in mind that the information, wether static or variable, must be in UTF8. The maputf8 function can be used to convert the information to UTF8. Code Sample Example This example displays a UTF8 string within a justified paragraph with the text running from right to left. Example setlinewidth(0.
showUTF8center( text, mode ) Argument text Static text string or data selection to be displayed. Bear in mind that the information, wether static or variable, must be in UTF8. The maputf8 function can be used to convert the information to UTF8. mode String value specifying the contextual analysis is to be performed. Possible values are 'normal', 'reverse', and 'none' (for no contextual analysis).
rlineto(0,neg(&height)) closepath() stroke() moveto(&width/2,&height/2) SetStyleExt(&Style1,12.0000,0,[100],100) showUTF8right(maputf8(@(2,15,35), 'MS-CP-1256', False),'normal') StopJob (procedure) Terminates execution of the document and returns control to the PostScript interpreter. Syntax stopjob() Store (procedure) Stores a string of characters on a specific line in the current data page. Syntax store( line, string ) Arguments line Integer value specifying the line on which to store the string.
Stroke (procedure) Outlines the current shape using the pen colour and width specified with the setstrokecolor and setlinewidth command. The shape is not filled. To fill and outline the shape, use strokeandfill instead. If you only want to fill the shape, use fill. Syntax stroke() Argument None Code Sample Example This example draws a blue triangle with a blue border. Example setstrokecolor([100,100,0,0]) %Set pen colour to blue moveto(1,1) lineto(1.
setstrokecolor([100,100,0,0]) setfillcolor([0,0,100,0]) moveto(1,1) lineto(1.5,2) lineto(0,2) closepath() strokeandfill() Translate (procedure) Offsets an object's position from its original spot on the page. The point of origin of any object is (0,0) by default. All commands within an object are relative to that point of origin. Moving, or translating the point of origin allows you to reset the point of origin within the boundaries of the object.
Example 3 This example moves the point of origin back to its original position. Translate sets the new point of origin for all subsequent commands. Consequently, translate commands are cumulative. Therefore, to restore the previous point of origin, you must issue a translate command that negates whatever offset was previously applied. translate(-2,-2) Functions @ (function) Returns a selection within the current data page for text emulations.
Arguments functionname String value specifying the name of the function or procedure. parameters Comma separated list of parameters required by the specified function or procedure. BitmapWidth/BitmapHeight (function) Returns the width or height, in inches, of a bitmap image resource, at the specified resolution. Syntax Bitmapwidth( name, resolution ) Bitmapheight( name, resolution ) measure value measure value Argument name String value that specifies the name of the bitmap image resource.
Code Sample Example This example converts the data on line 5, columns 12 to 13, to Code 128 bar code C character set data. Example c128(@(5,12,13)) Ceil (function) Returns the smallest integer greater than or equal to the specified measure value. Syntax ceil( value ) integer value Argument value Measure value. The absolute value of the measure value must be less than the maximum value of an integer in PostScript (2,147,483,647).
Date (function) Returns the print date. Note that this function does not work in Printer-Centric mode, since it is impossible for the document to get the current date from a printer. So if you send your document to a printer and then simply send data with the appropriate trigger to that printer, the document will run on the printer and the function will return an empty string.
Name Value Behavior DefineOverwrite 0 The content of the value parameter overwrites the current value of the field if it exists, or creates it if it does not. DefineAppend The content of the value parameter is appended to the existing field. 1 DefineDuplicate 2 A new field with the same name is created, appending an index at the end of its name. DefineError The command fails and the job crashes, yielding an error dialog.
ExecScriptFile (function) Allows PlanetPress Design documents to execute the content of an external script file. The document waits until the script has completed before resuming its own execution. Note: This function does not support printer centric mode; results are undefined. Syntax ExecScriptFile(filename: string, parameters: string, scriptlanguage: integer) integer Arguments filename Fully qualified path and name of the script to call and execute.
The parameters value is a string which is sent to the executed script. It is available using the Script.Paramstring system variable from within the code. If you want to send multiple parameters, you will have to separate them with a special character and use this character as a separator to split the string or create an array with it, such as (example in JavaScript): params = Script.Paramstring.split(";") Code Example ExecScriptFile('c:\myScript.
Argument fieldname String value specifying the name of the field whose value you want to retrieve. recordnumber Integer value specifying the number of the record, in the current record set, whose value you want to retrieve. If you omit this argument, the document uses the value of ¤t.line. This argument is case sensitive. Thus the field names OrderNumber and ORDERNUMBER are not equivalent.
Code Sample Example "Field (function)" (page 542) Find (function) Checks for the presence of a string within a rectangular region of the current data page. If the specified string is found, the function returns true. This allows you to look for strings within a more general area, rather than at some precise location. Syntax find( string1, column1, line1, column2, line2 ) Boolean value Argument string1 String value to look for.
Code Sample Examples Examples 1 and 2 are equivalent representations of using the get() command. Example 1 &month := get(&MyArray,12) Example 2 &month := &MyArray[12] GetBlack (function) Returns the value of the Black component of a color array. Syntax getblack( color ) integer Arguments color Color array for which you want to determine the Black value.
Code Sample Example setfillcolor([getcyan(&c),getmagenta(&c),getyellow(&c),if(getblack(&c)>50,100,getblack(&c)+20)]) GetMagenta (function) Returns the value of the Magenta component of a color array. Syntax getmagenta( color ) integer Arguments color Color array for which you want to determine the Magenta value. Code Sample Example setfillcolor([getcyan(&c),getmagenta(&c),getyellow(&c),if(getblack(&c)>50,100,getblack(&c)+20)]) Getmeta (function) Returns the value of a metadata attribute or field.
1 Search for the name argument in the attribute collection instead of the default field collection. NoCascade 2 Search only the level specified by the path argument (defaults toPage level when path argument is empty), instead of default behavior, going from the Page levelto the Job level. FailIfNotFound 4 Raise an error and crash the job is the specified nameis not found instead of returning an empty string. GetAttribute SelectedNodesOnly 8 Returns values from the selected nodes only.
Getmetacount (function) Returns the number of times an attribute or a field is encountered in the current metadata hierarchy. It can also be used to verify whether a field or attribute exists by comparing the returned value to zero. Note that attributes can only appear once, and thus can only yield two possible values, either zero or one. Syntax getmetacount(name: string[, flags: integer, path: string]) integer Arguments name The name of the metadata value to count.
GetYellow (function) Returns the value of the Yellow component of a color array. Syntax getyellow( color ) integer Arguments color Color array for which you want to determine the Yellow value. Code Sample Example setfillcolor([getcyan(&c),getmagenta(&c),getyellow(&c),if(getblack(&c)>50,100,getblack(&c)+20)]) IsNumber (function) Tests a string and returns true if the string is a measure or integer value. Syntax isnumber( string ) Boolean value Argument string String value.
Left (function) Extracts the specified leftmost characters of a string. Syntax left( string, number ) string value Arguments string String value from which to extract characters. number Integer value specifying how many characters to extract from the beginning of the string. Code Sample Example This example prints a string up to a certain position.
define( &partnames, arraystring, length( &parts ) ) Example 2 This example prints part of a string, starting after a specific delimiter. define(&data,string,'This is a~sample string') define(&x,integer, pos('~', &data)) %Find tilde if(&x>1) show(right(&data,length(&data)-&x)) %Show remainder of string endif() LowerCase (function) Convert a string to all lower case characters. Syntax lowercase( string ) string Argument string String value you want to convert to lower case.
Static text string or data selection to be converted. encoding String identifying the original encoding or reference to a style defined in the document that identifies the original encoding. reversedmapping Boolean specifying whether the text to be converted should be mapped in regular or reversed order. Possible values are true (reversed mapping) and false (no reversed mapping). In the case of preformated Arabic data, this argument should be set to false.
rlineto(0,&height) rlineto(neg(&width),0) rlineto(0,neg(&height)) closepath() stroke() moveto(&width/2,&height/2) SetStyleExt(&Style1,12.0000,0,[100],100) showUTF8right(maputf8(@(2,15,35), &MyArabEncoding, False),'normal') Mid (function) Extracts a specified number of characters from a string, starting at a specific position. Syntax mid( string, start, length ) string value Arguments string String value from which to extract characters.
endif() Mul (function) Multiplies two expressions. This is the functional equivalent of the * operator. Syntax mul( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure or currency values. Both expressions must be of the same type. The returned value is set accordingly to the type of the parameters. Code Sample Examples Examples 1 and 2 show both ways of multiplying numbers.
%Test lowercase show(&data+' is lowercase') elseif() if((ord(&data)>=65) and (ord(&data)<=90)) %Test uppercase show(&data+' is uppercase') elseif() show(&data+' is not between A and Z or a to z') endif() endif() PDFPageCount (function) Returns the number of pages in the specified PDF file. Syntax pdfpagecount( filename ) integer Argument filename String value specifying the path of the PDF file.
Example &maxwidth := pdfwidth( ‘parts_manual’,3 ) &maxheight := pdfheight( ‘parts_manual’,4 ) PixelHeight (function) Returns the height, in pixels, of the specified image. Syntax pixelheight( image ) integer Argument image String value specifying the path of the file containing the image. PixelWidth (function) Returns the width, in pixels, of the specified image. Syntax pixelwidth( image ) integer Argument image String value specifying the path of the file containing the image.
Example define(&s,string,@(1,10,40)) %Initialize var. with data if(pos('INVOICE',&s)>0) %Look for the word INVOICE show('Invoice') %if found, display some text elseif() %Otherwise,display something else show('Sales order') endif() Random (function) Returns a measure value between 0 and 1, non-inclusive. Since this function uses the current system time when run inside the printer, it returns a true random value.
return an empty string. Syntax region(left, top, right, bottom) array of strings Argument left,top,right,bottom Measure values specifying the coordinates, in inches or centimeters, for the area on which to read the data in the current data page. Note that since this function returns an array of string, using region to display data on a page does not make much sense; for better results, consider using regionline().
Integer value specifying the line number to return. If no <>index<> paramter is specified, the default value is 0. Code Sample Example This example illustrates how to assign data from the current data page to a string variable by using the regionline() command. Example define(&invnum, string, regionline(2.1807,0.3018,3.8843,0.9054, 0)) Related topics: l "Region (function)" (page 502) ResourceType (function) Returns the type of a resource. Recall that resources are either images or attachments.
Right (function) Extracts the specified rightmost characters of a string. Syntax right( string, number ) string value Arguments string String value from which to extract characters. number Integer value specifying how many characters to extract from the end of the string. Code Sample Example This example prints part of a string, starting after a specific delimiter.
new String value that represents the replacement pattern. Code Sample Example This example replaces the dollar currency symbol with the pound currency symbol. Example stringreplace('1,000.00$','$','£') StringWidth (function) Returns the physical display width, in inches, of a string. Syntax stringwidth( string ) measure value Argument string String value whose width is returned. Code Sample Example This example draws a tight box around a variable length data selection.
StringWidthUTF8 (function) Returns the length, in inches, of the string as it would be displayed on a page, using the current font. Bear in mind that the combination of many bytes sometimes results in a single glyph and that text orientation can also affect the number of glyphs displayed. Syntax stringwidthutf8(text, mode) Arguments text UTF8 text string to be measured. mode String specifying how the contextual analysis is to be performed.
Syntax sub( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure or currency values. Both expressions must be the same type. The returned value is set according to the type of the parameters. Code Sample Example Example 1 and Example 2 illustrates both ways of subtracting numbers. Example 1 show(inttostr(2-2)) Example 2 show(floattostr(sub(4.7,2.1))) SubRecCount (function) Returns the number of records per data page.
moveto(1.5,¤t.y) show(field('PartDesc')) moveto(4.5,¤t.y) show(field('Qty')) moveto(5.5,¤t.y) show(field('UnitPrice')) moveto(6.5,¤t.y) show(field('Total')) %Add line total to tot variable set(&tot,&tot+ strtofloat(field('Total'))) moveto(0,¤t.y+.25) endfor() moveto(6.5,8) show(floattostr(&tot)) Time (function) Returns the print time.
show(time(true)) Trim (function) Removes both leading and trailing spaces from a string. Syntax trim( string ) string value Argument string String value from which you want to trim leading and trailing spaces. Code Sample Example This example trims leading and trailing spaces from the data selection on line 3, columns 8 to 24. Example trim(@(3,8,24)) TrimLeft (function) Removes leading spaces from a string. Syntax trimleft( string ) string value Argument string String value to trim.
TrimRight (function) Removes trailing spaces from a string. Syntax trimright( string ) string value Argument string String value to trim. Code Sample Example "TrimLeft (function)" (page 549) UpperCase (function) Convert a string to all upper case characters. Syntax uppercase( string ) string Argument string String value you want to convert to upper case. The string may be a mix of upper and lower case characters. Code Sample Example This example illustrates uppercase().
The XML Path of the value you want to retrieve. The path must correspond to a single entry in the XML, thus is not a complete XPath with regular expressions and variables. Code Sample The following gets the number of items in an invoice, loops through each item and displays the item's description with show().
The following gets the number of items in an invoice, loops through each item and displays the item's description with show().
&Current.Y (see "Current (system object)" (page 378)) "&Height (system variable)" (page 376) &Physical.X (see "Physical (system object)" (page 380)) &Physical.Y (see "Physical (system object)" (page 380)) "&Width (system variable)" (page 378) String &Current.MediaColor (see "Current (system object)" (page 378)) &Current.MediaType (see "Current (system object)" (page 378)) "&Str (system variable)" (page 377) &System.Product (see "&system (system object)" (page 380)) &System.
Integer, measure, or currency values. Both expressions must be the same type. The returned value is set according to the type of the parameters. Code Sample Examples Examples 1 and 2 show both ways of adding numbers. Example 1 show(inttostr(2+2)) %Displays 4 Example 2 show(floattostr(add(4.7,2.1))) %Displays 6.8 FloatToCur (function) Converts a measure expression into a currency value. Syntax floattocur( expression ) currency value Argument expression Measure value to be converted.
Argument string String value to convert. Integer Add (function) Adds two numerical expressions. This is the functional equivalent to the + operator, when you use the + operator with numerical expressions. Syntax add( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure, or currency values. Both expressions must be the same type. The returned value is set according to the type of the parameters.
ceil( -2.8 ) %Returns -2 ceil( 2.8 ) %Returns 3 ceil( -5.0 ) %Returns -5 Div (function) Divides an expression with another. This is the functional equivalent to the / operator. Syntax div( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure or currency values. Both expressions must be the same type. The returned value is set according to the type of the parameters. Code Sample Examples Examples 1 and 2 show both ways of dividing numbers.
Measure value to be converted. The decimal part is rounded down to a whole number. Code Sample Examples These examples illustrate floattoint(). Example 1 floattoint(3.2) %Returns 3 Example 2 floattoint(11.6) %Returns 12 Get (function) Returns an element of an array. Syntax get( array, position ) array element Argument array Name of the array. position Integer specifying the position in the array, of the element you want to retrieve.
Syntax getblack( color ) integer Arguments color Color array for which you want to determine the Black value. Code Sample Example setfillcolor([getcyan(&c),getmagenta(&c),getyellow(&c),if(getblack(&c)>50,100,getblack(&c)+20)]) GetCyan (function) Returns the value of the Cyan component of a color array. Syntax getcyan( color ) integer Arguments color Color array for which you want to determine the Cyan value.
Code Sample Example setfillcolor([getcyan(&c),getmagenta(&c),getyellow(&c),if(getblack(&c)>50,100,getblack(&c)+20)]) GetYellow (function) Returns the value of the Yellow component of a color array. Syntax getyellow( color ) integer Arguments color Color array for which you want to determine the Yellow value.
2 Search only the level specified by the path argument (defaults toPage level when path argument is empty), instead of default behavior, going from the Page levelto the Job level. FailIfNotFound 4 Raise an error and crash the job is the specified nameis not found instead of returning an empty string. NoCascade path Optional string value to specify the level where to start counting the field or attribute.
Length (function) Returns the length of a string, or the number of elements in an array. Syntax length( element ) integer value Argument element Either a string value, or an array variable. Code Sample Example Example 1 This example creates an a string array with the same number of elements as the &parts array. define( &partnames, arraystring, length( &parts ) ) Example 2 This example prints part of a string, starting after a specific delimiter.
number2 Integer value with which to divide number1. Code Sample Example This example uses MOD to distinguish between odd and even numbers. Example define(&i,integer, 1) %Define loop variable for(&i,1,1,10) %Set loop show(inttostr(&i)+' is an') %Display number if(mod(&i,2)=1) %Determine if number is odd or even show(' odd ') elseif() show(' even ') endif() show('number.') crlf() endfor() Mul (function) Multiplies two expressions. This is the functional equivalent of the * operator.
Example 2 show(floattostr(mul(4.7,2.1))) %Displays 9.87 Neg (function) Returns the negative value of the specified expression. This is the functional equivalent to the - sign. Syntax neg( expression1 ) integer, measure, currency value Argument expression1 Integer, measure or currency value. The returned value is the same type as expression1. Code Sample Examples Examples 1and 2 show both ways of negating a number. Negating negative numbers yields a positive result.
%Test lowercase show(&data+' is lowercase') elseif() if((ord(&data)>=65) and (ord(&data)<=90)) %Test uppercase show(&data+' is uppercase') elseif() show(&data+' is not between A and Z or a to z') endif() endif() PDFPageCount (function) Returns the number of pages in the specified PDF file. Syntax pdfpagecount( filename ) integer Argument filename String value specifying the path of the PDF file. PixelHeight (function) Returns the height, in pixels, of the specified image.
Argument image String value specifying the path of the file containing the image. Pos (function) Returns the starting position of a specified string within another string, or 0 if the specified string cannot be found. Syntax pos( string1, string2 ) integer value Arguments string1 String value to search for. string2 String value in which to search. Code Sample Example This example uses POS to look for a word in a data selection. Example define(&s,string,@(1,10,40)) %Initialize var.
Return Values Return value: Indicates: 0 The resource does not exist or could not be found. 1 A color bitmap. 2 A monochrome bitmap. 3 A grayscale bitmap. 4 An Encapsulated PostScript (EPS) image. 5 A PostScript file. 6 A Portable Document Format (PDF) file. Code Sample Example This example sets the variable &resolution to 200 DPI if the resource is a color bitmap, and to 75 DPI if it is not.
set(&total,&total+strtoint(@(&x,10,18))) endfor() show(inttostr(&total)) Sub (function) Subtracts one expression from another. This is the functional equivalent of the - operator. Syntax sub( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure or currency values. Both expressions must be the same type. The returned value is set according to the type of the parameters.
Code Sample Example This example prints the line items from an invoice. It defines the loop and total variables, loops through all records, shows and positions invoice information, and finally shows the invoice total. The fields listed here are for illustration purposes only. Example define(&x,integer,1) define(&tot,measure,0.0) for(&x,1,1,subreccount()) show(field('PartNum')) moveto(1.5,¤t.y) show(field('PartDesc')) moveto(4.5,¤t.y) show(field('Qty')) moveto(5.5,¤t.
The XML Path of the value you want to retrieve. The path must correspond to a single entry in the XML, thus is not a complete XPath with regular expressions and variables. Code Sample The following gets the number of items in an invoice, loops through each item and displays the item's description with show().
BitmapWidth/BitmapHeight (function) Returns the width or height, in inches, of a bitmap image resource, at the specified resolution. Syntax Bitmapwidth( name, resolution ) Bitmapheight( name, resolution ) measure value measure value Argument name String value that specifies the name of the bitmap image resource. resolution Integer value that specifies the resolution at which you want to measure the width or height of the bitmap.
CurToFloat (function) Converts a currency expression into a measure value. Syntax curtofloat( expression ) measure value Argument expression Currency value to convert. Div (function) Divides an expression with another. This is the functional equivalent to the / operator. Syntax div( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure or currency values. Both expressions must be the same type.
Code Sample Example This example sets the variable maxwidth to the width, and the variable maxheight to the height of the EPS image resource wing_nut. Example &maxwidth := EPSwidth('wing_nut') &maxheight := EPSheight('wing_nut') Get (function) Returns an element of an array. Syntax get( array, position ) array element Argument array Name of the array. position Integer specifying the position in the array, of the element you want to retrieve.
Arguments expression Boolean value. If it evaluates to true, the function returns the contents of trueresult, otherwise it returns the contents of falseresult. trueresult, falseresult Values of any type, as long as both are of the same type. The return value of the function is therefore of the same type as trueresult and falseresult. Code Sample Example This example changes the text to display according to the current value of a variable.
endfor() Mul (function) Multiplies two expressions. This is the functional equivalent of the * operator. Syntax mul( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure or currency values. Both expressions must be of the same type. The returned value is set accordingly to the type of the parameters. Code Sample Examples Examples 1 and 2 show both ways of multiplying numbers.
PDFWidth/PDFHeight (function) Returns the width or height, in inches, of a page of a Portable Document Format (PDF) image resource. Syntax pdfwidth( name, page ) pdfheight( name, page ) measure value measure value Argument name String value that specifies the name of the PDF image resource.
define(&x,integer,1) for(&x,1,1,10) show(inttostr(floattoint(random()*20)+1)) crlf() endfor() Sin (function) Returns the sine value of the specified angle. Syntax sin( value ) measure value Argument value Measure value specifying the angle whose sine is returned. Code Sample Example This example draws a somewhat sinusoidal graph.
String value whose width is returned. Code Sample Example This example draws a tight box around a variable length data selection. Example margin(0,0) %Define the data. This could be a data selection. define(&data,string,'This is a sample string') set(&data,trimright(&data)) %Store the length define(&dw,measure,stringwidth(&data)) moveto(1,1) %Display the string, then draw a box around it. show(&data) rectstroke(1,0.86,&dw,0.
Argument string String value to convert. Code Sample Example This example reads a column of 6 values then converts the values to floating point values and then adds the ir values to the &total variable. The total value is subsequently converted back to a string and the result is printed. Example define(&total,measure,0.0) define(&x,integer,0) for(&x,1,1,6) set(&total,&total+strtofloat(@(&x,10,18))) endfor() show(floattostr(&total)) Sub (function) Subtracts one expression from another.
show(floattostr(sub(4.7,2.1))) String @ (function) Returns a selection within the current data page for text emulations. The @ character can be the beginning of a data selection, a page call or a procedure or function call. Syntax @( line, startcolumn, endcolumn ) string value Arguments line Integer value specifying the line on which to read the data in the current data page. startcolumn, endcolumn Integer values specifying the start/end columns of the chunk of data to read from the current data page.
Example c128(@(5,12,13)) Char (function) Returns the character whose ASCII value is specified. Syntax char( value ) string value Argument value Integer value between 0 and 255, specifying the ASCII index of the character. Example show(char(84)+char(97)+char(108)+char(107)) % This displays the word "Talk" CurToStr (function) Converts a currency expression into a string value. Syntax curtostr( expression ) string value Argument expression Currency value to convert.
Code Sample Example define(&result, string, '') &result := ExpandString('%{global.GlobalVar}') show(&result) % Also works with system variables &result := ExpandString('%o') show(&result) Field (function) Returns the contents of the specified field for the current record. This function is only useful in database emulation mode. Syntax field( fieldname[, recordnumber] ) string value Argument fieldname String value specifying the name of the field whose value you want to retrieve.
Argument index Integer value specifying the index of the field whose name should be retrieved. Correct values range from 1 to fieldcount(). Code Sample Example "Field (function)" (page 542) FloatToStr (function) Converts a measure expression into a string value. Syntax floattostr( expression[, precision]) string value Argument expression Measure value to be converted. precision The number of decimal places to include in the result string. Code Sample Examples These examples illustrate floattostr().
position Integer specifying the position in the array, of the element you want to retrieve. Recall that the first position in an array is 0, the second is 1, the third 2, etc. Code Sample Examples Examples 1 and 2 are equivalent representations of using the get() command. Example 1 &month := get(&MyArray,12) Example 2 &month := &MyArray[12] If (function) Evaluates an expression and returns one of two specified values according to the results of the evaluation.
Syntax inttostr( expression ) string value Argument expression Integer value to be converted. Code Sample Example This example prints the iterations of a loop. Example define(&x,integer,1) %Define loop variable for(&x,1,1,10) %Set up loop show('Iteration ' + inttostr(&x) ) %Show text crlf() %Skip line endfor() Left (function) Extracts the specified leftmost characters of a string. Syntax left( string, number ) string value Arguments string String value from which to extract characters.
%Define string define(&x,integer, pos('~', &data)) %Find tilde %Print the string up to the tilde character, if found if(&x>1) show(left(&data,&x-1)) endif() LowerCase (function) Convert a string to all lower case characters. Syntax lowercase( string ) string Argument string String value you want to convert to lower case. The string may be a mix of upper and lower case characters.
Code Sample Example This example extracts a bracket-delimited word from a sentence. Example define(&data,string,'This is a [bracketed] word') define(&i,integer, pos('[', &data)) %Find the '[' character define(&j,integer, pos(']', &data)) %Find the ']' character if((&i>0) and (&j>&i)) %If both were found show(mid(&data,&i+1,(&j-&i)-1)) %Print the word endif() Right (function) Extracts the specified rightmost characters of a string.
%Show remainder of string endif() StringReplace (function) Replaces all occurrences of a pattern within a string, with another pattern. Syntax stringreplace( string, old, new) string Arguments string String in which you want to replace a pattern. old String value that defines the pattern you want to replace. new String value that represents the replacement pattern. Code Sample Example This example replaces the dollar currency symbol with the pound currency symbol. Example stringreplace('1,000.
Code Sample Example This example strips all dollar signs from a variable. Example define(&data,string,'$11.95') show(strip('$',&data)) Trim (function) Removes both leading and trailing spaces from a string. Syntax trim( string ) string value Argument string String value from which you want to trim leading and trailing spaces. Code Sample Example This example trims leading and trailing spaces from the data selection on line 3, columns 8 to 24.
Example show('*'+trimleft(trimright(@(12,10,35)))+'*') TrimRight (function) Removes trailing spaces from a string. Syntax trimright( string ) string value Argument string String value to trim. Code Sample Example "TrimLeft (function)" (page 549) UpperCase (function) Convert a string to all upper case characters. Syntax uppercase( string ) string Argument string String value you want to convert to upper case. The string may be a mix of upper and lower case characters.
Syntax xmlGet(path: string) string value Arguments path The XML Path of the value you want to retrieve. The path must correspond to a single entry in the XML, thus is not a complete XPath with regular expressions and variables. Code Sample These are examples of xmlGet() commands returning data from an XML file. Note that these will most likely not work with your own XML even if you tried, as the path is completely dependent on the exact structure of your XML Data file.
Syntax add( expression, expression2 ) integer, measure, currency value Arguments expression1, expression2 Integer, measure, or currency values. Both expressions must be the same type. The returned value is set according to the type of the parameters. Code Sample Examples Examples 1 and 2 show both ways of adding numbers. Example 1 show(inttostr(2+2)) %Displays 4 Example 2 show(floattostr(add(4.7,2.1))) %Displays 6.
Find (function) Checks for the presence of a string within a rectangular region of the current data page. If the specified string is found, the function returns true. This allows you to look for strings within a more general area, rather than at some precise location. Syntax find( string1, column1, line1, column2, line2 ) Boolean value Argument string1 String value to look for. column1, line1 Integer values for the top left corner of the rectangular region to search in the current data page.
if( ge(¤t.line, 50) ) show('Bottom of page') endif() Example 2 if(¤t.line >= 50) show('Bottom of page') endif() GT (function) Compares two expressions of any type and returns true if the first is greater than the second, false otherwise. This is the functional equivalent to the > operator. Syntax gt( expression1, expression2 ) Boolean value Arguments expression1, expression2 Values of any type. Both expressions must be of the same type.
Syntax if( expression, trueresult, falseresult ) any type Arguments expression Boolean value. If it evaluates to true, the function returns the contents of trueresult, otherwise it returns the contents of falseresult. trueresult, falseresult Values of any type, as long as both are of the same type. The return value of the function is therefore of the same type as trueresult and falseresult. Code Sample Example This example changes the text to display according to the current value of a variable.
LE (function) Compares two expressions of any type and returns true if the first is less than or equal to the second, false otherwise. This is the functional equivalent to the <= operator. Syntax le( expression1, expression2 ) Boolean value Arguments expression1, expression2 Values of any type. Both expressions must be of the same type. Code Sample Example This example shows both ways of comparing two expressions. Example if(le(¤t.
show('Top of page') endif() %Same statement, using the < operator if(¤t.line < 50) show('Top of page') endif() NE (function) Compares two expressions of any type and returns true if they are not equal, false otherwise. This is the functional equivalent to the <> operator. Syntax ne( expression1, expression2 ) Boolean value Arguments expression1, expression2 Values of any type. Both expressions must be of the same type.
Not (Boolean operator function) Negates the specified expression. Not to be confused with the neg function: not is a Boolean operator function, not a mathematical one. Syntax not( expression1 ) Boolean value Argument expression1 Boolean value. Code Sample Example This example shows how NOT can be used in place of operators.
Example 1 or(true, false) %Returns true Example 2 or(false, true) %Returns true Example 3 or(false, false) %Returns false Example 4 or(true, true) %Returns true XOr (Boolean operator function) Returns true if only one of two specified expressions is true, false otherwise. Syntax xor( expression1, expression2 ) expression1 xor expression2 ' boolean value boolean value Arguments expression1, expression2 Boolean values. Code Sample Examples These examples illustrate the possible values for XOR.
Example 2 xor(false, true) %Returns true Example 3 xor(false, false) %Returns false Example 4 xor(true, true) %Returns false Procedures (by category) "Variables" (page 561) "Global Functions" (page 563) "Comments" (page 566) "Graphics State" (page 567) "Path" (page 572) "Paragraphs and Text" (page 582) "Styles" (page 587) "Objects" (page 589) "Bar Codes" (page 590) "Resources" (page 610) "Elements" (page 613) "Emulation, Data File, and Data Pages" (page 614) "Data Destined for PlanetPress Image, PlanetPr
Breakpoint (procedure) Stops the execution of a PlanetPress Talk object when the specified expression is True. This breakpoint is effective only when running in debug mode in the PlanetPress Talk editor. Syntax breakpoint( expression1 ) Argument expression1 Boolean value. Code Sample Example This example sets up a loop, stops the loop on its 5th iteration, and then displays the value.
The name of the variable, prefixed with the ampersand (&) character. The name must conform to the rules for names described in "Names" (page 221). type Constant value specifying the variable type, either integer, measure, string, Boolean, or an array type. The array types are color, arrayinteger, arraymeasure, arraycurrency, arrayBoolean, arraystring or directory. Once a type is assigned to a variable, it cannot be changed, unless the variable is redefined.
The value you want to assign to the element. The value must be of the same the type as the array. Thus if the array is of type string, the value must be of type string. Set (procedure) This command assigns a new value to a variable. Only user-defined variables can be set. System variables are read-only. Note that you can also use the assignment operator to assign a value to a variable. See "= (operator)" (page 393).
Arguments functionname String value specifying the name of the function or procedure. parameters Comma separated list of parameters required by the specified function or procedure. Function @name (procedure) Defines a new PlanetPress Talk function or procedure. If you define a function that you want to return a value, you assign that value to the predefined variable &result on the last line of the function definition. You call the function or procedure you define using the @name() command.
Type of value (integer, measure, currency, string, Boolean) the function returns. Code Sample Example This example displays a string. function @showtext(&mystring: string) moveto(1,1) show(&mystring) endfunction() Code Sample Example This example illustrates a procedure that creates a 3D pie chart.
%================================================= if(&S < 180) &SB := 180 elseif() &SB := &S endif() %================================================= setfillcolor([getcyan(&c),getmagenta(&c),getyellow(&c),if(getblack(&c)>50,100,getblack(&c)+20)]) moveto(cos(&SB) * &R,neg(sin(&SB) * &R)) rlineto(0,&HB) arc(0,&HB,&R,&SB,&EB) rlineto(0,neg(&HB)) closepath() strokeandfill() endif() %==================================================== setfillcolor(&c) pie(0,0,&R,&S,&E) strokeandfill() &SB := (&S+&E)/2 %=====
Argument None Code Sample Example This example illustrates comments in PlanetPress Talk code. define(&x,integer,1) % Creates a new local variable named x that is an % integer and has a value of 1. The variable is used % in a loop for(&x,1,1,10) show(inttostr(&x)) endfor() Graphics State GRestore (procedure) This command restores all system parameters previously saved with the gsave command. If no gsave command was issued previously, the results are unpredictable.
Argument None Code Sample Example In this example, the current position is set first and saved. gsave and grestore are required to be issued in pairs, meaning that you need the equal number of gsave and grestore commands to run in any given object. However, an uneven number of commands can be located in the code, if some of them are within IF statements, so that when the code is actually run, the pairing occurs correctly in all instances.
SetAngle (procedure) This command rotates all subsequent commands by the angle specified. Most commands and objects that are displayed/printed on the document are affected by the setangle command. Syntax setangle( angle ) Argument angle Measure value specifying the angle of rotation in degrees for all subsequent commands. Use a positive value for counter-clockwise motion and a negative value for clockwise motion. This value is relative to the current angle, not absolute.
Measure value specifying the length, in inches, of the space between each of the dashes in the dashed line. Code Sample Examples These examples illustrate setdash(). Example 1 setdash( [0.5,0.3] ) Example 2 setdash( [] ) SetFillColor (procedure) Sets the colour used to paint the insides of any closed shapes when issuing a fill or a strokeandfill command. Syntax setfillcolor( colour ) Argument colour Colour array that can be expressed expressed using one, three or four values ranging from 0 to 255.
SetLineWidth (procedure) Sets the width of the pen used for drawing lines, boxes and other objects. When setting the line width, remember that the exact location of the pen is on the middle of the line, with the stroke spilling over equally on both sides. Syntax setlinewidth( width ) Argument widthSetLineWidth (procedure) Measure value setting the width, in inches, of the drawing pen. Code Sample Examples Example 1 This example sets the pen width to 1/4 inch then draws a 2"x2" rectangle using that pen.
of origin within the boundaries of the object. Syntax translate( x, y ) Arguments x, y Measure values representing the horizontal/vertical offset, in inches, of the new point of origin within the object. These values are relative to the current point of origin, not absolute. Code Sample Examples Example 1 This example moves the point of origin 1 inch right and down from the original point.
Arc and ArcN (procedures) Arc() draws an arc in a counter-clockwise direction, while ArcN() draws an arc in a clockwise direction. If there is a current point set, the command draws a straight line from the current point to the start point of the arc. Whether or not a current point is set when the command executes, after execution the current point is the end point of the arc.
Code Sample Examples Example 1 Example 1 draws a 180 degree arc 3 inches in length. The center of the circle is at (0,0). The rmoveto() command that precedes the arc() command ensures the current point is set at the center of the circle and prevents a line from being drawn from the current point to the start point of the arc. rmoveto(3,0) arc(0,0,3,0,180) stroke() Example 2 Example 2 draws an arc 2.5 inches in length.
and automatically set to the current cursor position. The first control point defines the direction the curve takes when moving from the starting point, and before shifting to the second control point, which defines a second curve before reaching the ending point. A complete explanation of Bezier curves is beyond the scope of this document. Feel free, however, to try out this command using the PlanetPress Talk Editor in PlanetPress in order to study its possibilities.
stroke. Only closed shapes can be filled. Syntax fill() Argument None Code Sample Example This example draws a yellow filled triangle. Example setfillcolor([0,0,100,0]) moveto(1,1) lineto(1.5,2) lineto(0,2) closepath() fill() LineTo/RLineTo (procedure) Draws a line starting from the current point up to the specified coordinates. Syntax lineto( x, y ) Arguments x, y Measure values representing the horizontal/vertical position, in inches, of the ending point of the line.
MoveTo/RMoveTo (procedure) Moves the current point to the specified coordinates. Syntax moveto( x, y ) Arguments x, y Measure values representing the new horizontal/vertical position, in inches, of the current point. In rmoveto, these values are relative to the current point of origin. In moveto, they are absolute values. Code Sample Example This example displays a triangle within a rectangle. Example rectstroke(.5,.5,2,2) %Draw rectangle moveto(1,1) %Reset current point lineto(1.
Code Sample Example This example draws a whole pie chart with a shadow effect. Example setfillcolor([0,0,0,50]) %Set shadow colour to gray pie(1.5,1.5,1,60,290) %Create shadow for first slice translate(0.2,0.2) %Separate shadows pie(1.5,1.5,1,290,420) %Create shadow for second slice fill() %Display shadows translate(-0.3, 0.3) %Offset chart from its shadow setstrokecolor([0,0,100,0]) %Set pen colour to yellow setfillcolor([0,100,100,0]) %Set fill colour to red pie(1.5,1.
Boolean value specifying whether the shape should be outlined using the colour specified with the setstrokecolor command. Code Sample Example This example draws a yellow rectangle with a black border. Example setstrokecolor([0,0,0,100]) setfillcolor([0,0,50,0]) rectangle(0,0,3,3,true,true) RectFill (procedure) Creates and draws a filled rectangle shape. The colour used to fill the shape can be specified using the setfillcolor command.
lineto(3,1) %Draw first line lineto(3,3) %Draw second line lineto(1,3) %Draw third line closepath() %Close shape fill() %Draw shape RectFillStroke (procedure) Creates a rectangle that has both an outline and a fill color. You set the color for the outline using setstrokecolor and the fill color using setfillcolor. Syntax rectfillstroke( x, y, width, height ) Arguments x,y Measure values representing the x and y coordinates respectively of the top left corner of the rectangle.
%Offset starting position slightly to distinguish %between each rectangle; the second rectangle is blue. translate(.2,.2) setstrokecolor([100,100,0,0]) %Draw second rectangle using conventional commands moveto(1,1) %Reset current point lineto(3,1) %Draw first line lineto(3,3) %Draw second line lineto(1,3) %Draw third line closepath() %Close shape stroke() %Draw shape Stroke (procedure) Outlines the current shape using the pen colour and width specified with the setstrokecolor and setlinewidth command.
StrokeAndFill (procedure) Outlines the current shape using the pen colour and width specified with the setstrokecolor and setlinewidth command. The shape is then filled using the colour specified with the setfillcolor command. To simply outline the shape, use stroke instead. If you only want to fill the shape, use fill. Syntax strokeandfill() Argument None Code Sample Example This example draws a yellow triangle with a blue outline.
When a long string containing no spaces between its characters appears in the context of a show() command and the beginparagraph ... endparagraph() command, the line of text will not wrap. The same is true for a text object; no wrapping occurs when a long string has no spaces between its characters. Note that when a Text object is converted to PlanetPress Talk, an extra argument is is added to the beginparagraph … endparagraph syntax. Ignore this argument since it is strictly for internal use.
Example 2 define(&var,string,'very') beginparagraph(1,3,0,'left',0.16) setstyle(&Default) show('This ') show(&var) show(' long line of text should wrap around') endparagraph() BeginUTF8Paragraph … EndUTF8Paragraph (procedure) Delimits a paragraph of formatted UTF8 text.
CRLF (procedure) Moves the current point by simulating a carriage return/line feed combination. The horizontal position is reset to the value of the current left margin, while the vertical position is offset by the leading value specified. Syntax crlf( [leading] ) Argument leading Measure value setting the vertical distance, in inches, between two lines. If you do not provide this argument, the value by default is 0.167 inches, which is roughly equivalent to a 6 LPI (lines per inch) setting.
show('This is shadowed text') margin(.98,.98) %Offset margins slightly setstyle(&bluefont) %Bluefont must already exist show('This is shadowed text') ShowLeftRight (procedure) Displays a string of characters, in inches, using a specified width. Syntax showleftright( text, width ) Arguments text String value to be displayed. width Measure value representing the amount of horizontal space to use for displaying the string.
Syntax show( text ) showcenter( text ) showright( text ) Argument text String value to be displayed. Code Sample Example This example illustrates the difference between all three variations of using the SHOW command. Example margin(3,1) showright('This line is to the left of the margin') crlf() showcenter('This line is centered on the margin') crlf() show('This line is to the right of the margin') Styles SetStyle (procedure) Sets the style to be used for all subsequent commands.
margin(1,1) setstyle(&blackfont) show('The word ') setstyle(&bluefont.i) show('blue') setstyle(&blackfont) show(' is now in blue italic') SetStyleExt (procedure) Select an existing style and set the size, color, style property, or font ratio for its font. This eliminates the need to create several styles that use the same font. setstyleext() does not support bold, italic, or underline styles with double-byte character sets.
Objects Object $name()... EndObject (procedure) Creates an object. You can reference the object you create using the $ operator. See "$element (procedure)" (page 613).
Integer value specifying whether the object has its Snap to previous property set, and if so, the position of that snapping point. If you set the Snap to previous property, you can use the top and left arguments to specify, respectively, a vertical and horizontal offset for the snapping point.
showbarcode needs 3 additional parameters before it can display the barcode. These parameters must be set before calling showbarcode, using the following variables: BarWidth Measure value setting the width of each bar, in inches. BarHeight Measure value setting the height of each bar, in inches. BarType Integer value specifying the type of barcode to print.
Arguments str Value of type string to display as a barcode. barwidth Width of one barcode bar, in mils (0.001 inch). readable Boolean that enables display of the human readable portion of the barcode bearers Boolean that enables bearer bars surrounding the barcode Code Sample Example showbarcode2of5('123456789',12,true,true) ShowBarcodeAustPost (procedure) Displays a specified string as an Australia Post barcode. Syntax showbarcodeaustpost( str) Arguments str Value of type string to display as a barcode.
mode Mode to use for the barcode. Value Mode 0 Normal 1 Compact 2 Full Range errorcorrection Error correction level to use in the barcode. Mode Error Correction Range 0 0-99 1 0-4 2 0-32 barwidth Measure value of the width a a single barcode bar, in mils (0.001 inch). Code Sample Example showbarcodeaztec('A 12345 B 434343',5,35,24) ShowBarcodeCodabar (procedure) Displays a specified string as a Codabar barcode.
A B C D barwidth Width of one barcode bar, in mils (0.001 inch). readable Boolean that enables display of the human readable portion of the barcode Code Sample Example showbarcodecodabar('12345','A','A',12,true) ShowBarcodeCodablockF (procedure) Displays a specified string as a Codablock F barcode. Syntax showbarcodecodablockf( str, barwidth) Arguments str Value of type string to display as a barcode. barwidth Width of one barcode bar, in mils (0.001 inch).
Arguments str Value of type string to display as a barcode. barwidth Width of one barcode bar, in mils (0.001 inch).
Code Sample Example showbarcodecode128('123456789',0,12,true) ShowBarcodeCode16k (procedure) Displays a specified string as a Code 16k barcode. Syntax showbarcodecode16k( str, mode, barwidth) Arguments str Value of type string to display as a barcode. Mode Mode (0-7) of the Code 16k barcode barwidth Width of one barcode bar, in mils (0.001 inch). Code Sample Example showbarcodecode16k('12345',4,12) ShowBarcodeCode39 (procedure) Displays a specified string as a Code 3 of 9 barcode.
Readable Boolean value that indicates if the human readable should be shown ReadChecksum Boolean value that indicates if the checksum value should be included in the human readable Code Sample Example showbarcodecode39('123456',12,true,true,false) ShowBarcodeCode49 (procedure) Displays a specified string as a Code 49 barcode. Syntax showbarcodecode49( str, barwidth) Arguments str Value of type string to display as a barcode. barwidth Width of one barcode bar, in mils (0.001 inch).
readable Boolean that enables display of the human readable portion of the barcode Code Sample Example showbarcodecode93('123456789',12,true) ShowBarcodeDatamatrix (procedure) Displays a specified string as a Datamatrix barcode. Syntax showbarcodedatamatrix( str, mode, errorcorrection, barwidth) Arguments str Value of type string to display as a barcode. Mode Integer value of the Datamatrix Mode to use. Value Mode 0 Square 1 Rectangular errorCorrection Error correction level to use with the barcode.
Syntax showbarcodeean8( str, subset,[readable, barwidth] ) Arguments str Value of type string to display as a barcode. Subset The subset of EAN-8 to use 0 EAN-8 1 EAN-8 ext.2 2 EAN-8 ext.5 readable Optional boolean that enables display of the human readable portion of the barcode. Default = True. barwidth Optional width of one barcode bar, in mils (0.001 inch). Default = 12mils. Code Sample Example showbarcodeean8('0133558',0) ShowBarcodeEAN13 (procedure) Displays a specified string as a EAN-13 barcode.
barwidth Optional width of one barcode bar, in mils (0.001 inch). Default = 12mils. Code Sample Example showbarcodeean13('977147396801',0) ShowBarcodeFIM (procedure) Displays a specified string as a FIM barcode. Syntax showbarcodefim( str) Arguments str Value of type string to display as a barcode. Code Sample Example showbarcodefim('A') ShowBarcodeI2of5 (procedure) Displays a specified string as an Interleaved 2 of 5 barcode.
readchecksum Boolean that enables display of the checksum in the human readable portion of the barcode bearers Boolean that enables bearer bars surrounding the barcode Code Sample Example showbarcodei2of5('123456789',12,true,true,false,true) ShowBarcodeISBN (procedure) Displays a specified string as an ISBN barcode. Syntax showbarcodeisbn( str, subset,[readable, barwidth] ) Arguments str Value of type string to display as a barcode. Subset The subset of ISBN to use 0 ISBN 1 ISBN ext.2 2 ISBN ext.
Arguments str Value of type string to display as a barcode. BarWidth Measure value setting the width of each bar, in mils (0.001 inch). Code Sample Example showbarcodejapanpost('6540123789-A-K-Z',12) ShowBarcodeMaxicode (procedure) Displays a specified string as a Maxicode barcode. Syntax showbarcodemaxicode( str, mode) Arguments str Value of type string to display as a barcode. Mode Integer value (2-6) of the Maxicode Mode to use.
Arguments str Value of type string to display as a barcode. Mode Integer value of the Micro PDF mode to use. Value Mode 0 Text 1 Numeric columns Integer value (1-4) of the number of columns to use. barwidth Integer value of the barwidth of a single bar in the Micro PDF Code Sample Example showbarcodemicropdf('123456',0,4,12) ShowBarcodeMicroQR (procedure) Displays a specified string as a Micro QR Code barcode.
2 Q barwidth Integer value of the barwidth of a single bar in the Micro QR Code Sample Example showbarcodemicroqr('123456',0,2,12) ShowBarcodeMSI (procedure) Displays a specified string as a MSI barcode. Syntax showbarcodemsi( str, barwidth, readable) Arguments str Value of type string to display as a barcode. barwidth Measure of the width of a single barcode bar, in mils (0.001 inch). readable Boolean value determining if the human readable portion of the barcode is visible.
Code Sample Example showbarcodeonecode('0123456709498765432101234567891') ShowBarcodePDF417 (procedure) Displays a specified string as a PDF 417 Code barcode. Syntax showbarcodepdf417( str, mode, columns, truncated, errorcorrection, barwidth) Arguments str Value of type string to display as a barcode. Mode Integer value of the PDF 417 mode to use. Value Mode 0 Text 1 ASCII Plus 2 Numeric columns Integer value (1-20) of the number of columns to use.
Syntax showbarcodeplessey( str, barwidth, readable) Arguments str Value of type string to display as a barcode. barwidth Measure of the width of a single barcode bar, in mils (0.001 inch). readable Boolean value determining if the human readable portion of the barcode is visible. Code Sample Example showbarcodeplessey('1234567') ShowBarcodePostnet (procedure) Displays a specified string as a Postnet barcode. Syntax showbarcodepostnet( str, subset) Arguments str Value of type string to display as a barcode.
ShowBarcodeQRCode (procedure) Displays a specified string as a QR Code barcode. Syntax showbarcodeqrcode( str, mode, errorcorrection, barwidth) Arguments str Value of type string to display as a barcode. Mode Integer value of the QR Code mode to use. Value Mode 0 Numeric 1 Alpha errorcorrection Integer value of the error correction level to use.
Code Sample Example showbarcoderoyalmail('LE28HS9Z') ShowBarcodeRSS (procedure) Displays a specified string as a RSS barcode. Syntax showbarcoderss( str, mode, barwidth) Arguments str Value of type string to display as a barcode. Mode Integer value of the RSS mode to use.
Value of type string to display as a barcode. Subset The subset of UPC-A to use 0 UPC-A 1 UPC-A ext.2 2 UPC-A ext.5 readable Optional boolean that enables display of the human readable portion of the barcode. Default = True. barwidth Optional width of one barcode bar, in mils (0.001 inch). Default = 12mils. Code Sample Example showbarcodeupca('123456789012',0) ShowBarcodeUPCE (procedure) Displays a specified string as a UPC-E barcode.
showbarcodeupce('123456',0) Resources InStream... EndInStream (procedure) Ceate an alias for a resource file (image, data file, attachment, etc.). You can then reference the resource file using the alias instead of the path. This eliminates the need to repeat a path in more than one place in your code, and thus makes your code easier to maintain. For example, if you change the resource, you need only modify the path in the instream() command, rather than everywhere you reference the original resource.
ShowBitmap (procedure) Displays a bitmap resource. Syntax showbitmap( resname, resolution, width, height[, transparent[, duotone[, pagenum]]] ) Arguments resname String value containing either the name of the bitmap resource within the document, or the path to a bitmap file. resolution Integer value specifying the resolution, in pixels per inch, at which the bitmap displays. A larger number yields a smaller, clearer image, since more pixels are squeezed into a smaller space.
showbitmap('sunset',300,0,0) Example 3 This example prints either an image, or, if the image cannot be found, the pathname to the image. define( &image_paths, directory, 'c:\\images\\*.JPG' ) define( &i, integer, 1 ) if( resourcetype( &image_paths[&i] ) <> 0 ) showbitmap( &image_paths[&i], 300, 0, 0) crlf( bitmapheight( &image_paths[&i] ) ) elseif() show( &image_paths[&i] ) crlf( 0.16 ) endif() ShowEPS (procedure) Displays an EPS image resource.
Example showeps('my_eps', 4.5, 0) ShowPDF (procedure) Displays a page of a PDF image resource. Syntax showpdf( resname, pagenum, width, height ) Argument resname String value containing either the name of the PDF resource within the document, or the path to a PDF file . pagenum Integer value specifying the page number within the PDF image resource. width, height Measure values specifying the width/height, in inches, the PDF page occupies when it displays.
other pages in the document scale that same header to fit in the lower left corner of each page. Any modification you subsequently make to the header is automatically reflected throughout the document. Syntax $element Arguments element String value specifying the name of the element you want to execute. Examples Example 1 illustrates basic usage of the syntax. $my_square $page1 $box5 Example 2 scales the $header element to one quarter of its original size, and rotates it 90 degrees. scale( 0.25, 0.
search(&str,'\014') set(¤t.line,¤t.line + 1) store(¤t.line,&str) doform() clearpage() endsearch() set(¤t.line,¤t.line + 1) store(¤t.line,&str) if(ge(¤t.line,¤t.lpp)) doform() clearpage() endif() DefineData (procedure) Change the active data file to the one specified in the path parameter. Changing the data file in the middle of document processing can have unexpected consequences and should only be used if you understand the implications of doing so.
doform() clearpage() endsearch() GetNextDataPage(procedure) Advance to the next data page of the sample data file. Note that this command may have unpredicted behavior if not used correctly in documents that use a user-defined emulation. This command should only be executed when printermode is not in design mode. The result will be incorrect on screen, but there will be no unexpected behaviors.
Value: Emulation: 5 XML 6 PDF SetLPP(procedure) Sets the number of lines per data page. This function is only useful when working with User-Defined Emulation, if you have a method of determining the number of LPP from within your data. Syntax setlpp( lines ) Argument lines Integer value specifying the number of lines per page. Store (procedure) Stores a string of characters on a specific line in the current data page.
Data Destined for PlanetPress Image, PlanetPress Fax and PlanetPress Search DefineImageIndex (procedure) Defines a PlanetPress Search index term. PlanetPress Image uses this information to generate the .PDI file it creates for each PDF file it creates. You use SetImageIndex (procedure) to associate a data value with the index term. Syntax defineimageindex( name, [length] ) Arguments name String value specifying a name for the index term. length String value specifying a length for the index term.
Syntax setemailaddress( address ) Arguments address String value specifying the email address. SetEmailSubject (procedure) Defines the subject line of an email message sent by PlanetPress Image. Syntax setemailsubject( subjectline ) Arguments subjectline String value specifying the subject line. SetFaxInformation (procedure) Defines the fax description that appears in both the PlanetPress Fax dialog box and the PlanetPress Fax log file.
Code Sample Example setfaxnumber( '(514)276-7633' ) SetImageIndex (procedure) Associates a data value with a PlanetPress Search index term defined using the DefineImageIndex() command. PlanetPress Image uses this information when it generates the .PDI file it creates for each PDF file it creates. This function has no effect when the output of the document is not a PDF file generated through PlanetPress Image.
Arguments name String value specifying the name of the bookmark that appears in the PDF. Code Sample Examples These examples illustrate setpdfbookmark(). Example 1 setpdfbookmark('Table of Contents') Example 2 setpdfbookmark( @(10,23,45) ) Example 3 setpdfbookmark( @(10,23,45) + '|' + @(11,23,45) ) Document Pages @page (procedure) Executes the content of the specified document page, as if it were part of the calling page.
Arguments pagename String value specifying the name of the page you want to execute. Example The following two lines of code are functionally equivalent and display the content of a page named MyFirstPage: @MyFirstPage execpage('MyFirstPage') ExecPage (procedure) Executes the content of the specified document page, as if it were part of the calling page. The content of the page in this case excludes the paper handling properties of the page.
Syntax showpage() Argument None Code Sample Example This example specifies the number of pages to print at line 1, between columns 1 and 5. Example Define(&NumberOfPages,integer,strtoint(trim(@(1,1,5)))) Define(&x,integer,1) for(&x,1,1,&NumberOfPages) execpage('Page1') showpage() endfor() PPDs and PostScript CallPPD (procedure) Calls a section of the PostScript Printer Description (PPD) file and executes it on the printer. Use this to set printer options such as the input tray or duplexing options.
elseif() if((&Condition3) or (&Condition4)) callppd("Tray", "3") elseif() callppd("Tray", "4") endif() endif() PassThrough (procedure) Sends a literal PostScript command to the printer. Syntax passthrough( string, [mode]) Argument string String value to be sent to the printer. This string is sent as is, with no further modification. mode Integer used as a bitfield to specify when to send the passthrough.
Syntax selectmedia( width, height, [media], [color], [weight], orientation, mode ) Arguments width, height Measure values specifying the width and height of the physical page in inches. media A string value specifying the type of paper to use. color String value specifying the color of the paper. weight Measure value specifying the weight of the paper (in grams per square meter). You can convert weight in pounds to weight in grams by multiplying by the weight in pounds by 3.76.
Code Sample Example This example shows how to break from a loop when a specific word, in this case ’Invoice,’ is found somewhere on the data page. define(&x,integer,1) for(&x,1,1,¤t.lpp) if(pos('Invoice',@(&x,1,80))>0) exit() endif endfor() For… EndFor (procedure) This command structure allows a series of nested commands to be repeated a specified number of times. Each for statement must have a corresponding endfor statement in order for PlanetPress Talk to know which commands to include in the loop.
define(&x,integer,1) for(&x,1,1,5) show('Line nº '+inttostr(&x)) crlf() endfor() If … ElseIf… EndIf (procedure) This command structure can define up to two conditional blocks. Statements nested within the first block are executed only if the condition specified in the if statement returns true. If it returns false, the program branches to the first statement in the second block, if one has been defined using the elseif statement. Otherwise, control flows to the first statement following the endif command.
Example prior to version 7.0 define(&x,integer,1) %Define loop variable and then set up loop for(&x,1,1,5) if((&x mod 2)=0) %If &x is an even number setstyle(&bluefont) %use the blue font elseif() %otherwise setstyle(&Default) %use the default font endif() show('Some text to display') %Display the text crlf() %Skip to the next line endfor() Example with version 7.
Related topics: l "If (function)" (page 554) Repeat... Until (procedure) Repeat a sequence of commands until a condition is true. It is similar to a for... endfor loop in that you can nest the loops. It is different from a for... endfor loop in that the loop always executes at least once, and that you tie the number of times the loop repeats to a Boolean condition. For example you might tie the number of times the loop repeats to the occurrence of a piece of data in the data stream.
Search … EndSearch (procedure) This command structure allows a series of nested commands to be repeated as long as a specific string of characters (the search string) is found within another string (the target string). After each iteration, the target string contains all the data between occurrences of the search string, excluding the search string. Once the loop is over, target contains the remaining characters of the original data.
Conversion Tables This appendix contains an ASCII conversion table, a table for converting from points to inches, another for converting from points to centimeters, and a table for determining the height of a line of text given the number of Lines Per Unit (LPU).
ASCII Conversion Table Dec Hex Oct Char 0 00 000 NUL (null) 1 01 001 SOH (start of heading) 2 02 002 STX (start of text) 3 03 003 ETX (end of text) 4 04 004 EOT (end of transmission) 5 05 005 ENQ (enquiry) 6 06 006 ACK (acknowledge) 7 07 007 BEL (bell) 8 08 010 BS (backspace) 9 09 011 TAB (horizontal tab) 10 0A 012 LF (NL line feed, new line) 11 0B 013 VT (vertical tab) 12 0C 014 FF (NP form feed, new page) 13 0D 015 CR (carriage return) 14 0E 016 SO (shift out) 15 0F 017 SI (shift in) 16 10 020 DLE (data l
Dec Hex Oct Char 42 2A 052 * 43 2B 053 + 44 2C 054 , 45 2D 055 46 2E 056 .
Dec Hex Oct Char 88 58 130 X 89 59 131 Y 90 5A 132 Z 91 5B 133 [ 92 5C 134 \ 93 5D 135 ] 94 5E 136 ^ 95 5F 137 _ 96 60 140 97 61 141 a 98 62 142 b 99 63 143 c 100 64 144 d 101 65 145 e 102 66 146 f 103 67 147 g 104 68 150 h 105 69 151 i 106 6A 152 j 107 6B 153 k 108 6C 154 l 109 6D 155 m 110 6E 156 n 111 6F 157 o 112 70 160 p 113 71 161 q 114 72 162 r 115 73 163 s 116 74 164 t 117 75 165 u 118 76 166 v 119 77 167 w 120 78 170 x 121 79 171 y 122 7A 172 z 123 7B 173 { 124 7C 174 | 125 7D 175 } 126 7E 176 ~ 12
Points to Inches Points Inches Points Inches 1 0.013889 2 0.027778 3 0.041667 4 0.055556 5 0.069445 6 0.083334 7 0.097223 8 0.111112 9 0.125001 10 0.13889 11 0.152779 12 0.166668 13 0.180557 14 0.194446 15 0.208335 16 0.222224 17 0.236113 18 0.250002 19 0.263891 20 0.27778 21 0.291669 22 0.305558 23 0.319447 24 0.333336 25 0.347225 26 0.361114 27 0.375003 28 0.388892 29 0.402781 30 0.41667 31 0.430559 32 0.444448 33 0.458337 34 0.472226 35 0.486115 36 0.500004 37 0.513893 38 0.527782 39 0.541671 40 0.
Points Inches Points Inches 89 1.236121 90 1.25001 91 1.263899 92 1.277788 93 1.291677 94 1.305566 95 1.319455 96 1.333344 97 1.347233 98 1.361122 99 1.375011 100 1.
Points to Centimeters Points Centimeters Points Centimeters 1 0.035278 2 0.070556 3 0.105834 4 0.141112 5 0.176389 6 0.211667 7 0.246945 8 0.282222 9 0.3175 10 0.352778 11 0.388056 12 0.423334 13 0.458611 14 0.493889 15 0.529167 16 0.564445 17 0.599723 18 0.635 19 0.670278 20 0.705556 21 0.740834 22 0.776112 23 0.811389 24 0.846667 25 0.881945 26 0.917222 27 0.952500 28 0.987778 29 1.023056 30 1.058333 31 1.093611 32 1.128889 33 1.164167 34 1.199444 35 1.234722 36 1.270000 37 1.305278 38 1.340556 39 1.
Points Centimeters Points Centimeters 89 3.139722 90 3.175000 91 3.210278 92 3.245556 93 3.280833 94 3.316111 95 3.351389 96 3.386667 97 3.421945 98 3.457222 99 3.492500 100 3.527778 Line Height as a Function of Lines Per Unit (LPU) Use these tables to determine the height of an individual line, in inches, given a specific Lines Per Unit (LPU) value. Line Height as a Function of Lines Per Inch Use this table to determine the height, in inches, of an individual line when the unit of the LPU is inches.
LPC Line Height (inches) LPC Line Height (inches) 1 0.3937008 2 0.196850394 3 0.181233596 4 0.098425197 5 0.078740157 6 0.065616798 7 0.056242970 8 0.049212598 9 0.043744532 10 0.039370079 11 0.035790980 12 0.032808399 13 0.030284676 14 0.028121485 15 0.026246719 16 0.024606299 17 0.023158870 18 0.021872266 19 0.020721094 20 0.019685039 21 0.018747656 22 0.017895490 23 0.017117425 24 0.016404199 25 0.015748031 26 0.015142338 27 0.014581511 28 0.014060742 29 0.013575889 30 0.013123360 31 0.012700025 32 0.
©2010 Objectif Lune Inc - 640 -
Tools and Utilities Tools and Utilities This chapter describes specific tools and utilities that are available in the PlanetPress Design interface. The Image Downloader It is important to understand that the copy of the image file the Image Downloader downloads or copies is a PostScript file.
Tools and Utilities are clearly defined and sensitive to any loss of image information. The compression PlanetPress Design applies to line art images is lossless. Note that Line art quality only works with PostScript Level 3. If you select Line art for images, and the PPD you select for the document is not for a PostScript Level 3 printer, PlanetPress Design automatically switches the image quality from Line art to Photo, and applies the compression level set for Photo quality.
Tools and Utilities A. Browse B. Delete C. Clear 2. In the Open dialog box, navigate to the folder containing the images, and select the images you want to download and/or copy. To select more than one image file, click the first file you want to add, then CTRL+click each additional file you want to add to the selection. CTRL+click a file a second time to remove it from the selection. You can also SHIFT+click to select a range of files. Click Open to exit the Open dialog box. 3.
Tools and Utilities 1. Double-click on the Document node. 2. In the Document properties dialog box, click Resource options and adjust the compression options. Image quality: Select the image quality for this image resource. Photo quality compression level: Set the compression level you want PlanetPress Design to use for image resources of Photo image quality. Legal values are 1 to 100.
Tools and Utilities Save to File: Click this button to save all the image files in the Files to download list to the filename you specify with a PS file extension. The Image Downloader makes a copy of each image, applies the image settings to the copy, and then converts the copy to PostScript. 3. Click OK. 4. When you add an image resource to the document, PlanetPress Design associates the specified image quality with that image resource.
©2010 Objectif Lune Inc - 646 -
Managing Documents and Printers This section presents the features of PlanetPress Design that you can use to manage document on a printer, and to adjust printer settings. Obtain Information from a Printer To obtain information from a printer: 1. Choose Tools | Managers | Printer Utilities. 2. In the Select information to request list, select the information you require. PlanetPress Design printer status page: Select to request a PlanetPress Design printer status page.
If you selected Send to file, PlanetPress Design prompts you to specify the name of the file to which you want to save the deletion request. Once you enter the file name and click Save, PlanetPress Design saves the request as a PostScript file. If you did not select Send to file, PlanetPress Design attempts to delete the specified files and/or documents from the selected printer(s) and prints a confirmation sheet.
Trigger: Document location: %!PS-Adobe In this example, the document named PAY is loaded from the printer’s hard drive to RAM. The trigger executes (PAY) run 3 PAY version 3 of the PAY document which is stored in RAM. Accounting folder of a printer with a single hard drive. This example uses a relative path (a back slash does not %!PS-Adobe precede Accounting). Whether you use an absolute or relative path depends on your printer configuration. For (Accounting\PAY) examp
Form Cache What is the form cache? What options can I adjust with respect to the form cache? The form cache is an amount of RAM set aside to hold images that the document references during execution. The cache improves performance by providing faster access to images that the document uses more than once. The size of the cache and the order in which the document executes the images determine the contents of the cache at any given point in time.
A. The new under color removal feature; B. The amount of ink the printer will use to print the selected color; C. The selected color In the case of the red selected in the previous illustration, using the Remove background color feature saves a considerable amount of cyan, magenta and yellow ink, as shown below. A. The Remove background color feature selected, colored ink is replaced by black ink when possible; B.
l In the properties dialog box of an object, click . To select a color using the color box: 1. In the color spectrum box, click on a point, or click and drag a point to a new color. 2. Release when the pointer is over the color you want. To select a color from the palette: l Click in the color pot that contains the color you require. To select a color using a CMYK or RGB settings: 1. Choose the color model you want to use in the drop-down list. 2.
graybar page you created using the Graybar Wizard contains a set of box objects, where each box object is a bar on the graybar page. You can edit the properties of, or delete, any of these box objects. If you want to change any of the bar and/or page properties you set in the Graybar Wizard, you must start a new document and begin a new session with the Graybar Wizard. To create a graybar report document: 1. From the PlanetPress Design Button, choose New. 2. Choose Tools | Application | Graybar Wizard. 3.
Bottom: Enter the bottom margin, relative to the bottom edge of the physical page. Border: Select to display a border along the margins of the graybar page. Use the Line width box to specify the width of the line the border uses. Line width: Enter the width of the line you want to use as the border. Units are typographical points. This option is available only when you select Border. 7. Click Bar definitions and define each bar that makes up the band that repeats to create the graybar page.
l l From the Tools tab in the PlanetPress Suite Ribbon, click on Hex Viewer. The default active data file is automatically opened. In the Data Selector, click the Hex Viewer button. Note that this button is not available if you select a database emulation. To exit the Hex Viewer: l l l In the Hex Viewer, choose File | Exit. Click the X button at the top-right corner of the Hex Viewer. Press ALT+F4 on your keyboard.
1. Be certain that you want to print the complete sample data file as it appears in the Hex Viewer. If it is quite large and you only want the first few pages, you may want to cancel the print job after those pages print. Alternatively, you might copy and paste the portion of interest into a separate Hex Viewer file and get a hard copy of that file. 2. Choose File | Print Layout and choose the representation you want to use for the values that represent the input data.
displayed as 15:38:54).
©2010 Objectif Lune Inc - 658 -
Document Output and Preview Document Output and Preview This chapter will explain the different methods of outputting a document. It covers previewing and soft-proofing your document before output, as well as printing to a printer and installing documents on a printer, from PlanetPress Design. It also covers sending a document to PlanetPress Workflow for further processing in a workflow.
Document Output and Preview 1. From the PlanetPress Design Button, choose Preview. 2. Select the data pages you want to use for the preview in the Data page range group. All data pages: Select to use all data pages (or in the case of a database emulation, all record sets) in the sample data file. It is important to understand that this refers to data pages and not document pages.
Document Output and Preview Printer centric: Select to have PlanetPress Design execute the preview as if the document were run on the printer itself. Note that for screen previews, documents are always physically run on the host on which you are running PlanetPress Design. Optimized PostScript Stream: Select to have PlanetPress Design execute the preview using the Optimized PostScript Stream option.
Document Output and Preview If you perform a: And you: Clear Optimized Hard copy preview PostScript on a printer that Stream in the does not run in Print dialog box. Select Read in binary mode binary mode. Clear Optimized PostScript Stream in the On-screen preview Print dialog box. Clear Read in binary mode.
Document Output and Preview Print a Document Preview It is common to preview a document often during the creation process and it is strongly recommended you preview the final document before you install it. A hard copy preview prints the output the document yields when it executes on a printer. When you perform a hard copy preview, PlanetPress converts the document, adds a trigger to the PostScript code, and sends the document to the printer along with the contents of the sample data file.
Document Output and Preview Refresh data from database: Select to have PlanetPress Design refresh the sample data file by repeating the SQL query before creating the soft proof preview. Clear to have PlanetPress Design use the sample data file in its current state. This option is available only when your document uses database emulation. Refresh Metadata: Select to have PlanetPress Design refresh the metadata file before creating the soft proof preview.
Document Output and Preview 2. 3. 4. 5. 6. Windows displays the Print dialog box. Those options which are greyed out are not available when printing from PlanetPress Design. Any options, such as the paper size or media type, you may set by clicking the Preferences button are managed by the Windows print driver. Although PlanetPress Design provides available to the Windows print driver, it cannot ensure that these options will be correctly applied.
Document Output and Preview 1. From the PlanetPress Design Button, choose Soft Proof. 2. Select the data pages you want to use for the preview in the Data page range group. All data pages: Select to use all data pages (or in the case of a database emulation, all record sets) in the sample data file. It is important to understand that this refers to data pages and not document pages.
Document Output and Preview Zoom factor: Select the zoom factor at which you want Adobe Acrobat or Adobe Reader to open the PDF file generated by the preview. Select Fit in window to adjust the zoom factor such that each page of the PDF occupies a full screen, or select a specific zoom factor. This is the same option available in the PDF options for the PlanetPress Image output task in PlanetPress Suite Workflow Tools. Consult the PlanetPress Suite Workflow Tools User Guide for more complete information.
Document Output and Preview 1. Verify the Compilation options and Resource options settings in the Document properties dialog box are the ones you want for this document. 2. From the PlanetPress Design Button, choose Send to | Printer. 3. Select the printer location you want the converted document to reference. Printer storage: Select the printer location. When PlanetPress Design converts the document, it includes the PostScript code to install the document in the selected location. 4.
Document Output and Preview Sent to Printer button: When clicked, sends the document only to the printer. Once you choose that option the window remains open. 5. To output the document, click Save Host File, Send to Host, or Send to Printer. A message appears indicating the document has been sent successfully, otherwise an error message appears. If you want a printer based document sent through Codehost BrightQ, first send the document to the printer, and then send the document to Codehost BrightQ.
Document Output and Preview 1. From the PlanetPress Design Button, choose Send to | PlanetPress Suite Workflow. The Send to PlanetPress Suite Workflow interface appears. 2. The Host Name box displays a list of available PlanetPress Workflow servers. Put a checkmark next to each Host Name of the PlanetPress Suite Workflow server(s) you want to send your document to.
Document Output and Preview Port: The default port number is 5662. The port number may be modified under the specification of the network administrator. PlanetPress Design must connect to the specified TCP port and send a document conforming to the following port specifications. l Password: Enter the password for the workstation. l Document name: Enter the file name for the converted document. This must be a file name, not a path. The name must be no longer than 10 characters.
Document Output and Preview l l In Send, a list of operations will appear. Click Next >> to start the Batch Send To process. PlanetPress Design performs the batch conversion and/or installation you defined in the wizard, displaying status messages as it progresses through the operations. Click Finishto exit the wizard. The Batch Send To window disappears and returns to PlanetPress Design. Batch Send To does not support sending to BrightQ hosts. To send to a BrightQ host, see Install a Document.
Document Output and Preview Phase 2: Global Condition Resolution In phase 2, the document runs any attachments you selected to run before the document prints, and then resolves all global conditions for the current data page. Phase 3: Document Page Printing In phase 3, the document processes each page of the document. It uses the conditions it resolved in phase 2 to determine whether to run and print the page and, if it prints the page, which objects to include in the output.
Document Output and Preview It is thus common practice to include an end of job character at the beginning of the trigger to ensure that the printer recognizes your job as a new print job. For certain printers, or ASCII 04 is a valid end of job character, while more recent printers require a Printer Job Language (PJL) sequence such as %-12345X.
Document Output and Preview An example of the trigger for a document named FORMLETTER that resides in the printer’s RAM: %!PS-Adobe FORMLETTER Trigger Syntax for Documents Installed in Flash Memory The general syntax of a trigger for a document that resides in the printer’s Flash memory is: [ printer-specific_commands ] %!PS-Adobe (%flash%name_of_document) run name_of_document An example of the trigger for a document named PAYROLL that resides in the printer’s Flash mem
Document Output and Preview When you install a document on a PlanetPress Suite Workflow Tool server, you should make sure the fonts included in the document are actually available on the PlanetPress Suite Workflow Tool server. To install TrueType fonts, use the standard Windows procedure. To install PostScript fonts, use the Install PostScript Font command in your PlanetPress Suite Workflow Tool.
Document Output and Preview Most printers let you print the incoming data exactly as it arrives at the printer, as hexadecimal values. This is useful for determining exactly what characters the printer receives and for spotting unexpected characters in the data stream, or characters that are not arriving in the proper order. The following table shows the hexadecimal codes the printer dumps for a carriage return followed by a line feed, and a line feed followed by a carriage return, respectively.
Document Output and Preview Spool Print Jobs in EMF Format: l l l This will create an EMF datafile. This format is usally reserved for use with the Windows Print Converter action plugin (see PlanetPress Suite Workflow Tools documentation). This format can be obtained using any PlanetPress Suite Product; PlanetPress Design or any of the PlanetPress Suite Workflow Tools. Spool Print Jobs in RAW Format: l l This will create a PostScript datafile when the option Create PDF (with Medatada) is unchecked.
Document Output and Preview Metadata files are files containing information on the job itself rather than containing the job per se. A job sent to the Objectif Lune Printer Driver (PS) creates its own metadata, allowing users to retrieve relevant information, such as, for instance, the time and date the print request was sent. For more on this, see the "Working with Metada" (page n)documentation pages.
©2010 Objectif Lune Inc - 680 -
Keyboard Shortcuts Keyboard Shortcuts This appendix provides a complete list of all keyboard shortcuts available in PlanetPress Design6. Most Common User Access (CUA) shortcuts, the shortcuts available on most personal computers, also work in PlanetPress Design6. Where a CUA shortcut conflicts with a PlanetPress Design shortcut, the PlanetPress Design shortcut takes precedence.
Keyboard Shortcuts Show or Hide Areas of the Program Window Use: To: SHIFT+CTRL+T Show/hide the Document Structure area. SHIFT+CTRL+I Show/hide the Object Inspector. SHIFT+CTRL+M Show/hide the PlanetPress Talk Messages area. SHIFT+CTRL+P Show/hide the Data Pane. Work with Hierarchies Use: To: Move the focus to the hierarchical view. For example, in the Program window, the focus moves to the Structure area.
Keyboard Shortcuts Preview and Install Documents Use: To: F9 Perform an on-screen preview. CTRL+P Perform a hard copy preview. CTRL+ALT+P Install the document on one or more printers. CTRL+ALT+W Install the document in one or more installations of PlanetPress Suite Workflow Tools. CTRL+ALT+H Install the document on one or more hosts. Work with Pages Use: To: F6 Display the Page properties dialog box for the current page. UP ARROW, DOWN ARROW Scroll the page up or down in the Page area.
Keyboard Shortcuts Adjust the Zoom Use: Plus sign (+) sign on numeric keypad SHIFT+ plus sign (+) key on numeric keypad Minus sign (-) key on numeric keypad SHIFT+minus sign (-) key on numeric keypad To: Zoom in on the Page area using the Zoom factor set in the User Options dialog box. If the pointer is over the Page area, PlanetPress Design centers the zoom around the pointer. Zoom in on the Page area using the Fine zoom factor set in the User Options dialog box.
Keyboard Shortcuts Use: To: ALT+ARROW Move the current data selection region within the Data Pane. Note that this does not work with database emuor CTRL+SHIFT+ lation. ARROW Move the currently active cell. This shortcut collapses the current data selection to only the currently active ARROW cell.
Keyboard Shortcuts Use the Hex Viewer Use: CTRL+P To: Print a hexadecimal dump of the input data. Undo the most recent command. Repeat to move backwards through the sequence of commands entered to CTRL+Z date, reversing the effect of each command. Not all commands can be undone. CTRL+X Cut the currently selected data. CTRL+C Copy the currently selected data. CTRL+V Paste the currently copied or cut data.
Keyboard Shortcuts Work with Objects Use: To: F2 (in the Structure Rename the object or group. area, after selecting an object or a group) CTRL+click (on an object or a Add the object or group to the current selection, or, if it is already selected, remove it from the selection. group in the Structure area) SHIFT+click or CTRL+click Add the object or group to the current selection, or, if it is already selected, remove it from the selection.
Keyboard Shortcuts Use: PAGE DOWN To: Work in the Text Properties of a Text Object Use: To: Undo the most recently entered editing operation. Repeat to move backwards through the sequence of CTRL+Z editing operations entered to date, reversing the effect of each command. Reverse the effect of the most recent Undo command. Repeat to move backwards through the CTRL+SHIFT+Z sequence of undo commands entered to date, reversing the effect of each command. Undo the most recently entered editing operation.
Keyboard Shortcuts "Expand or Collapse Groups in the Commands Area" (page 689) "Work in the Code Area" (page 690) "Use Command Name Completion/Argument Insertion" (page 690) "Undo Commands" (page 690) "Work with Selections" (page 690) "Add/Remove Comments" (page 691) "Indent Code" (page 691) "Search" (page 691) "Jump to a Specific Line" (page 691) "Use Bookmarks" (page 691) "Execute a Program" (page 691) "Debug Code" (page 692) General Use: To: ALT+F10 Display the menu that appears when you right-click in
Keyboard Shortcuts Work in the Code Area Use: To: CTRL+N Insert a carriage return. INSERT Toggle between Insert and Overwrite mode. CTRL+ LEFT or RIGHT ARROW Move forward or backward in the code, one word at a time. CTRL+HOME Move to the first character of the first line of the Code area. CTRL+END Move to the last character of the last line of the Code area. Use Command Name Completion/Argument Insertion Use: To: Launch command name completion or argument insertion.
Keyboard Shortcuts Add/Remove Comments Use: To: Add the comment character (%) to the start of each line of the selected block of code, or if no block is curCTRL+SHIFT+/ rently selected, to the start of the line indicated by the current pointer position. CTRL+SHIFT+. Remove the comment character (%) from the start of each line of the selected block of code, or if no block is (period) currently selected, from the start of the line indicated by the current pointer position.
Keyboard Shortcuts Debug Code Use: To: F5 Add or remove a breakpoint at the line indicated by the current pointer position. CTRL+F7 Display the Evaluate dialog box in order to evaluate an expression, edit the value of a variable, or create a spy. CTRL+F5 Create a spy. Print the Script Use: To: CTRL+P Print the contents of the Code area. Converted Document A converted document is the final format of a document in PlanetPress Design: a PostScript program.
Keyboard Shortcuts A variable content document is one that can dynamically change its content and appearance based on the data it receives at runtime. About Document Elements While Objects are generally placed in the Workspace Area (on your page), Elements are a broader term that include conditions, variables, functions and metadata fields. Here is a list of all the elements available in PlanetPress Design.
Keyboard Shortcuts PostScript Attachments PostScript attachments are PostScript files (.ps) that are imported into your document and can be used as resources by your pages and will print after the page where you attach the postscript file. For more information on PostScript attachments, see the chapter on "Document Resources" (page 173).
Keyboard Shortcuts You create a PP7 file for a document the first time you save the document. You can also set a password on a PP7 file. PTZ File A PlanetPress Document Package, or PTZ, is a file format consisting of a ZIP file, which contains all the document's data and resources. With a PTZ, resources are extracted and uncompressed only once when the PlanetPress Suite Workflow Tool receives the file.
©2010 Objectif Lune Inc - 696 -