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 Data Selector Display Preferences 79 Dock and Undock Areas of the Program Window 80 Minimize and Customize the Ribbon 80 Show or Hide Areas of the Program Window 80 Resize the Program Window Area 81 Data in PlanetPress Design 83 Sample Data File 83 Capturing Data 85 Capture Sample Data Using the Data Capture Tool 85 LP
Table of Content Setting Up Pages 115 Page Properties 115 Page Types 117 Normal Page 117 Overlay Page 117 Virtual Page 118 Execution Order of Pages 118 Advanced Paper Handling 118 Associate Attachments with a Page 119 Add or Remove Overlays 119 PlanetPress Design Objects 121 View or Edit the Properties of an Object 121 Basic Attributes 121 Repeat 122 Snapping Points 124 Manipulation 124 PlanetPress Talk Before and PlanetPress Talk After 125 Preview options 125 Line Repea
Table of Content N-Up Object 147 Picture Object 148 Barcode Object 150 Supported Barcodes 150 Australia Post 150 Aztec 151 CEPNet (Brazilian Postal Code) 151 Codabar 151 CodablockF 151 Code 11 152 Code 16k 152 Code 39 152 Code 49 153 Code 93 154 Code 128 155 Datamatrix 156 Discrete 2 of 5 157 FIM 157 GS1 Databar (RSS) 157 IMB/OneCode 157 Interleaved 2 of 5 157 Japan Post 158 Maxicode 158 Micro PDF417 158 Micro QR 158 MSI Plessey 159 PDF417 159 Plessey
Table of Content Image Glossary 174 Scanline Orientation 175 Image Quality Settings 176 Caches 176 Host-Based Cache 177 Printer-Based Cache 177 Adding Image Resources 177 Guidelines for Optimizing Images 178 Modifying and Updating Images 178 Color Management and Matching 179 PostScript Attachments 181 Delete a Resource 182 Conditions 185 Conditions 185 Global Conditions 185 Local Conditions 185 Line Conditions 185 Create or Remove a Line Condition 186 Variables 187 Pla
Table of Content Show or Hide the Commands Area or Spy List 206 Adjust the Sizes of the Commands Area, Code Area and Spy List 207 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 210 Physical Location of Dynamic Images 210 Host-Based or Printer-
Table of Content Language Reference (Alphabetical) 241 % (procedure) 241 Current (system object) 241 ¤titeration (variable) 243 &Document (system object) 244 &EOJob (system variable) 244 &FirstSide (system variable) 244 &Height (system variable) 245 &iterationcount (variable) 245 lastoverflowcount (variable) 245 &Metamode (variable) 245 Physical (system object) 246 &PrinterMode (system variable) 246 Script (system object) 247 &Str (system variable) 248 &system (system ob
Table of Content ClosePath (procedure) 263 Cos (function) 263 CRLF (procedure) 264 CurToStr (function) 264 CurToFloat (function) 265 CurveTo/RCurveTo (procedure) 265 Date (function) 266 Define (procedure) 267 DefineData (procedure) 267 DefineImageIndex (procedure) 268 Definemeta (function) 268 Div (function) 269 DoForm (procedure) 270 endpageset (procedure) 270 EPSWidth/EPSHeight (function) 271 Eq (function) 272 ExecPage (procedure) 272 ExecScriptFile (function) 273 Exit
Table of Content IntToStr (function) 294 IsNumber (function) 295 IsPageEmpty (function) 295 LE (function) 295 Left (function) 296 Length (function) 297 LineTo/RLineTo (procedure) 297 LowerCase (function) 298 LT (function) 298 MapUTF8 (function) 299 Margin (procedure) 301 Mid (function) 301 Mod (function & procedure) 302 MoveTo/RMoveTo (procedure) 303 Mul (function) 303 NE (function) 304 Neg (function) 305 Not (Boolean operator function) 305 Object $name()...
Table of Content SetBodyText (procedure) 325 SetDash(procedure) 325 SetDataPage(procedure) 326 SetEmailAddress (procedure) 326 SetEmailSubject (procedure) 326 SetEmulation(procedure) 326 SetUserCRLF (procedure) 327 SetFaxInformation (procedure) 327 SetFaxNumber (procedure) 328 SetFillColor (procedure) 328 SetImageIndex (procedure) 329 SetLineWidth (procedure) 329 SetLPP(procedure) 330 SetPDFBookmark (procedure) 330 SetStrokeColor (procedure) 331 SetStyle (procedure) 331 SetS
Table of Content ShowBarcodeRSS (procedure) 351 ShowBarcodeUPCA (procedure) 351 ShowBarcodeUPCE (procedure) 352 ShowBitmap (procedure) 353 ShowCaptureUserArea (procedure) 354 ShowEPS (procedure) 355 ShowLeftRight (procedure) 356 ShowPage (procedure) 356 ShowPDF (procedure) 357 ShowUTF8 (procedure) 358 ShowUTF8Left / ShowUTF8Right / ShowUTF8Center (procedure) 359 Sin (function) 360 StopJob (procedure) 361 Store (procedure) 361 StringReplace (function) 361 StringWidth (function)
Table of Content = (operator) 379 Mathematical Operators and Operator Functions 379 + (operator & function) 379 Add (function) 380 – (operator) 380 Sub (function) 380 Asterisk (*) operator 381 Mul (function) 381 / (operator) 381 Div (function) 381 Neg (function) 382 Cos (function) 382 Sin (function) 383 Random (function) 384 Ceil (function) 384 String Operator 385 + (operator & function) 385 Boolean Operator Functions 385 And (Boolean operator function) 385 Not (Boolea
Table of Content Repeat...
Table of Content Rectangle (procedure) 433 RectFill (procedure) 433 RectFillStroke (procedure) 434 RectStroke (procedure) 435 Repeat...
Table of Content ShowBarcodeISBN (procedure) 460 ShowBarcodeJapanpost (procedure) 460 ShowBarcodeMaxicode (procedure) 461 ShowBarcodeMicroPDF (procedure) 461 ShowBarcodeMicroQR (procedure) 462 ShowBarcodeMSI (procedure) 463 ShowBarcodeOnecode (procedure) 463 ShowBarcodePDF417 (procedure) 464 ShowBarcodePlessey (procedure) 464 ShowBarcodePostnet (procedure) 465 ShowBarcodeQRCode (procedure) 465 ShowBarcodeRoyalMail (procedure) 466 ShowBarcodeRSS (procedure) 466 ShowBarcodeUPCA (pro
Table of Content GetMagenta (function) 489 Getmeta (function) 489 Getmetacount (function) 491 GetYellow (function) 492 IsNumber (function) 492 IsPageEmpty (function) 493 Left (function) 493 Length (function) 493 LowerCase (function) 494 MapUTF8 (function) 495 Mid (function) 496 Mul (function) 497 Ord (function) 497 PDFPageCount (function) 498 PDFWidth/PDFHeight (function) 498 PixelHeight (function) 499 PixelWidth (function) 499 Pos (function) 499 Random (function) 500
Table of Content StrToCur (function) 514 Integer 514 Add (function) 514 Ceil (function) 515 Div (function) 515 FieldCount (function) 516 FloatToInt (function) 516 Get (function) 516 GetBlack (function) 517 GetCyan (function) 517 GetMagenta (function) 518 GetYellow (function) 518 Getmetacount (function) 519 If (function) 520 Length (function) 520 Mod (function & procedure) 521 Mul (function) 522 Neg (function) 522 Ord (function) 523 PDFPageCount (function) 524 PixelHe
Table of Content String 538 @ (function) 538 C128 (function) 539 Char (function) 539 CurToStr (function) 540 ExpandString (function) 540 Field (function) 540 FieldName (function) 541 FloatToStr (function) 541 Get (function) 542 If (function) 543 IntToStr (function) 543 Left (function) 544 LowerCase (function) 545 Mid (function) 545 Right (function) 546 StringReplace (function) 546 Strip (function) 547 Trim (function) 548 TrimLeft (function) 548 TrimRight (function)
Table of Content @name (function/procedure) 562 Function @name (procedure) 562 Comments 565 % (procedure) 565 Graphics State 565 GRestore (procedure) 565 GSave (procedure) 566 Scale (procedure) 567 SetAngle (procedure) 567 SetDash(procedure) 568 SetFillColor (procedure) 568 SetLineWidth (procedure) 569 SetStrokeColor (procedure) 569 Translate (procedure) 570 Path 571 Arc and ArcN (procedures) 571 ClosePath (procedure) 572 CurveTo/RCurveTo (procedure) 573 Fill (procedure)
Table of Content ShowBarcodeCode11 (procedure) 593 ShowBarcodeCode128 (procedure) 594 ShowBarcodeCode16k (procedure) 594 ShowBarcodeCode39 (procedure) 595 ShowBarcodeCode49 (procedure) 595 ShowBarcodeCode93 (procedure) 596 ShowBarcodeDatamatrix (procedure) 596 ShowBarcodeEAN8 (procedure) 597 ShowBarcodeEAN13 (procedure) 598 ShowBarcodeFIM (procedure) 598 ShowBarcodeI2of5 (procedure) 599 ShowBarcodeISBN (procedure) 599 ShowBarcodeJapanpost (procedure) 600 ShowBarcodeMaxicode (proce
Table of Content SetFaxInformation (procedure) 617 SetFaxNumber (procedure) 618 SetImageIndex (procedure) 618 SetPDFBookmark (procedure) 619 Document Pages 620 @page (procedure) 620 ExecPage (procedure) 620 ShowPage (procedure) 621 PPDs and PostScript 622 CallPPD (procedure) 622 PassThrough (procedure) 622 RunPS (procedure) 623 SelectMedia (procedure) 623 Program Control 624 Exit (procedure) 624 For… EndFor (procedure) 624 If … ElseIf… EndIf (procedure) 625 Repeat...
Table of Content 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 and Save It to a Fi
Table of Content Work in the Document Structure Area 686 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 689 Work with Objects 690 Work in the Text Properties of a Text Object 691 PlanetPress Talk Editor 691 General 692 Show or Hide Areas of the Editor 692 Expand or Collapse Groups in the Command
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. Data Selector Display Preferences The Data Selector Preferences are accessible through the "Sector Options" tab in the "Data" tab of the Data Selector.
The PlanetPress Design Program are distinct from those available when you create a style. While you can edit the encoding table a style uses, you cannot edit the system-level encoding table. If you see discrepancies between the glyphs that represent your sample data file in the Data Pane and those that appear in the data selections on the document page, the source of the discrepancy may be the encoding tables. 4. Click OK.
The PlanetPress Design Program Resize the Program Window Area To resize a Program window area: l Move the pointer to the edge of an area you want to resize to display the resize pointer and click and drag to resize the area.
©2010 Objectif Lune Inc - 82 -
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.
XML Emulation 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 95). 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.
Emulation The emulation defines how your document receives and processes its input data. It is basically a method with which PlanetPress Design will read the data and display it on screen. The way data selections are made and data pages are created depends on the emulation, so it is always set at the beginning of your document creation, as you select your data file(s).
l l l l Pages in buffer: Enter the number of data pages you want the data page buffer to contain, or use the spin buttons to increment or decrement the value. Putting more pages in the buffer multiples the lines shown and is only useful in specific cases. You should also consider using the "N-Up Object" (page 147) if you want to display multiple data pages. Cut on FF character: Select to have the document start a new data page when it encounters a form feed character in the data stream.
l l the tab box below. Note that this option is available only when the Read in binary mode option is selected. l Number of spaces in the tab: Enter the number of spaces you want the application to use when an isolated carriage return character is found within the data. This number typically corresponds to the maximum column number.
Channel skip emulation options l l l l l Skip page: Enter the code used within the data to mark the beginning of each page (the number 1 in standard channel skip emulation). Note that if the standard code is used within the data as the skip page code, it is likely that the other codes are also standard, and that you only need to make minor changes to the other codes, if any. No line feed: Enter the code used within the data to indicate that the next line feed character should be ignored.
1. 2. 3. 4. Choose Tools | Open Active Data. In the Data Selector, locate the Emulation box and select Database. Click the Database Emulation Configuration button. Associate a database with the document. Microsoft Access Database or dBase file Database: Enter the path of the Microsoft Access database or dBase file, or click the Browse button to the right of the box to navigate to, the database file. Recall that a Microsoft Access database file bears the extension .
1. Open the document that uses the database emulation configuration you want to export. 2. Choose Tools | Open Active Data. 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, set the password option.Include password on export: Select to include the password required to access the database, in the exported database emulation configuration. 5. In the Database Connection dialog box, click Export. 6.
PDF page becomes a full data page. Each PDF page is thus graphically represented in the PlanetPress Design Data Pane as one data page. Note that protected PDF and PDF of versions above 1.7 are not supported by PlanetPress Suite 7. The PDF Emulation does not have any options - that is, there is nothing to set up when opening a PDF data file. PlanetPress Design simply reads each PDF file as a unique data page.
Metadata Simply put, metadata is data about data or, in other words, information tagged to data. Metadata includes information about the data file itself, the document, page properties, page counts and custom user fields. Applications or plug-ins created in PlanetPress Suite 6 and using Metadata will need to be updated for use in version 7. No backward compatibility mode is available. When a user-defined emulation is used with metadata, results and behavior are unknown and unsupported.
A single JOB can be composed of GROUPS of DOCUMENTS, which themselves are composed of physical PAGES produced by executing a PlanetPress Design document on one or more DATAPAGES. Metadata Elements 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.
Finishing attributes describe the finishing intent (e.g. page dimensions, page orientation, duplex mode, etc.). Note that the presence of some finishing attributes depends on the PlanetPress Design document and target device used when producing the job. Index/Count attributes are not part of the original metadata file. They are evaluated live based on the content of the metadata. In the following table, the last 5 columns indicate at which level the corresponding attribute is available.
Index/Count PageCount Index/Count SelectedCount Index/Count SelectedDocumentCount Index/Count SelectedDatapageCount Index/Count SelectedPageCount SelectedIndexInDocument Returns the Absolute index of the node within all the selected node Index/Count under the parent Document. SelectedIndexInGroup Returns the Absolute index of the node within all the selected node Index/Count under the parent Group.
the Open Active Data button available in the ribbon. The Data Selector is equipped with a new tab labeled Metadata. Firstly, two buttons at the top right corner of this tab allows to load or save a metadata file generated for the current sample datafile. Secondly, the metadata tab graphically displays all elements (i.e. attributes and fields) available at the current level (i.e. Page, Datapage, Document, etc.).
Metadata tab in the properties of a PlanetPress Design document allows to easily define documents or groups. Metadata Fields Metadata Fields in the properties of a PlanetPress Design document allows to easily define documents or groups.
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 108) or "FreeForm 2 Caching" (page 109). For help creating a document in VPS or VDX format, refer to "VPS Caching" (page 110). 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 Resource Options l 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. Select On file system to copy the resource files onto the printer’s hard drive at runtime; this option is recommended for documents that occupy large amounts of space.
Setting Up a Document l Vertical: Set the binding margin you want to leave along the top edge of each even-numbered page. This value is relative to the top edge of the physical page. Attachments (see also Add PostScript Attachment Resources) l l Attachments run before form: These attachments will execute before the document. Attachments run after form: These attachments will execute at the end, after the document. Job Infos ( aka jobinfo or jobinfos ) l l l Info #: The job info number.
Setting Up a Document Generic This is the default caching method, and uses PostScript level 2 in order to cache images in your job. Any image that is repeated more than once is cached and referred to throughout your job. The more an image is used, the more the job file produced by this caching method will be smaller when compared to using the None option. VPS This method is used on printers that use the CREO VPS as a RIP.
Setting Up a Document To associate a FreeForm document with a FreeForm master document: 1. 2. 3. 4. 5. In PlanetPress Design, open the document in which you want to reference the FreeForm 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. Set the Document number box to the index number of the FreeForm master document you want the document to use. 6.
Setting Up a Document 5. Repeat step 2 through step 4 for each page that you want to associate with a master document. 6. Save the document. VPS Caching PlanetPress Suite gives you the ability to send documents in the VPS format that is compatible with CREO VPS RIPs on certain types of printers. In VPS documents, overlay (fixed size) and virtual (variable size) pages defined as cacheable are placed in memory (cached) at the beginning of the job, and are referred to throughout the document.
Setting Up a Document This procedure describes how to set up a document in PlanetPress Design, so that the Create VDX action recognizes it and converts it to VDX format correctly. For help understanding and using the PlanetPress Image action, see the PlanetPress Watch or Server 6 User Guide Addendum. To create a document in VDX format: 1. In PlanetPress Design, create a new document. 2. Double-click on the Document node to display the Document properties dialog box. 3.
Setting Up a Document Document setup also involves giving the document a name, setting default printer options for the document, associating one or more attachments with the document if necessary, setting any binding margins you want the document to use, and adjusting options that can improve the document performance at runtime. Normally the default PPD can be used. However, if the default PPD fails, it is recommended you search for one made available by the manufacturer.
Setting Up a Document Tool configurations, with the exception of job info 0%, which is reserved for the job file name Info #: The job info number. Value: Enter a static text value that you want to associate with the corresponding job info reference number. If a job info value is passed by PlanetPress Suite Workflow Tool the static text value is overridden.
©2010 Objectif Lune Inc - 114 -
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 - 120 -
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 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. If the object is within a group, this is the distance to offset the left edge of the object from the left edge of the group that contains it. l Top: Set the distance to offset the top edge of the object from the top edge of the document page. l Width: Set the width of the object.
PlanetPress Design Objects 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 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. When this condition becomes true, PlanetPress Design executes the remaining objects in the page and repeats the page until all the remaining data has been processed. Line Repeat (XML): When using an XML Data file, the Line Repeat options change slightly.
PlanetPress Design Objects l 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 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. In your document, you want to reference the data on those lines or records by proceeding consecutively, one line or record at a time. You cannot accomplish your goal only by creating data selections that cover the line range.
PlanetPress Design Objects 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. You can do this to control the spacing between the two objects/groups.
PlanetPress Design Objects Text and Box Object Text and Box objects are essentially the same object. The Box object is offered as a separate menu in the ribbon for convenience - it gives you automatic starting options for borders that appear around the text object. On the other hand, the Text object will not show any borders by default. The following properties tab apply to the Text and Box options: Borders Borders are applied either through the Settings pre-defined border settings, or manually.
PlanetPress Design Objects l Round: Select to use a rectangle with rounded corners as the border of the background box. Use the Radius box to define the curve that occurs at each corner. Color l l Fill: Click to fill the object with a specific color or gradient. This enables the properties in the Fill group l Color box: View the current fill color for the background box. l Color button: Click to select the fill color for the background box using the Color Picker.
PlanetPress Design Objects l l Edit l l l l l l l PlanetPress Talk After Paragraph...: Opens the PlanetPress Talk Editor to add PlanetPress Talk code after the currently selected paragraph. See PlanetPressTalk Before and After Undo: Undo the last command. Note that not all actions can be undone. Redo: Redo the last command that was undone. Note that not all actions can be redone. Cut: Cut the currently selected text. If no text is selected, has no effect. Copy: Copies the currently selected text.
PlanetPress Design Objects 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. Font size: Enter the point size you want to use for the text. Font ratio: Enter a percentage by which you want to shrink or stretch the font spacing.
PlanetPress Design Objects 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. l To set tabs for text you enter from this point forward, click at the new paragraph position. 2. Locate the tab tool to the left of the horizontal ruler.
PlanetPress Design Objects To change the justification for a single paragraph, click anywhere in that paragraph. To change the justification for one or more contiguous paragraphs, click and drag to highlight those paragraphs. l To change the justification for text you enter from this point forward, click at the new paragraph position. 3. Locate the Text Justification toolbar. 4. Click the appropriate justification tool. l l Left justify the text. Right justify the text. Center justify the text.
PlanetPress Design Objects 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. Undo: Click to undo the most recent action. Options: Click to display the Spelling Options dialog box. Cancel: Click to exit the spell check.
PlanetPress Design Objects 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. 5. 6. In the Text area, right-click and choose Spell Check Options. In the lower right of the Spelling Options dialog box, click Dictionaries. In the Dictionaries dialog box, click New.
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 l l l l From line: Enter the line at which to start your data selection. To line: Enter the line at which to stop your data selection. If you enter 0, the data selection will extend until the end of the data page. From column: Enter the column for the character at which to start your data selection. To column: Enter the column for the character at which to stop your data selection.
©2010 Objectif Lune Inc - 146 -
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 Capture Field Type: Select which type of Capture Field you want to create 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 167). Field Style: Select which type of User Area or Pidget to create on the page: l Checkbox: Select to create simple checkbox.
ink data. List: Currently not implemented, acts the same as a text field. l Text field: Creates a single text field with no boundaries or divisions. l Multi-Area field: Creates a Capture Field that is divided into multiple sections separated by lines. The number of fields can be set statically (by entering a number in the Rows/Columns below), dynamically (by specifying a variable expression in the Rows/Columns below) or automatically (by selecting Custom in the Mask Type option and using a Mask Format).
l l l l When you add one or more Capture Fields to a page, a copyright notice automatically appears on the page indicating that the Anoto technology is being used. This notice must remain visible at all times and hiding it constitutes a violation of the PlanetPress Suite End User License Agreement (EULA). You can change the position of this notice in your document's properties (see the Resources Options section in "Set Up a Document" (page 103)).
1. 2. 3. 4. 5. Create a new Capture Field Area Set the Capture Field Type to User Area Set the Field Style to Multi-Area Field Change the Mask Type to either Custom or Regular Expression. Next to the Format List, click the Edit Masks button. To add a new mask to the list 1. Click on the button to add a new entry. 2. Double-click in the Name box and enter a name for the expression. 3. Double-click in the Value box and enter the desired expression (see below).
It is important to understand that these masks are very precise and will not accept any sort of variation. For example, the second example (phone number with extension) will only accept a 3-digit extension. A 5-digit extension could not be entered with this mask. Because the Multi-Area Field will automatically divide the field into boxes accepting one character per box, this is made clear to anyone using these boxes.
©2010 Objectif Lune Inc - 170 -
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 - 172 -
Image Resources An image resource is any sort of image (see "Supported Image Formats" (page 173)) 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: 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. Supports save quality, progressive save, and optiJPEG, JPG Bitmap Experts mized Huffman codes. Group Portable Document For- PDF Metafile PDF 1.
Term: Means: Scan res- The resolution at which you scan an image on a scanner. It refers to the number of samples per inch (spi), where olution each sample represents a single pixel in the resulting bitmapped image. Display The resolution of the monitor screen. For example 96 DPI means the screen displays 96 pixels per inch. Thus an resolution image with pixel dimensions of 96 x 96 would measure 1 inch x 1 inch on this monitor screen.
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. If you use the same bitmapped image resource in both a rotated and un-rotated presentation, you should add the image file as two distinct image resources, and set the scanline orientation for each image resource separately.
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 - 184 -
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 The scope of a variable is the context in which it is available. A variable may be available only to a specific object (a local variable), or available wherever you can enter a PlanetPress Talk expression (a system variable or a global variable).
Conditions 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 l 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. l XML/Database: Allow the selection of a single field. l Any emulation: Allow any valid PlanetPress Talk expression.
Conditions 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. Apply or Remove a Global Condition To apply a global condition to a page, object or group: l In the Structure area, drag the global condition to the page, object, or group in the Structure area to which you want to apply it, and release.
Conditions value. If you selected a variable type of directory array, enter the path to the folder containing the files you want to reference, and any filter you want to apply to names of the files in that folder, in the Path and filter box. 4. Click OK. The new global variable appears in the Global variables folder in the Structure area.
Conditions If any elements in the document reference any of the selected global variables, PlanetPress Design prompts you to define how you want to handle the deletion of each of the referenced global variables. More precisely, for each referenced global variable, it displays the Global Variable Deletion dialog box. To use the Global Variable Deletion dialog box: 1. Adjust the options to reflect how you want PlanetPress Design to handle the deletion request.
Conditions You combine conditions by creating a valid Boolean expression that references conditions as variables. You construct the expression using Boolean logic, and the four Boolean operators: AND, OR, NOT, (). Operator Description AND Operates on two conditions. The result is True only if BOTH conditions are True. Operates on two conditions. The result is True if EITHER condition is True or BOTH conditions are OR True. NOT Operates on a single condition. The result is the inverse of the condition.
Conditions 3. Do one or more of the following to combine conditions into a valid Boolean expression. As you work, PlanetPress Design reports any syntax errors in the Status area. 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.
Conditions If the Boolean expression contains a syntax error and you attempt to close the Condition properties dialog box, PlanetPress Design returns the focus to the Concatenation area of the Condition properties dialog box. You must fix the error to close the dialog box. To combine global conditions using the Object Inspector: 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.
Conditions Create, Edit, or Delete Local Conditions To create a local condition: 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.
Conditions View or Edit a Global Function To view or edit a global function: 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.
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: Help references Description: The Commands area provides a quick reference for the PlanetPress Talk language, and the command name 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.
Code Execution in the Editor When are the execution and debugging features of the Editor available? When I execute a program in the Editor, what other code executes along with it? 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.
includes the code you enter in the PlanetPress Talk code property. In a page, it includes the code for all the properties of the page as well as the code for all the objects on the page. 3. PlanetPress Talk after code The code you enter in the PlanetPress Talk after property of the element. When you execute a program in the Editor, the Editor executes all three parts of the element, in sequence.
l In the PlanetPress Talk Editor, choose File | Export. Print a Program To print the program: 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.
Adjust the Sizes of the Commands Area, Code Area and Spy List To adjust the relative sizes of the Commands area, Code area, and Spy list: 1. Position the pointer over the right edge of the Commands area, or the top edge of the Spy list to display the doubleheaded arrow pointer. 2. Click and drag to adjust the relative sizes of the Commands area, Code area, and/or Spy list. Expand or Collapse Command Groups A. Expand/collapse box B. Expanded group C.
the Code area is anywhere except the first character of the line, the Editor inserts it after the line on which you clicked; if you clicked on the first character of a line, it inserts it before that line. To enter arguments: l Use any of the following. l Argument: You can enter any argument by typing it.
2. Press CTRL+SPACE. Dynamic Images PlanetPress Talk Expressions for Dynamic Images that Reference Image Resources What do I need to know to construct a PlanetPress Talk expression for a dynamic image that references image resources? What are some examples of these expressions? You must be able to construct a PlanetPress Talk expression that resolves to the name of an image resource.
PlanetPress Talk Expressions for Dynamic Images that Reference External Images What do I need to take into account when I construct a PlanetPress Talk expression for a dynamic image that references external images? What are some examples of these expressions? 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.
set up a PlanetPress Suite Workflow Tool process that executes the document host-based. See the PlanetPress Suite Workflow Tool User Guide for help understanding and creating PlanetPress Suite Workflow Tool processes. If you select host-based when you perform either a screen or hard copy preview in PlanetPress Design, the images can exist either on the local PlanetPress Design Suite virtual disk or in a folder on the host.
To: Images must reside on the: remote instance of PlanetPress Image or PlanetPress Fax.
Expression: Specifies: not executing for a screen preview, it looks for an image in the finals folder of the default disk of the printer or an image in the finals folder of the local PlanetPress Design Suite virtual disk. If the image file is on either of these locations, it is in PostScript format. 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.
PlanetPress Talk Before and After The properties for all documents, pages and objects contain two sections named "PlanetPress Talk Before" and "PlanetPress Talk After", which are used to execute PlanetPress Talk code before or after the object is displayed on the page. 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.
Creating and using Runpages A runpage, also called control page, is a normal page in your document that is set not to eject, on which a single PlanetPress Talk object is placed. This PlanetPress Talk script is meant to control the execution of other pages and can be used for many purposes such as custom N-Up, repeating and calling overlays and underlays. To create a runpage: 1. 2. 3. 4. 5. Start with a new, blank page. Open the page's properties (see Set Up a Page).
©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 234) "Define and Assign Values to Variables" (page 234) "Select Data" (page 235) "Use Functions as Arguments" (page 235) "Debug Scripts" (page 235) "Tips and Tricks" (page 235) 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 235) "Debug Scripts" (page 235) "Tips and Tricks" (page 235) 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 236) "Store two lines of input data on one line of the data page" (page 237) "Print a page n-up" (page 238) "Print a line of text on odd-numbered pages" (page 239) "Determine the proper page to print based on the width
Command: ')),0) show(@(1,1,12)) Tells the document to: to executing the previous command. It ensures the previous command does not alter the position 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: corner of the rectangle, the width and height of the rectangle, and whether it is filled and/or stroked. 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.
Case PlanetPress Talk is case insensitive. Thus the following commands are all equivalent: 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.
l l Names can be a maximum of 50 characters in length. PlanetPress Talk variable and command names are reserved words; you cannot use any of these reserved words as a name. 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.
Measure Limit Smallest on screen 1.5 * 10-45 Largest on screen 3.4 * 1038 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.
You define an array using the define() command, and assign values to individual elements using the assignment operator (:=), the set() command or the put() command. You retrieve the value of an individual element using either the get() command, or the name of the array followed by the position of that element in the array. The position is an integer value starting at 0 for the first element of the array, and incrementing by one for each additional element.
There are a number of ways to use variables in documents. See the PlanetPress User Guide for examples of some of the most common uses people make of variables. Local, Global, and System Variables There are three categories of variables in PlanetPress Talk: system, global, and local. 1. System Variables System variables are variables that the system defines. There are two types of system variables: system variables with a global scope and system variables with a local scope.
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.
l l The translate statement in the runpage code positions the overlay on the print page. Remember that the translate command sets a new point of origin so each iteration of the loop positions its copy of the page relative to the point of origin of the last one. In the DOCPAGE code, the global variable &six advances the data selection with each iteration of the outermost loop of the runpage code. Print a line of text on odd-numbered pages This sample prints a line of text only on odd-numbered pages.
©2010 Objectif Lune Inc - 240 -
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 Screen Preview 2 Screen Preview for PlanetPress Image 3 Screen Preview for 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 484) 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.
The @ character can be the beginning of a data selection, a page call or a procedure or function call. Syntax @functionname( parameters ) integer, measure, currency, string, Boolean or no return value 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. @page (procedure) Executes the content of the specified document page, as if it were part of the calling page.
other pages in the document scale that same header to fit in the lower left corner of each page. Any modification you subsequently make to the header is automatically reflected throughout the document. Syntax $element Arguments element String value specifying the name of the element you want to execute. Examples Example 1 illustrates basic usage of the syntax. $my_square $page1 $box5 Example 2 scales the $header element to one quarter of its original size, and rotates it 90 degrees. scale( 0.25, 0.
Code Sample show('First Name: ' + @(2,12,36) + ' ' + 'Last Name: ' + @(3,12,36)) – (operator) See "Sub (function)" (page 538) and "Neg (function)" (page 534). Asterisk (*) operator See "Mul (function)" (page 533). / (operator) See "Div (function)" (page 530). Greater than (>) operator See "GT (function)" (page 552). Greater or equal to (>=) operator See "GE (function)" (page 552). Less than (<) operator See "LT (function)" (page 555). Less or equal to (<=) operator See "LT (function)" (page 555).
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. Code Sample Examples Examples 1 and 2 show both ways of adding numbers.
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.
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. The beginparagraph … endparagraph structure can contain only the following commands: setstyle(), setstyleext(), show(), and % (indicating a commented line). Any other command included within this structure will yield unpredictable results.
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. Possible values are 'left', 'right', 'center' and 'leftright' (for both left and right justification of text).
l Only UTF8 text can be displayed in a PlanetPress Talk object defined using the beginUTF8paragraph … endUTF8paragraph structure. Non-UTF8 static text should therefore be converted to its UTF8 reference using the Ansi/UTF8 Converter (place the cursor within the string and press CTRL+N). Variable text should be converted using MapUTF8 (function).
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. Example &maxwidth := bitmapwidth( 'fingerprint', 150 ) &maxheight := bitmapheight( 'fingerprint', 200 ) Breakpoint (procedure) Stops the execution of a PlanetPress Talk object when the specified expression is True.
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. The tokens and subtokens you use as arguments with this function must be defined in the PPD file associated with your document or page in the document’s or page’s Basic Attributes.
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. Example show(char(84)+char(97)+char(108)+char(107)) % This displays the word "Talk" CharPath (procedure) Creates a path in the shape and size of a text string, in the currently active style.
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.36 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 do not have to be issued in pairs. Issuing two consecutive gsave commands without a call to grestore simply replaces the previously saved parameters on the stack, while issuing two grestore commands simply restores the same stack of parameters twice.
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 553) 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 612).
Measure value specifying the distance, in inches, to offset the top edge of the picture object, from the top edge of the document page. If you set the snaptoprevious argument to a value other than 0, the value you set for the top argument becomes the vertical offset for the Snap to previous snapping point. left Measure value specifying the distance, in inches, to offset the left edge of the picture object, from the left edge of the document page.
LineTo(0.0,0.0) ClosePath() Stroke() endobject() 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.
Ord (function) Returns the ASCII value of a character. 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.
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.
page Integer value that specifies the page of the PDF Code Sample Example This example sets the variable maxwidth to the width of page 3, and the variable maxheight to the height of page 4, of the PDF named parts_manual. 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.
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.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.
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. 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.
Argument None Code Sample Example This example displays 10 random numbers between 1 and 20. 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.
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. 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 548) 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 374) "System Objects" (page 376) "Assignment Operator" (page 379) "Mathematical Operators and Operator Functions" (page 379) "String Operator" (page 385) "Boolean Operator Functions" (page 385) "Comparison Operators and Operator Functions" (page 388) "Conversion Operator Functions" (page 392) "Loop Structures" (page 397) "Condition Structures" (page 400) "Procedures" (page 403) "Functions" (page 479) 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.
pagename 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 document 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 533). 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 385) + (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 550) 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 552). 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 555).
endif() %Same statement, using the <= operator if(¤t.line <= 50) show('Top of page') endif() Less or equal to (<=) operator See "LT (function)" (page 555). 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.36 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 553) 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 do not have to be issued in pairs. Issuing two consecutive gsave commands without a call to grestore simply replaces the previously saved parameters on the stack, while issuing two grestore commands simply restores the same stack of parameters twice.
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 553) 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 612).
Measure values specifying the width and height respectively, in inches, of the object. condition Boolean value, or PlanetPress Talk expression that resolves to a Boolean value, specifying a condition on the object. angle Measure value specifying the angle of rotation, in degrees. The pivot point for the rotation is the bottom left corner of the object. setsnappingpoint Boolean value (True or False) specifying whether the object has its Set snapping point property set.
OutputDebugString (procedure) Outputs a string to the PlanetPress Talk Messages window in PlanetPress. Syntax outputdebugstring(message) 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.
Measure values representing the angles, in degrees, of both segments of the pie slice. Values increase counter clock wise, with 0 extending right from the center of the circle. 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.
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. 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.
Measure values representing the width/height, in inches, of the rectangle shape. 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 DefineAppend 1 The content of the value parameter is appended to the existing field. 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. 3 path Optional string value to specify the level where to create the metadata field. Path components cannot be indexed, and if no path is provided, the field is created at the current page level.
&maxwidth := EPSwidth('wing_nut') &maxheight := EPSheight('wing_nut') 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.
Furthermore, setting a Watch variable or job info from within the script will not return this value to the document, as these values are always passed once when the document is called, never during execution. Accessing Parameters from the script 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.
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. 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.
Syntax fieldname( index ) string value 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 540) 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 array Name of the array. 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] GetBlack (function) Returns the value of the Black 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)]) 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.
Optional integer value to define the behavior of the command when a field with the same name already exists in the current level. The flag value to enter should be the sum of all desired flags. (Eg: GetAttribute and FailIfNotFound would give a flag value of '5'). The default behavior uses 0. Name Value Behavior GetAttribute 1 Search for the name argument in the attribute collection instead of the default field collection.
% Note that using GetMeta('address[2]') would return the third value of the group level. To prevent the function from cascading up to the group level, % the NoCascade flag must be provided. And to retrieve the first two "address" fields of the group collection, the third argument must be used, set to % the proper path, thusly: GetMeta('address[1]', 2, 'Job.Group') Getmetacount (function) Returns the number of times an attribute or a field is encountered in the current metadata hierarchy.
Code Sample Example This example shows the syntax for the GetMetacount() function. % Retrieve and count the number of iterations of "address" for the current datapage Getmetacount('address') 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.
IsPageEmpty (function) Returns False if the current data page contains data, or True if it does not. Syntax ispageempty() Boolean 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.
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.
MapUTF8 (function) Converts a text string from its original encoding to UTF8. This function can be used within a ShowUTF8, ShowUTF8Left, a ShowUTF8Right, and a ShowUTF8Center procedure. Syntax maputf8( text, encoding, reversedmapping ) Arguments text 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.
showUTF8right(maputf8(@(2,15,35), 'MS-CP-1256', False),'normal') Example 2 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.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.
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() 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.
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.
pdfheight( name, page ) measure value Argument name String value that specifies the name of the PDF image resource. page Integer value that specifies the page of the PDF Code Sample Example This example sets the variable maxwidth to the width of page 3, and the variable maxheight to the height of page 4, of the PDF named parts_manual. Example &maxwidth := pdfwidth( ‘parts_manual’,3 ) &maxheight := pdfheight( ‘parts_manual’,4 ) PixelHeight (function) Returns the height, in pixels, of the specified image.
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.
for(&x,1,1,10) show(inttostr(floattoint(random()*20)+1)) crlf() endfor() 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.
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.
if(&x>1) show(right(&data,length(&data)-&x)) %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 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.
Arguments string1 String value to be removed from string2. string2 String value to change. Code Sample Example This example strips all dollar signs from a variable. Example define(&data,string,'$11.95') show(strip('$',&data)) 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.
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. Every data page always has at least one child, otherwise it wouldn't be stored in the database. Subreccount can return 0 only if the emulation is set to something other than database mode, or if the converted database is invalid. This function is only useful in database emulation mode.
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. 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.
TrimLeft (function) Removes leading spaces from a string. Syntax trimleft( string ) string value Argument string String value to trim. Code Sample Example This example makes sure * delimiters are added immediately before and after a data selection. 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.
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(). Example &month := uppercase( @(1,60,70) ) xmlCount() Counts the number of children for a specific element, according to standard XPath syntax. The return value is an integer and always returns 0 if the specified XPath is invalid or if no value is found. The XPath is always relative to the XML root path.
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.
&Current.Line (see "Current (system object)" (page 376)) &Current.LPP (see "Current (system object)" (page 376)) &Current.MediaWeight (see "Current (system object)" (page 376)) &Current.Orientation (see "Current (system object)" (page 376)) &Current.PrintPage (see "Current (system object)" (page 376)) "&PrinterMode (system variable)" (page 375) "SubRecCount (function)" (page 527) &Metamode (variable) &System.FormVersion (see "&system (system object)" (page 378)) Measure &Current.
Functions (by return value data type) This section contains a reference to all PlanetPress Talk functions, including operator functions, by the data type of their return values. l l l l l "Currency" (page 513) "Integer" (page 514) "Measure" (page 528) "String" (page 538) "Boolean" (page 550) Currency Add (function) Adds two numerical expressions. This is the functional equivalent to the + operator, when you use the + operator with numerical expressions.
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.36 IntToCur (function) Converts an integer expression into a measure value. Syntax inttocur( expression ) currency value Argument expression Integer value to be converted. StrToCur (function) Converts a string value into a currency value.
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 Ceil (function) Returns the smallest integer greater than or equal to the specified measure value. Syntax ceil( value ) integer value Argument value Measure value.
Example 1 show(inttostr(2/2)) %Displays 1 Example 2 show(floattostr(div(4.7,2.1))) %Displays 2.2381 FieldCount (function) Returns a count of fields in the current database record. Since all records always hold the same number of fields, this value will not change unless a new sample data file is used. This function is only useful in database emulation mode.
Argument array Name of the array. 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] GetBlack (function) Returns the value of the Black 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)]) 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)]) 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.
% Retrieve and count the number of iterations of "address" for the current datapage Getmetacount('address') 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.
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() Mod (function & procedure) Returns the remainder resulting from the division of two numbers. Syntax mod( number1, number2 ) number1 mod number2 integer value integer value Arguments number1 Integer value to be divided.
elseif() show(' even ') endif() show('number.') crlf() 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.
Example 1 -12 %Returns -12 -&max %Returns negative of the value of the variable &max neg(-12.45) %Returns 12.45 Ord (function) Returns the ASCII value of a character. 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.
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. 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.
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. 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() ResourceType (function) Returns the type of a resource. Recall that resources are either images or attachments.
elseif &resolution := 75 endif 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)) xmlCount() Counts the number of children for a specific element, according to standard XPath syntax. The return value is an integer and always returns 0 if the specified XPath is invalid or if no value is found. The XPath is always relative to the XML root path.
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. Code Sample Examples Examples 1 and 2 show both ways of adding numbers.
&maxwidth := bitmapwidth( 'fingerprint', 150 ) &maxheight := bitmapheight( 'fingerprint', 200 ) Cos (function) Returns the cosine value of the specified angle. 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.
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 EPSWidth/EPSHeight (function) Returns the width or height, in inches, of an Encapsulated PostScript (EPS) image resource.
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 inttofloat( expression ) measure value 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() Mul (function) Multiplies two expressions.
show(inttostr(2*2)) %Displays 4 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.
Code Sample Example This example sets the variable maxwidth to the width of page 3, and the variable maxheight to the height of page 4, of the PDF named parts_manual. Example &maxwidth := pdfwidth( ‘parts_manual’,3 ) &maxheight := pdfheight( ‘parts_manual’,4 ) 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.
Argument value Measure value specifying the angle whose sine is returned. Code Sample Example This example draws a somewhat 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() 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.
%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.
endfor() show(floattostr(&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 Example 1 and Example 2 illustrates both ways of subtracting numbers.
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. 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 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. 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.
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.
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 Get (function) Returns an element of an array. Syntax get( array, position ) array element Argument array Name of the array.
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 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.
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. 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.
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 &partname := lowercase( @(30,16,39) ) 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.
%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. 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.
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$','$','£') Strip (function) Removes all occurrences of a string within another string.
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 548) 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(). Example &month := uppercase( @(1,60,70) ) xmlGet() Retrieves a data selection value through the structure of an XML file.
define(&myVar, string, '') &myVar := xmlget('/PLANETPRESS_DATA_FILE[1]/CUSTOMER[1]/INVOICES[1]/INVOICE[1]/ITEM[1]/Description[1]') &myVar := xmlget('/MyData/CUSTOMER[1]/INVOICES[1]/INVOICE[1]/ITEM[1]/Description[1]') % This next line uses the &i variable to dynamically select an item in the invoice. Useful in a repeat & overflow % configuration, or a manual PlanetPress Talk loop through te data. Note that the variable must be converted to a string.
Example 2 show(floattostr(add(4.7,2.1))) %Displays 6.8 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.
Integer values for the bottom right corner of the rectangular region to search in the current data page. Code Sample Example This example looks for the word 'Invoice' within a region of the data page. Example if(find('Invoice',60,1,80,5)) show('Invoice') elseif() show('Sales Order') endif() 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.
Arguments expression1, expression2 Values of any type. Both expressions must be of the same type. Code Sample Examples Examples 1 and 2 illustrate both ways of comparing two expressions. Example 1 if( gt(¤t.line, 50) ) show('Bottom of page') endif() 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.
show(if(&pagenumber=1,'Customer Copy','Store Copy')) 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. Example show(if(isnumber(@(1,1,10)),'Yes','No')) IsPageEmpty (function) Returns False if the current data page contains data, or True if it does not.
show('Top of page') endif() %Same statement, using the <= operator if(¤t.line <= 50) show('Top of page') endif() LT (function) Compares two expressions of any type and returns true if the first is less than the second, false otherwise. This is the functional equivalent to the < operator. Syntax lt( expression1, expression2 ) Boolean value Arguments expression1, expression2 Values of any type. Both expressions must be of the same type.
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.line, 1) ) show('Not a new page') endif() Example 2 if(¤t.line <> 1) %Same statement, using the <> operator show('Not a new page') endif() Not (Boolean operator function) Negates the specified expression.
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() 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.
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.
"Comments" (page 565) "Graphics State" (page 565) "Path" (page 571) "Paragraphs and Text" (page 581) "Styles" (page 585) "Objects" (page 587) "Bar Codes" (page 589) "Resources" (page 608) "Elements" (page 612) "Emulation, Data File, and Data Pages" (page 613) "Data Destined for PlanetPress Image, PlanetPress Fax and PlanetPress Search" (page 616) "Document Pages" (page 620) "PPDs and PostScript" (page 622) "Program Control" (page 624) "Debugging" (page 559) Debugging Breakpoint (procedure) Stops the execu
OutputDebugString (procedure) Outputs a string to the PlanetPress Talk Messages window in PlanetPress. Syntax outputdebugstring(message) Argument message String value to display in the PlanetPress Talk Messages window. Variables 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.
define( define( define( define( define( define( define( define( define( &left_margin, measure, 1.5 ) &is_bottom, boolean, (¤t.line > 50) ) &my_array,arrayinteger,[12,3,76,109,4] ) &my_array,arrayinteger, 5 ) &prices,arraycurrency, 6) &greetings,arraystring,['hello','bonjour','ola'] ) &mustard,color,[0,12,84,16] ) &image_paths, directory, 'c:\\images\\*.JPG' ) &cost, currency, 0.00 ) Put (procedure) Assigns a value to an element of an array.
&tax_rates[2] :=32 put( &tax_rates[2], @(1,3,5) ) set( &months, ['JAN','FEB','MAR','APR','MAY'] ) set( &mustard_color,[0,20,90,16] ) set( &prices, [12.5632,18.9932,23.6651,27.0300] ) put( &imagefiles[0], 'c\\images\\sushi.png' ) Global Functions @name (function/procedure) Executes a global function or procedure created using the function() command. The @ character can be the beginning of a data selection, a page call or a procedure or function call.
&result := return-_value endfunction() Syntax for a function that does not return a value (procedure): function @name( arglist ) ... endfunction() Arguments name 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.
%==================================================== %Local variables %==================================================== define(&SB,measure,0) define(&EB,measure,0) define(&Scaling,measure,0) define(&R,measure,&W/2) %==================================================== &Scaling := (&H-&HB)/&W gsave() if(&Scaling<0.01) &Scaling := 0.
margin(cos(&SB) * &R,neg(sin(&SB) * &R)-(0.05/&Scaling)) endif() %==================================================== scale(1,1/&Scaling) if(and(gt(&SB,90),lt(&SB,270))) showright(&L+' ') elseif() show(' '+&L) endif() grestore() Comments % (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.
Syntax grestore() Argument None Code Sample Example See "GSave (procedure)" (page 566). GSave (procedure) This command saves all current system parameters, which can later be restored using the grestore command. By bracketing parts of your PlanetPress Talk programs with gsave/grestore commands, you can make sure the current system state is preserved and remains unaffected by whatever operations your program executes.
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.5 ) 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.
setangle(45.00) %Rotate subsequent commands by 45 degrees show('Some text') %Display at a 90 degree angle setangle(-90) %Cancel all rotations 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.
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]. Code Sample Example This example draws three filled rectangles.
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]. Code Sample Example This example draws two empty rectangles of different colors.
show('some more text') 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.
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. end_angle Measure value representing the end angle, in degrees, for the arc.
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() CurveTo/RCurveTo (procedure) Creates a Bezier curve.
Result: 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.
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.
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. its radius.
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.
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.5,2) lineto(0,2) closepath() stroke() 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.
closepath() strokeandfill() Paragraphs and Text BeginParagraph … EndParagraph (procedure) Delimits a paragraph of formatted text. The beginparagraph … endparagraph structure can contain only the following commands: setstyle(), setstyleext(), show(), and % (indicating a commented line). Any other command included within this structure will yield unpredictable results. A margin() command should precede the beginparagraph...
leading Measure value specifying the amount of vertical space, in inches, between each line of the paragraph. opt Optional boolean value used internally. Default value is false. forcedwordwrap Optional boolean value that forces wordwrap at the defined paragraph size. Default value is false. Code Sample Examples Example that displays a paragraph aligned to the right. Example 1 beginparagraph(1,3,0,'right',0.
Arguments Same as BeginParagraph … EndParagraph (procedure). Code Sample Example This example displays a justified paragraph with the UTF8 text running from right to left. Example 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/18) BeginUTF8Paragraph(0.0000,&width,0.0000,'leftright',0.1667,'rtl') SetStyleExt(&Style1,12.0000,0,[100],100) ShowUTF8('\u0623\u0633\u0627\u0633\u064B\u0627\u060C') EndUTF
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.
Example margin(0,0) rectstroke(0,0,3,3) moveto(0,0.5) showleftright('This fits well inside the box',3) crlf(0.1599) showleftright('But this one is a little more tight',3) Show / ShowCenter / ShowRight (procedure) These three commands are used to display simple text on the document.
SetStyle (procedure) Sets the style to be used for all subsequent commands. The specified style must already exist in the document. SetStyle() supercedes the SetFont() command. Although PlanetPress Talk still recognizes SetFont(), this behavior is unlikely to continue in future versions, and it is therefore highly recommended that you use the SetStyle() command in your scripts. Syntax setstyle( stylename ) Argument stylename Name of the style to use for all subsequent commands.
Measure value representing the point size for the font. A value of -1 use the default font size of the style specified by stylename. styleproperty Integer value representing the style property for the font: l l l 0: Normal 1: Underline 2: Outline fontcolor 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).
Argument name Name to use for the object, preceded by the dollar sign character ($). The name must conform to the rules for names described in "Names" (page 221). top Measure value specifying the distance, in inches, to offset the top edge of the picture object, from the top edge of the document page. If you set the snaptoprevious argument to a value other than 0, the value you set for the top argument becomes the vertical offset for the Snap to previous snapping point.
SetStrokeColor([0,0,0,100]) SetFillColor([0,0,0,0]) LineTo(&width,0.0) LineTo(&width,&height) LineTo(0.0,&height) LineTo(0.0,0.0) ClosePath() Stroke() endobject() Bar Codes ShowBarCode (procedure) Note: This PressTalk command is deprecated. Use instead the barcode-specific commands. Displays a specified string as a barcode. 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.
BarType: Code: 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.012) define(&BarHeight,measure,1.
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. Code Sample Example showbarcodeaustpost('56439111ABA 9') ShowBarcodeAztec (procedure) Displays a specified string as an Aztec barcode. Syntax showbarcodeaztec( str, mode, errorcorrection, barwidth) Arguments str Value of type string to display as a barcode.
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. Start The Start character of the barcode 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).
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). Code Sample Example showbarcodecodablockf('12345',12) ShowBarcodeCode11 (procedure) Displays a specified string as a Code 11 barcode.
Code Sample Example showbarcodecode11('123456789',12,true,true,false) ShowBarcodeCode128 (procedure) Displays a specified string as a Code 128 barcode. Syntax showbarcodecode128( str, subset, barwidth, readable) Arguments str Value of type string to display as a barcode. subset Integer specifying the subset of the barcode to use. Value Subset 0 A 1 B 2 C barwidth Width of one barcode bar, in mils (0.001 inch).
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. Syntax showbarcodecode39( str, barwidth, checksum, readable, readchecksum) 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).
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. Syntax showbarcodecode93( str, barwidth, readable) 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. 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.001 inch). Code Sample Example showbarcodedatamatrix('12345', 0, 5, 12) ShowBarcodeEAN8 (procedure) Displays a specified string as a EAN-8 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 showbarcodeean8('0133558',0) ShowBarcodeEAN13 (procedure) Displays a specified string as a EAN-13 barcode. Syntax showbarcodeean13( str, subset,[readable, barwidth] ) Arguments str Value of type string to display as a barcode. Subset The subset of EAN-13 to use 0 EAN-13 1 EAN-13 ext.
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. barwidth Width of one barcode bar, in mils (0.001 inch).
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. barwidth Optional width of one barcode bar, in mils (0.001 inch). Default = 12mils.
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. Code Sample Example showbarcodemaxicode('^059^042^041^059^04001^02996152382802^029840^029001^0291Z00004951^029UPSN^0290 ALPHA DR^029PITTSBURGH^029PA^030',2) ShowBarcodeMicroPDF (procedure) Displays a specified string as a Micro PDF-417 barcode.
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. Mode Integer value of the Micro QR mode to use. Value Mode 0 Alpha 1 Numeric errorcorrection Integer value of the error correction level to use.
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 showbarcodemsi('1234567') ShowBarcodeOnecode (procedure) Displays a specified string as a Onecode/IMB barcode. Syntax showbarcodeonecode( str) 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 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. truncated Boolean value to decide to use the truncated version of the barcode errorcorrection Integer value (0-8) of the error correction level to use.
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. subset Subset of the Postnet barcode to use Subset Zipcode Length 0 5 digits 1 9 digits 2 11 digits Code Sample Example showbarcodepostnet('12345',0) ShowBarcodeQRCode (procedure) Displays a specified string as a QR Code barcode.
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 showbarcoderoyalmail( str) 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.
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. 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.
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.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.
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.
Boolean value specifying whether part of the bitmap is transparent. When set to true, the bitmap image is combined with the background; otherwise it is pasted on top. duotone Colour array specifying the colour to paint all non-white pixels in the bitmap. Code Sample Examples Example 1 This example displays the bitmap image street_photo at a resolution of 72 pixels per inch, and a width of 1 inch, as a transparent bitmap image with non-white pixels set to blue.
ShowEPS (procedure) Displays an EPS image resource. Syntax showeps( resname, width, height ) Argument resname String value containing either the name of the EPS resource within the document, or the path to an EPS file . width, height Measure values specifying the width/height, in inches, the EPS occupies when it displays. Specifying a value of zero for one but not both of the two dimensions scales the EPS to fit the non-zero dimension.
Code Sample Example This example displays page 5 of the PDF image resource ’new_models’, at its default resolution. Example showpdf('new_models', 5, 0, 0) Elements $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.
translate( 8.5, 0 ) $page2 Emulation, Data File, and Data Pages 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.
DoForm (procedure) Runs the current document. This command is usually issued once a complete data page has been received and committed to buffer. 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. Syntax doform() Argument None 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.
Argument pagenum Integer value representing the page number of the data page. SetEmulation(procedure) Sets the emulation to use. Syntax setemulation( emulation ) Argument emulation Integer value indicating the type of emulation. Value: Emulation: 0 Line printer 1 ASCII 2 Comma Separated Value (CSV) 3 Channel skip 4 Database 5 XML 6 PDF SetLPP(procedure) Sets the number of lines per data page.
String value to store in the data page. Code Sample Example This example is taken for an OnReadDataPage event for a user defined emulation. It shows how to store lines of text in the current data page. It searches for a formfeed, increases the current line, stores the string, executes the document, resets the page, and then ends the search. Example search(&str,'\014') set(¤t.line,¤t.line+1) store(¤t.
Example 2 This example defines the same index term, this time without defining a length for the term. In this case the line in the PDI file becomes: ~IndexName=PONumber defineimageindex( 'PONumber' ) 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.
Arguments info String value specifying a description of the fax. 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' ) SetImageIndex (procedure) Associates a data value with a PlanetPress Search index term defined using the DefineImageIndex() command.
Example 1 setimageindex( 'PONumber', '2005') Example 2 setimageindex( 'PONumber', @(2,24,32) ) SetPDFBookmark (procedure) Creates a PDF bookmark at the current page, for the PDF files PlanetPress Image generates. This function has no effect when the output of the document is not a PDF file generated through PlanetPress Image. Syntax setpdfbookmark( name ) Arguments name String value specifying the name of the bookmark that appears in the PDF.
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. 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. If you want to include the paper handling properties in the page execution, use the $element syntax instead.
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. 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() ShowPage (procedure) Instructs the printer to output the page and move on to the next instruction.
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. The tokens and subtokens you use as arguments with this function must be defined in the PPD file associated with your document or page in the document’s or page’s Basic Attributes.
send the passthrough in both PostScript-printer centric AND PostScript-Optimized PostScript Stream modes (default behavior if the parameter is not present), and a value of 4 to send the passthrough in Windows printing mode only. Code Sample Example Refer to your PostScript manual for valid commands.
Code Sample Example define(&mcolor,string,'') &mcolor := 'White' 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 Program Control Exit (procedure) Exits from a for...endfor or repeat...until loop.
both in PlanetPress itself and when you use the Optimized PostScript Stream option. The behavior on printers (using the Printer Centric option), on the other hand, remains unchanged. Syntax for( varname, startvalue, increment, stopvalue ) … endfor() Arguments varname 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.
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. Code Sample Example This example simply prints 5 lines of text, selecting fonts according to line numbers. Example prior to version 7.
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 553) 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...
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.16) &count := 1 repeat &count := &count + 1 show('Cheers') crlf(0.16) until(&count = 10) show('---------------') crlf(0.
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.
©2010 Objectif Lune Inc - 630 -
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 87 1.208343 88 1.222232 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 87 3.069167 88 3.104445 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.
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 l l l l l "Convert a Document and Save It to a File" (page 672) "Preview a Document On Screen" (page 663) "Install a Document" (page 673) "Exclude the Sample Data File from the PP7 File" (page 677) "Move a Document between PlanetPress Design Installations" (page 677) Exclude the Sample Data File from the PP7 File To exclude the sample data file from the PP7 file: 1. Locate the PP7 file for the document you want to exclude. 2.
Document Output and Preview l l "Perform a Batch Conversion and/or Installation" (page 676) "Print a Document without Data" (page 676) Trigger What is a trigger? A trigger is two lines of PostScript that immediately precede the input data, and “triggers” the execution of a document.The trigger puts the printer in PostScript mode, and tells the printer which document to launch. You print a document installed on a printer by sending a trigger to the printer, followed by the input data.
Document Output and Preview global conditions immediately after it fills the data page buffer, and maintains the results in memory for reference as it merges the data page. It evaluates all other conditions as it prints each page of the document. When it finishes processing all pages of the document, it re-initializes, empties the buffer and reads the next data page.
Document Output and Preview Trigger Syntax What is the syntax of a trigger? In all syntax descriptions in this section, italics denote a variable, square brackets indicate the element is optional, denotes a carriage return and denotes a line feed. The general syntax for the first line of the trigger is the same for all triggers. [ printer-specific_commands ] %!PS-Adobe The first line of the trigger uses the string “%!PS-Adobe” to put the printer in PostScript mode.
Document Output and Preview [ printer-specific_commands ] %!PS-Adobe (%flash%name_of_document) run name_of_document An example of the trigger for a document named PAYROLL that resides in the printer’s Flash memory: %!PS-Adobe (%flash%PAYROLL) run PAYROLL Note that using this syntax on some printers that have only Flash memory (no hard disk) may return an error messages saying that the file or the Flash device cannot be found.
Document Output and Preview before sending it to the document. In most cases you run a document that uses database emulation in a PlanetPress Suite Workflow Tool. This makes it possible to automate the execution of the document, and ensures that the data sent to the document always reflects the contents of the database at the time the document prints. Consult the PlanetPress Workflow Tools User Guide for help printing a document that uses a database emulation.
Document Output and Preview Objectif Lune Printer Driver (PS) Introduction The Objectif Lune Printer Driver (PS) allows end-users to print directly to the PlanetPress Suite Workflow Tools from any Windows application, by using the familiar File|Print option. At the other end, PlanetPress Office and PlanetPress Production specifically can capture the incoming stream and convert it internally into a PDF file along with its metadata.
Document Output and Preview l l This will create a PostScript datafile when the option Create PDF (with Medatada) is unchecked. l This format can be obtained using any PlanetPress Suite Product; PlanetPress Design or any of the PlanetPress Suite Workflow Tools. This will create a PDF datafile when the option Create PDF (with Medatada) is checked. l This format can be obtained using PlanetPress Design and PlanetPress Office or PlanetPress Production.
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: or CTRL+SHIFT+ lation. ARROW Move the currently active cell. This shortcut collapses the current data selection to only the currently active ARROW cell. Work with the Data File Use: To: SHIFT+PAGE UP SHIFT+PAGE DOWN Move forward (SHIFT+PAGE UP) or backward (SHIFT+PAGE DOWN) one page (or (anywhere in the Data Selector, or after record set in the case of a database emulation) in the data file.
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 692) "Work in the Code Area" (page 693) "Use Command Name Completion/Argument Insertion" (page 693) "Undo Commands" (page 693) "Work with Selections" (page 693) "Add/Remove Comments" (page 694) "Indent Code" (page 694) "Search" (page 694) "Jump to a Specific Line" (page 694) "Use Bookmarks" (page 694) "Execute a Program" (page 694) "Debug Code" (page 695) 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 171).
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.
Index ©2010 Objectif Lune Inc - 699 -