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 Fonts and Styles 29 Create a Style 29 Apply a Style 31 View or Edit the Properties of a Style 31 Delete a Style 32 Set the Default Style for New Objects and Groups 32 Create a MICR Style for Account Information on Cheques 33 Arabic Content in PlanetPress Design Documents 33 CID-Keyed Fonts 34 Double-byte Character Sets 34 Encoding Tables 34 Why have different encoding tables? 35 Encoding Tables in Plane
Table of Content Undo and Redo Commands 50 Navigate Data Pages 51 Document Structure Area 51 Selecting and moving elements 52 Add a Metadata Field 52 Add a Document Page 53 Edit the Order of Pages 53 Duplicate a Page 53 Delete a Page 54 Object Layering Order 54 Group and Ungroup Objects and/or Groups 55 Data Pane 55 Object Inspector 55 Workspace Area 56 Using the Select Tool in the Workspace 56 Zoom in and out of the Workspace 57 Pan the Workspace 57 Use Guides 58 Right-
Table of Content Rulers Preferences 76 Form Pages Preferences 77 Compiler Messages Preferences 77 Document and Pages Preferences 77 Image Resources Preferences 78 PDF Text Extraction Tolerance Factors 79 Data Selector Display Preferences 80 Dock and Undock Areas of the Program Window 81 Minimize and Customize the Ribbon 82 Show or Hide Areas of the Program Window 82 Resize the Program Window Area 82 Data in PlanetPress Design 83 Sample Data File 83 Capturing Data 85 Capture Samp
Table of Content Associate Attachments with a Document 115 Setting Up Pages 117 Page Properties 117 Page Types 119 Normal Page 119 Overlay Page 119 Virtual Page 120 Execution Order of Pages 120 Advanced Paper Handling 120 Associate Attachments with a Page 121 Add or Remove Overlays 121 PlanetPress Design Objects 123 View or Edit the Properties of an Object 123 Basic Attributes 123 Repeat 124 Snapping Points 126 Manipulation 126 PlanetPress Talk Before and PlanetPress Talk
Table of Content 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 Interleaved 2 of 5 159 Japan Post 160 Maxicode 160 Micro PDF417 160 Micro QR 160 MSI Plessey 161 PDF
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 183 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 (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) 250 &system (system ob
Table of Content 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 Eq (function) 274 ExecPage (procedure) 274 ExecScrip
Table of Content IntToFloat (function) 295 IntToStr (function) 296 IsNumber (function) 297 IsPageEmpty (function) 297 LE (function) 297 Left (function) 298 Length (function) 299 LineTo/RLineTo (procedure) 299 LowerCase (function) 300 LT (function) 300 MapUTF8 (function) 301 Margin (procedure) 303 Mid (function) 303 Mod (function & procedure) 304 MoveTo/RMoveTo (procedure) 305 Mul (function) 305 NE (function) 306 Neg (function) 307 Not (Boolean operator function) 307 Ob
Table of Content 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 (procedure) 332 SetStrokeColor (procedure) 333 SetS
Table of Content 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) 358 ShowPDF (procedure) 359 ShowUTF8 (procedure) 360 ShowUTF8Left / ShowUTF8Right / ShowUTF8Center (procedure) 361 Sin (function) 362 StopJob (procedure) 363 Store (procedure) 363 StringReplace
Table of Content 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) 387 Boolean Operator Functions 387 And (Boolean operator f
Table of Content For… EndFor (procedure) 399 Repeat...
Table of Content Put (procedure) 434 Rectangle (procedure) 435 RectFill (procedure) 435 RectFillStroke (procedure) 436 RectStroke (procedure) 437 Repeat...
Table of Content 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 (procedure) 467 ShowBarcodeRoyalMail (procedure) 468 ShowBarcodeRSS (pr
Table of Content 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 PixelWidth (function) 501 Pos (function) 501
Table of Content 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 (function) 524 Ord (function) 524 PDFPageCoun
Table of Content 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 (function) 548 Trim (function) 549 TrimLeft (function) 549 T
Table of Content 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 (procedure) 574 CurveTo/RCurveTo (procedure)
Table of Content 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 (procedure) 600 ShowBarcodeISBN (procedure) 601 ShowBarcodeJapanpost (pro
Table of Content 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 (procedure) 625 For… EndFor (procedure) 626 If … ElseIf… EndIf
Table of Content Form Cache 654 Remove Background Color 654 Named Colors 655 Create a Graybar Report 656 The Hex Viewer 658 Date and Time Format 660 Document Output and Preview 663 About Previewing and Printing 663 Preview a Document On Screen 663 Previews of Documents that Use ASCII Emulation 666 Preview a Capture-Ready document 667 Print a Document Preview 667 Print Using a Windows Driver 668 Printing Using a Windows Driver 670 Generate a Soft Proof 670 Convert a Document an
Table of Content Work with Documents 686 Preview and Install Documents 687 Work with Pages 687 Adjust the Zoom 688 Use Basic Editing Commands 688 Work in the Data Pane 688 Work with the Data File 689 Work with Data Selections 689 Use the Hex Viewer 690 Work with Objects 691 Work in the Text Properties of a Text Object 692 PlanetPress Talk Editor 692 General 693 Show or Hide Areas of the Editor 693 Expand or Collapse Groups in the Commands Area 693 Work in the Code Area 694 U
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 1. If you are not currently in the Style properties dialog box for the style whose encoding table you want to edit, do either of the following to display the dialog box: l In the Structure area, double-click the style. l In the Structure area, select the style and press ENTER. 2. In the Style properties dialog box, click Style properties. 3. In Style properties, click Encoding (the button to the right of the Encoding box). The Font Encoding dialog box appears.
Fonts and Styles 1. Do any of the following. Notice that as soon as you edit the first glyph, the Encoding box updates to User defined font encoding. You can only modify a user defined encoding table. Drag and Drop In the Available glyphs list, locate the glyph you want to use in a given position in the encoding table. Use the scrollbar, or click in the list and use the ARROW keys to navigate in the table. Click on the glyph, then drag and drop it into the position in the Encodingtable.
Fonts and Styles Set a Default Encoding Table This procedure describes how to set the encoding table that appears by default in the Encoding box in the Style properties dialog box. This is useful if most of the styles you create use the same encoding table, and you do not want to select it each time you create a style. To set a default encoding table: 1. From the PlanetPress Design Button, choose Preferences to display the Preferences dialog box. 2.
Fonts and Styles 3. Click the Refresh Fonts List button located on the right of the Font type box. 4. PlanetPress Design refreshes all font lists in the interface. Install a PostScript Font in PlanetPress Design The set of Postscript fonts available in PlanetPress Design is the combination of those available in the PlanetPress Design Fonts subfolder of the Windows Common Files folder (in a default installation, the path of this subfolder is C:\Documents and Settings\All Users\Application Data\Objectif Lun
©2010 Objectif Lune Inc - 40 -
Overview Overview This documentation covers PlanetPress Suite version 7.3. 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 - 42 -
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. l 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 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 62) "Align Objects and/or Groups" (page 63) "Rotate Objects and/or Groups" (page 63) "Duplicate Objects and/or Groups" (page 63) "Snap or Unsnap Objects and/or Groups" (page 63) "Group and Ungroup Objects and/or Groups" (page 55) "Edit the Layering Order of Objects" (page n) "Copy Values of Properties between Objects and/or Groups" (page 66) "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 l Click the tab of the area you want to show. If the tab is not visible, use the navigation buttons located to the right of the tabs. To expand or restore an area within a stacked group: l Click the area’s expand ( ) or restore ( ) button. To reset all areas to their default docking positions: l Press CTRL when you start PlanetPress Design. Note that this also resets the toolbars to their default position. Minimize and Customize the Ribbon To minimize the Ribbon: 1.
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 - 84 -
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 96). 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 91)) 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 - 104 -
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 110) or "FreeForm 2 Caching" (page 111). For help creating a document in VPS or VDX format, refer to "VPS Caching" (page 112). 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 Cacheable Execution Options PlanetPress Suite offers compatibility with some of the major caching methods available on the market. This page explains each caching method and how it is used. None This caching method really isn't one. In essence, using this option will remove any sort of caching from the document when it is printed.
Setting Up a 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. In the Caching method box, select FreeForm and set the FreeForm options that appear. This document is a master: Select to make the current document a master document. Document number: Enter the index number for the master document.
Setting Up a Document 1. In PlanetPress Design, open the FreeForm 2 document that contains the pages that you want to associate with the FreeForm 2 master document. 2. In the Structure area, select the page you want to associate with a FreeForm 2 master document and double-click on it to display the Page properties dialog box. 3. In the Page properties dialog box, click Basic attributes and set the FreeForm 2 options.
Setting Up a Document l l l l l In PlanetPress Design, define the document as a VDX document. Place any content you want the VDX format document to cache, on one or more virtual pages, and define each of those virtual pages as cacheable. In most cases you cache content that is extremely large and that is used more than once during document execution. Any content you intend to cache must be static. On the normal pages of the document, you use n-up objects to reference the cacheable content.
Setting Up a Document PPD Setup PPD files, or PostScript Printer Description files are used by PostScript printer drivers to print to PostScript devices. PPDs contain printer-specific postscript commands that are used to control printer features, such as duplexing, stapling and sub-set stapling, tray calls and more. PPDs can be specific to a certain printer model, to a model line, or to a manufacturer.
Setting Up a Document Refresh the PPD Lists To refresh the list of PPDs using the Refresh PPD List button: 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 then click the Refresh PPD List button. Specify Job Infos To specify job info variables in a PlanetPress Design document: 1. Double-click on the Document node to display the Document properties dialog box. 2. Click Job Infos. 3.
Setting Up a Document 1. 2. 3. 4. Double-click on the Document node to display the Document properties dialog box. In the Document properties dialog box, click Attachments. To add an attachment, right-click in the appropriate list and choose Add. Use the Attachment Selection dialog box to add a new item or edit an existing one. Attachment name: Select one of the existing attachment resources in the document.
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 - 122 -
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 No Repeat: No option to configure, the object does not repeat. Static Repeat: l l l Horizontally l Number of repeats: Enter the number of times you want to repeat the object or group along the horizontal axis. l Space between each repeat: Enter the amount of space to leave between each repeat of the object or group, along the horizontal axis. Vertical l Number of repeats: Enter the number of times you want to repeat the object or group along the vertical axis.
PlanetPress Design Objects l object or group resolves to False, the object or group is not displayed, regardless of whether the condition here resolves to True or False. Condition to Exit and Overflow: Use this condition to manage data overflow. Set it the to number of iterations after which this object should stop processing data from the current data page.
PlanetPress Design Objects l l Select Both to permit moving along both the X and Y axes. This object can be selected on the page: Select to permit selection of the object/group with the mouse in the Page area. Clear to lock the object/group. When you lock an object/group, you cannot select it using the mouse in the Page area, or resize or move it using the mouse or keyboard shortcuts.
PlanetPress Design Objects changes to occur. An Iteration condition can also be applied to determine whether the data selections that reference the current line or record that are being processed appear in the output. When is a Line Repeat useful? A line repeat is useful when all of the following are true: l l l l The input data contains two or more contiguous lines or records with the same structure.
PlanetPress Design Objects An object or group has nine snapping point sites on its bounding box: one on each corner, one in the middle of each edge, and one in the center of the object. You can set a snapping point at any of the nine snapping point sites. When you snap two objects/groups together, PlanetPress Design positions the relevant snapping point of each object/group such that the two points lie one on top of the other. You can also set a horizontal and/or vertical offset for a snapping point.
PlanetPress Design Objects l l Fit object width in window: Adjusts the zoom level so the width of the object fits the width of the preview, ignoring the object's height. Show Messages: Click to make the message area appear or disappear. You can reposition the contents of the Object Preview by clicking and dragging the preview around, or by using the scrollbars. Text and Box Object Text and Box objects are essentially the same object.
PlanetPress Design Objects l l Color button: Click to select a color for the line using the Color Picker. Settings: These are pre-defined border settings you can use: l None: Select to make the border of the background box invisible. l Box: Select to use a rectangle as the border of the background box. l Shadow: Select to use a rectangle with a drop shadow as the border of the background box. l Round: Select to use a rectangle with rounded corners as the border of the background box.
PlanetPress Design Objects l l l l l Edit l l l l l l l Tabs...: Opens the Tabs dialog. See Set Tabs. Paragraph...: Opens the Alignment dialog. See Adjust Alignment and Lines Per Unit settings. PlanetPress Talk Before Paragraph...: Opens the PlanetPress Talk Editor to add PlanetPress Talk code before the currently selected paragraph. PlanetPress Talk After Paragraph...: Opens the PlanetPress Talk Editor to add PlanetPress Talk code after the currently selected paragraph.
PlanetPress Design Objects Note that the modifications you make to the style properties are local to this instance of the style and do not affect those defined for the style. Style box: Select the existing style you want to use for the text. If you type a style name that does not exist, PlanetPress Design updates the selection to the style that most closely matches the name entered, or if no existing style name is a possible match, reverts to the previous selected style.
PlanetPress Design Objects 1. Click the tab tool to display the Tabs dialog box. 2. In the Tabs dialog box, set the value in the Default tab stop box to zero. 3. Click OK. To set tabs for individual paragraphs using the tab tool: 1. Do any of the following to define the region of text for which you want to set tabs: l To set tabs for a single paragraph, click anywhere in that paragraph. l To set tabs for one or more contiguous paragraphs, click and drag to highlight those paragraphs.
PlanetPress Design Objects 1. Verify that word wrap is on. The justification tools are available only when word wrap is on. 2. Do any of the following to define the region of text to which you want to apply a new text justification setting: l To change the justification for a single paragraph, click anywhere in that paragraph. l To change the justification for one or more contiguous paragraphs, click and drag to highlight those paragraphs.
PlanetPress Design Objects Change All: Click to have the spell check replace all instances of this misspelled word in the current spell check with the contents of the Replace with box. l Add: Click to have the spell check add the word to the Added Words of the custom dictionary selected for this spell check. l Auto-Correct: Click to have the spell check add this misspelled word and the contents of the Replace with box to the Auto Correct Pairs of the custom dictionary selected for this spell check.
PlanetPress Design Objects 1. Make sure the dictionary is accessible on the computer on which you are running PlanetPress Design. Additional dictionaries are available at http://www.addictivesoftware.com/dicts.htm. 2. In the Text area, right-click and choose Spell Check Options. 3. In the Spelling Options dialog box, in the Dictionaries list, click Locatedictionaries. 4. In the Browse for Folder dialog box, navigate to the dictionary you want to add and click OK. To create a custom dictionary: 1. 2. 3. 4.
PlanetPress Design Objects 1. In the Text area, highlight the word you want to search for in the thesaurus. 2. In the menu bar of the Text properties, choose Tools | Thesaurus. l Looked up: Displays the word for which the thesaurus is currently displaying choices. Use the box to view and select words you previously entered in this thesaurus session. l Contexts: Displays a list of the different contexts in which the word might occur.
PlanetPress Design Objects l To insert a global variable Choose Variables | Global Variables. Then choose the global variable you want to insert from the menu that appears. PlanetPress Design inserts the variable in the Text area, displays its value on the current data page and highlights it in blue. To quickly insert a data selection as a local variable: 1. Choose Variables | SelectData. 2. Use the Data Selector to select the data for the variable. 3. Close the Data Selector.
PlanetPress Design Objects l In the Text area, highlight the reference you want to delete and press any key. To delete a local variable in the Text area: 1. In the Text area, select any reference to the variable you want to delete. 2. Right-click and choose Delete data selection. To delete a local variable using the Variables dialog box: 1. 2. 3. 4. Choose Variables | EditDataSelection. In the Variableslist, select the local variable you want to delete. Press DELETE. Click OK.
PlanetPress Design Objects l l l Text after each line: Enter any text you want to appear in the document after each line of the data selection. For example, if the data selection is lines 20 through 22, and you enter the string “SHIPPED” in this text box, SHIPPED appears three times in the document: after the data on line 20, after the data on line 21, and after the data on line 22. You can enter either text, or a PlanetPress Talk expression that resolves to a text string, in this box.
PlanetPress Design Objects Email options group l E-mail address (To): Select to have PlanetPress Image use this data selection as the E-mail address to which to send the PDF file. l E-mail address (Cc): Select to have PlanetPress Image use this data selection as the E-mail address to which to send the PDF file as a carbon copy (CC). l E-mail address (Bcc): Select to have PlanetPress Image use this data selection as the E-mail address to which to send the PDF file as a blind carbon copy (BCC).
PlanetPress Design Objects l l l l l l l HOME, END: Move the currently active cell to the first cell of the current line (HOME), or the last cell of the current line (END). This shortcut collapses the current data selection to only the currently active cell. PAGE DOWN, PAGE UP: Move the currently active cell forward (PAGE DOWN) or backward (PAGE UP) one screen, where the size of a screen is defined as the number of lines currently visible in the Data Pane.
PlanetPress Design Objects CTRL+PAGE DOWN, CTRL+PAGE UP: See Use the Data Selector to Create a Data Selection . ALT+ARROW or CTRL+SHIFT+ARROW: See Use the Data Selector to Create a Data Selection . SHIFT+HOME, SHIFT+END: See Use the Data Selector to Create a Data Selection . CTRL+SHIFT+ARROW: Move the current data selection. ARROW: Move the currently active cell. This shortcut collapses the current data selection to only the currently active cell. 2. Click OK.
PlanetPress Design Objects About PlanetPress Design XPath In supporting XML programming functionality, PlanetPress Design data selection makes use of a proprietary version of XPath. The proprietary version of XPath is derived from the W3C standard XPath. In the context of PlanetPress Design, XPath selects data from the XML file that is associated with a PlanetPress Design document and is used in the data emulation.
PlanetPress Design Objects 1. In the Page area, select the data selection object whose data selection you want to edit. A red rectangle appears around the selected object. It contains eight resize handles, one on each corner, and one in the middle of each edge of the rectangle. 2. Position the pointer over the appropriate resize handle to display the double-headed arrow pointer, then click and drag to adjust the size of the object. Release when the object contains the data selection you require.
PlanetPress Design Objects l l l l l l Custom data selections: l 1 Through 8: The 8 data selection boxes are where you put your address. Just like any other PlanetPress Talk-enabled input box, you can enter any PlanetPress Talk expression in these inputs. You can also concatenate them, for example @(1, 1, 50) + ', ' + @(2, 1, 2) + ' ' + @(3, 1, 5) for City, State ZIP. Group ID: Enter a PlanetPress Talk expression that defines the Group ID for your data file.
©2010 Objectif Lune Inc - 148 -
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.
Japan Post The Japan Post barcode will accept digits and uppercase letters and the hyphen. The data consists of a 7 digit postal code plus address data. If the address data is less than 13 characters the remaining character positions are filled with control characters to make the length 20. The postal code section may have a hyphen at the 4th character position (eg. 123-4567) although this hyphen does not appear in the encoded data.
Error correction may be set from Level 0 to Level 3. MSI Plessey This code can contain a variable number of characters. The following characters are valid for this barcode: l Digits: 0 to 9. A checksum is added automatically. PDF417 This 2D barcode replaces the PDF417 barcode used in previous versions of PlanetPress Design. It can be used in documents that will be printed using the Optimized Postscript, Windows Printing or printer centric mode.
A checksum is added automatically. QR Code This barcode supports various data types and the maximum number of characters allowed is based on the selected barcode mode: l l l l Numeric: Numeric characters up to a maximum of 7089 digits. Alphanumeric: Numeric and alphanumeric characters. Limited to uppercase letters, spaces and the following characters: dollar ($), percent (%), star (*), plus (+), minus (-), period (.
Apart from the standard UPC-E code, two additional codes can also be used: l l UPC-E+2 (8 digits + 2 supplemental digits). UPC-E+5 (8 digits + 5 supplemental digits). EAN-13 The standard code must contain exactly 13 characters (this includes one checksum character). The following characters are valid for this barcode: l Digits (0 to 9). Apart from the standard EAN-13 code, two additional codes can also be used: l l EAN-13+2 (15 characters in all). EAN-13+5 (18 characters in all).
Business Graphic Object A business graphic in PlanetPress Design is a bar graph, pie chart, or line graph. PlanetPress Design builds the graphic from the static or variable data you select for the graphic. There are 4 type of business graphics available: Bar Graph In a bar graph, PlanetPress Design calculates the maximum width of each bar by dividing the width of the business graph object by the number of bars in the graph.
Data l l l l Skip lines with invalid data: Select to remove any empty lines or lines that do not contain valid integer, measure or currency values from the data selection. Thousands separator: Enter the thousands separator the input data uses. PlanetPress Design requires this to ensure it reads the input data correctly. It does not use this or any other thousands separator in the values it displays. Decimal separator: Enter the decimal point separator the input data uses.
Save the template file in the following location: Documents and Settings\All Users\Application Data\Objectif Lune\PlanetPress Suite N\PlanetPress Design\ (where N is the PlanetPress Suite version number). Add an Excel Business graph object on your PlanetPress Design document: l Place an Excel business graph object on your document page. l In the Graphic page of the Excel Business Graphics properties dialog box, select any of your Excel graph template files and set its properties.
l l l Capture Field Type: Select which type of Capture Field to be used, from the following: l User Area: An area to write or select using the Anoto Digital Pen. l Pidget: Short for "pen widget", pidgets are capture fields that are used to change options on the document or the pen by drawing a line on a special pattern with the pen. See "Pidgets" (page 169). Color Selector: Use to change the color of the lines between each part of a Multi-Area field.
l l l Required field: Select whether the capture field is mandatory, optional or final: l Optional: The field is optional, and the capture document can be closed even if no ink is present in this 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.
l l l l 9 : Indicates any numeric character from 0 to 9. A: Indicates an alphabetic character from A to Z. The character will be converted to uppercase. X: Indicates an alphanumeric character from 0 to 9 or A to Z. Alphabetical characters will be converted to uppercase. \ followed by any character: Indicates a literal character. These characters will not be written by the client but rather output in the mask when printing the Capture Document.
Expression mask will not automatically divide the Multi-Area Field into rows and columns nor will it print out static characters in the field, since the number of characters can be variable. Accepted Values This documentation cannot pretend to teach anyone how to learn to use Regular Expressions nor to describe how to build regular expressions. Plenty of tutorials and documentation on Regular Expressions exist online.
l l l l l l Selection: Determines how many choices are accepted: l One choice only: Acts as an "choice" list where only a single item can be checked. If more than one option is checked during processing, the field (and its document) are placed in the "Logical Error" state. l Multiple choice: Acts as an "option" list where any number of items can be checked. Label Position: Determines where the Caption label will be placed, if a caption is entered. Choices are: Right, Left, Top and Bottom.
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.
l Profiles only apply to colors specified within PlanetPress Design such as font colors, backgrounds, shapes and lines. Profiles do not modify the display of images and other "external" resources. Color Management in PlanetPress Design Objectif Lune approached the issue of color management with an eye to making it as straightforward and convenient as possible for its customers.
In both cases, you can apply a condition so the PostScript attachment will only execute at certain times depending on your data and other variables. To add one or more PostScript attachments as resource to your document, do one of the following: l l l In the PlanetPress Design Ribbon, go to the Home tab then click Attachment in the Document group. Browse to the folder where the PostScript file is located, then select one or more images to import as resources.
1. Select all the resources of the same type (images or attachments) and use one of the methods described above to delete them. 2. On each Resource Deletion dialog, simply click on Cancel. One dialog will appear for each used resource, but no dialog appears for unused resources and they are simply deleted.
©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 75).
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 238) 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 238) 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 239) "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 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. The only operations you can perform on a currency type are addition, subtraction, multiplication and division, and negation.
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.
l l l l l l l l Defining program logic As for any coding, when you write programs in PlanetPress Talk you should work through the logic of the program you intend to create before you start coding. This ensures the program accomplishes what you intend it to accomplish, and makes the coding more straightforward. It can also result in insights into different ways of accomplishing the same task, or raise issues that were not immediately apparent.
for(&it,1,1,strtoint(@(1,1,2))) execpage('DATA') showpage() endfor() endif() Notes: l l The if(ne(&printermode,0)) statement prevents the program from executing during design. The local variable &it is a counter. Store two lines of input data on one line of the data page This sample is a user-defined emulation that reads two lines of input data, concatenates them, and stores them as a single line in the data page buffer. It terminates a data page when it encounters a form feed character.
l l l l The search loop executes when the emulation encounters a form feed character. The form feed signals the end of a data page. The first if statement handles the current line of data. If the current line of data is a second line, the first block of the statement executes; the emulation concatenates the line with the previous one and stores the result. If the current line of data is not a second line, it sets &line to the value of this(first) line of data.
©2010 Objectif Lune Inc - 242 -
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.
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.
Arguments name Variable name, prefixed with the ampersand (&) character. The variable name must already exist. value 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.
setangle(45.00) %Rotate subsequent commands by 45 degrees show('Some text') %Display at a 90 degree angle setangle(-90) %Cancel all rotations 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.
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: 0 Line printer 1 ASCII 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]] ) 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.
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\\*.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.
l l 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 variables that define the size, in inches, of the Capture Field.
Code Sample Example This example displays the EPS image ‘my_eps’, scaling it as necessary to fit a width of 4.5 inches. Example showeps('my_eps', 4.5, 0) 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 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() ShowPDF (procedure) Displays a page of a PDF image resource.
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...endUTF8paragraph structure. Its uses the paragraph properties defined in the 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.
ShowUTF8Left / ShowUTF8Right / ShowUTF8Center (procedure) These three commands are used to display simple text strings on the document. They are identical in all aspects, except in the way they behave relative to the text insertion point: showUTF8Left displays the text from the insertion point to the left; showUTF8Right displays the text from the insertion point to the right; and showUTF8Center displays the text equally on both sides of the insertion point.
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.
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. Code Sample Example This example is taken for an OnReadDataPage event for a user defined emulation.
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.00$','$','£') StringWidth (function) Returns the physical display width, in inches, of a string.
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. Syntax stringwidthutf8(text, mode) Arguments text UTF8 text string to be measured.
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. Example setstrokecolor([100,100,0,0]) %Set pen colour to blue moveto(1,1) lineto(1.
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.
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. The total value is subsequently converted back to a string and the result is printed.
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. Since data pages can hold a variable number of records, this value may change whenever you skip through data pages.
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.
selectmedia(8.5,11,'Danny',&mcolor,20,0,0) The code above will generate the following 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. It is meant to be used with the EndPageSet() command.
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.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.
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. Syntax setdash( [dashlength, spacelength] ) Argument dash Measure value specifying the length, in inches, of each of the dashes in the dashed line.
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. Syntax setemailsubject( subjectline ) Arguments subjectline String value specifying the subject line. SetEmulation(procedure) Sets the emulation to use.
setusercrlf( procedurename:procedure ) Arguments 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.
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. 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].
Syntax setimageindex( name, data ) 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.
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.
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.document') definemeta('CaptureField', 'Capture1;' + IntToStr(0) + ';2;' + FloatToStr((&physical.x * 72),4) + ';' + FloatToStr((&physical.y*72),4) + ';' + FloatToStr(3.7861*72) + ';' + FloatToStr(1.4223*72) + ';false;0', 2, 'job.group.
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. Code Sample Example This example shows how to fit strings of different sizes within the same box that has a width of 3 inches. Example margin(0,0) rectstroke(0,0,3,3) moveto(0,0.5) showleftright('This fits well inside the box',3) crlf(0.
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. width, height Measure values specifying the width/height, in inches, the PDF page occupies when it displays.
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.
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).
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. string String value to store in the data page.
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.
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]] ) 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.
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.
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.
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.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.
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. Syntax definedata( path ) Argument path String value specifying the path of the data file. DoForm (procedure) Runs the current document.
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.
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. Syntax store( line, string ) Arguments line Integer value specifying the line on which to store the string.
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.
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. Syntax setfaxinformation( info ) Arguments info String value specifying a description of the fax.
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. Syntax setimageindex( name, data ) Arguments name String value specifying the name of the index term with which you want to associate a data value.
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. The content of the page in this case excludes the paper handling properties of the page.
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. If you want to include the paper handling properties in the page execution, see "$element (procedure)" (page 613).
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() 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.
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. orientation Integer representing the orientation of the page (0=Portrait, 1=Landscape, 2=Reverse portrait, and 3=Reverse landscape).
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. Note that you cannot increment the counter for a for() loop, inside the loop.
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. With PlanetPress Suite version 7.
%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.
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.
Syntax search( target, search ) … endsearch() 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.
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.
Tools and Utilities To open the Access Manager l l Open PlanetPress Design or PlanetPress Workflow Configuration Tool. In the Ribbon, go in Tools | Managers | Access Manager. The Access Manager dialog box is displayed. It lists all IP and IP ranges that have PlanetPress Design, PlanetPress Suite Workflow Tools, PlanetPress Fax or PlanetPress Image installed in the same network. To add a new entry in the list l l l l Open the Access Manager Make sure you are in the Messenger tab.
Tools and Utilities l l example, if you accept HTTP connections from any IP, the first entry should be 255.255.255.255 with the Allow checkmark in the HTTP Input box. PlanetPress does not continue processing after it has found an "Allow" checkmark. There is no concept of "Deny", meaning if any "Allow" permission is given, there is no way to later remove it for certain IPs or IP ranges.
Tools and Utilities To add a new SOAP user l l l l Click on the button. Enter the following information in the Username section for the new entry that was created: l Username: An alphanumerical username for the user. l Password: A password to protect the user. Note that the password will always revert to ******** (8 stars) when clicking outside of this box - that is normal and is meant to protect the length of the password as much as its contents.
Tools and Utilities In order for the changes made here to be effective, you will need to restart the PlanetPress Messenger service. This can be done via the PlanetPress Suite Service Console.
©2010 Objectif Lune Inc - 650 -
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 - 662 -
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. A. PlanetPress Image Options button 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 Refresh data from database: Select to have PlanetPress Design refresh the sample data file by repeating the SQL query before creating the 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 preview.
Document Output and Preview stations on which PlanetPress Suite products are installed (note that PlanetPress Suite Messenger 6 only works with version 6 components). In this way, users can share image files, documents, and jobs. Use the Access Manager to assign permission for other computers to access your workstation. Preview a Capture-Ready document PlanetPress Capture-Ready documents can be previewed using the regular Preview functions of PlanetPress Design.
Document Output and Preview 1. 2. 3. 4. 5. 6. 7. 8. From the PlanetPress Design Button, choose Print. In the Select printers list, select the printer or printers on which you want to perform the preview. If you also want to save a copy of the converted document to a file, select Print to file. Select the data pages you want to use for the preview. All data pages: Select to use all data pages in the sample data file. It is important to understand that this refers to data pages and not document pages.
Document Output and Preview rasterized before being printed. If you place a PDF with transparency on top of another object, the object in the back may be partially or completely hidden in your output. To print using a Windows driver: 1. From the PlanetPress Design Button, choose Print Using a Windows Driver. 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.
Document Output and Preview error occurs that stops the output in PlanetPress Design, the partial job will continue to print. This is because PlanetPress has no way to tell Windows to stop its printing and remove the job from its printer queue. Printing Using a Windows Driver Can I print using a Windows driver and how does it differ from other printing methods? PlanetPress Design lets you print your document and data using any Windows printer driver.
Document Output and Preview of an individual document page in the preview depends on the output type (printer, PlanetPress Image, PlanetPress Fax) and the condition, if any, set on the page. Use data page range: Select to specify the range of data pages in the sample data file that you want to use for this preview. Use the From and To spin boxes to enter the range. It is important to understand that this refers to data pages and not document pages.
Document Output and Preview Send to Email recipient: Select to have PlanetPress Design attach the generated soft proof to an Email message created within your default Email program. 6. If your document uses database emulation, set the refresh option. Refresh data from database: Select to have PlanetPress Design refresh the sample data file by repeating the SQL query before creating the preview. Clear to have PlanetPress Design use the sample data file in its current state.
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 | Host. 3. In the Host Type box, select Codehost BrightQ. 4. Set options for document output. Host name or IP address: Enter the host name or the IP address of the UNIX or Linux workstation.
Document Output and Preview Confirmation page: Select the type of confirmation you want to receive when PlanetPress Design performs the installation. When you select either of these two options, you should be sure that the location where you want to install the document in fact exists. l Select None to prevent a confirmation page from printing after the install. In this case, nothing confirms the installation of the document.
Document Output and Preview l In PlanetPress Suite 7.3.0 and higher, the PTZ also contains a PDF preview of the document's output, multiple data files with their associated metadata and an XML file detailing the emulation used by the document. You can verify that a given installation succeeded by navigating to the Documents folder of the appropriate PlanetPress Suite Workflow Tool installation and locating the .ptk file for the document. The .ptk file bears the same name as the PP7 file for the document.
Document Output and Preview Perform a Batch Conversion and/or Installation You can have PlanetPress Design perform one or more of the following in a single operation: l l l l l Install each document on one or more printers. Install each document in one or more installations of a PlanetPress Suite Workflow Tool. Install each document in a PlanetPress Design iWatch installation. Convert each document and save it to a file, along with the PostScript code for installing the document on the printer.
Document Output and Preview You print a document installed on a printer by sending a trigger to the printer, followed by the input data. If you run your document into your PlanetPress Suite Workflow Tool, it takes care of inserting the trigger. If you run your document directly on a printer, you must manually insert the trigger at the head of the data stream.
Document Output and Preview How you create and insert a trigger is operating system dependent. There are four common techniques to insert a trigger manually: 1. Manually concatenating two files With this technique, you add a trigger by concatenating two files where the first contains the trigger and the second contains the input data. You send the concatenated file to the printer using the DOS Copy command or the file transfer protocol (FTP). 2.
Document Output and Preview The first line of the trigger uses the string “%!PS-Adobe” to put the printer in PostScript mode. It may also include printerspecific commands. The syntax of the second line of the trigger depends on where the document is installed in the printer: on the hard drive, in RAM, or in Flash memory. The second line, written in PostScript, tells the printer the name and location of the document, and it launches the document.
Document Output and Preview installed on the printer’s hard disk (see above). With these types of printers, the syntax for documents that reside in the printer’s Flash memory must only be used if the printer has both a hard disk and Flash memory. Run a Document Installed on a Printer If you installed your document directly on a printer, you print it by sending a trigger to the printer followed by the input data.
Document Output and Preview Run Several Documents as a Single Job If you have several documents to run on a printer, and you are not using the PlanetPress Suite Workflow Tools to print your documents, you may find it convenient to send a single job to the printer that contains the triggers and input data for all those documents. The single job has the format: trigger1data1trigger2data2trigger3data3...
Document Output and Preview where the Document Input emulation is available (with PlanetPress Office or PlanetPress Production). Install a Objectif Lune Printer Driver (PS) The Objectif Lune Printer Driver (PS) is automatically installed during the PlanetPress Suite setup, along with a default Windows Printer Queue called PlanetPress Printer.
Document Output and Preview Data Capture from PlanetPress Design Once a shared Windows printer queue using Objectif Lune Printer Driver (PS) is installed on both the server and the client sides, data capture can be achieved the same way as with any other Windows printer queues. Data Capture from PlanetPress Design: 1. 2. 3. 4. 5. 6. 7. 8. Start PlanetPress Design. Choose Tools | Data Capture | Windows Queue Input.
©2010 Objectif Lune Inc - 684 -
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 693) "Work in the Code Area" (page 694) "Use Command Name Completion/Argument Insertion" (page 694) "Undo Commands" (page 694) "Work with Selections" (page 694) "Add/Remove Comments" (page 695) "Indent Code" (page 695) "Search" (page 695) "Jump to a Specific Line" (page 695) "Use Bookmarks" (page 695) "Execute a Program" (page 695) "Debug Code" (page 696) 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 - 700 -