{ "type": "class",
  "qname": "mx.printing.FlexPrintJob",
  "baseClassname": ""
  ,
    "description": "The FlexPrintJob class is a wrapper for the flash.printing.PrintJob class. It supports automatically slicing and paginating the output on multilple pages, and scaling the grid contents to fit the printer's page size.",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/FormPrintHeader.mxml -noswf", "examples/FormPrintFooter.mxml -noswf", "examples/FormPrintView.mxml -noswf", "examples/PrintDataGridExample.mxml"]},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.9.3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.printing.FlexPrintJob",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Object",
        "qname": "printJob",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The printJob property;",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.9"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "start",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Initializes the PrintJob object. Displays the operating system printer dialog to the user. Flex sets the <code>pageWidth</code> and <code>pageHeight</code> properties after this call returns.  when the print dialog box appears, or <code>false</code> if the user clicks Cancel or if an error occurs.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if the user clicks OK"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": []}
      ,
      { "type": "method",
        "qname": "addObject",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Adds a UIComponent object to the list of objects being printed. Call this method after the <code>start()</code> method returns. Each call to this method starts a new page, so you should format your objects in page-sized chunks. You can use the PrintDataGrid class to span a data grid across multiple pages.    object fits on one or more printed pages. Must be one of the constant values defined in the FlexPrintJobScaleType class.",
        "tags": [
        {  "tagName": "see",
               "values": ["PrintDataGrid", "FlexPrintJobScaleType"]},
            {  "tagName": "param",
               "values": ["obj The Object to be printed.", "scaleType The scaling technique to use to control how the"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "obj", "type": "mx.core.IUIComponent"},
        { "name": "scaleType", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "send",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Sends the added objects to the printer to start printing. Call this method after you have used the <code>addObject()</code> method to add the print pages.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ]
  }
