Print via Flash
From Directorforum Collaboration Wiki
How to print with Director / Shockwave using an empty Flash sprite.
This article is a work in progress, but maybe these first steps help you to understand how to print using Flash in Director. You're very welcome to enhance and extend this article.
Contents |
Example
Hit the button and print to a PDF or printer if you like.
Code
The below is a sprite behavior that has to be attached to an empty Flash movie sprite.
property pSprite property pPrintJob property pPrintJobStarted property pMC property pTextFormat on beginSprite me pSprite = sprite(me.spriteNum) end on lbxCreatePrintJob me pPrintJob = pSprite.newObject("PrintJob") lbxCreatePrintObject() pPrintJobStarted = pPrintJob.start() if pPrintJobStarted then lbxAddPrintPage() lbxSendPrintJob() lbxDeletePrintJob() end if end on lbxSendPrintJob me pPrintJob.send() end on lbxDeletePrintJob me pPrintJobStarted = VOID pPrintJob = VOID end on lbxAddPrintPage me pPrintJob.addPage(pMC, {xMin : -300, xMax: 300, yMin: 400, yMax: 800}) end on lbxCreatePrintObject me -- creates a MovieClip to be printed pMC = pSprite.createEmptyMovieClip("myMC", pSprite.getNextHighestDepth()) -- create text field format lbxCreateTextFormat() -- add first text field pTextField = pMC.createTextField("my_txt", pMC.getNextHighestDepth(), 0, 0, 612, 50) pTextField.multiline = TRUE pTextField.wordWrap = TRUE pTextField.autoSize = "left" pTextField.border = FALSE pTextField.text = "Hello world, let's see if this will work as expected." pTextField.setTextFormat(pTextFormat) -- add second text field pTextField2 = pMC.createTextField("my_txt2", pMC.getNextHighestDepth(), 0, 400, 612, 50) pTextField2.multiline = TRUE pTextField2.wordWrap = TRUE pTextField2.autoSize = "left" pTextField2.border = FALSE pTextField2.text = "Will be fun if it works!" pTextField2.setTextFormat(pTextFormat) end on lbxCreateTextFormat me pTextFormat = pSprite.newObject("TextFormat") pTextFormat.font = "Consolas" -- string, font name pTextFormat.size = 14 -- number, text size in points pTextFormat.color = "0x000000" -- string with hex color value pTextFormat.bold = FALSE -- TRUE, FALSE pTextFormat.italic = FALSE -- TRUE, FALSE pTextFormat.underline = FALSE -- TRUE, FALSE pTextFormat.align = "left" -- left, right, center, justify pTextFormat.blockIndent = 0 -- indent of a text block in points pTextFormat.indent = 0 -- indent of a text paragraph in points pTextFormat.leftMargin = 20 -- left margin of a text paragraph in points pTextFormat.rightMargin = 20 -- right margin of a text paragraph in points pTextFormat.bullet = FALSE -- TRUE, FALSE pTextFormat.kerning = TRUE -- TRUE, FALSE pTextFormat.letterSpacing = 0 -- number of pixels to add to or subtract from horizontal distance of letters pTextFormat.tabStops = VOID -- Array of tab stops in pixels pTextFormat.url = VOID -- URL a text with this format is linked to pTextFormat.target = VOID -- _self, _top, _parent, _blank pTextFormat.leading = VOID -- vertical distance of text lines in pixels end
Download
lbxPrintJob.zip (10KB)
