<doc>
	<legacy_id>1970</legacy_id>
	<name>print</name>
	<type>command</type>

	<syntax>
		<example>print <i>card</i> [from <i>topLeft</i> to <i>rightBottom</i>] [into <i>pageRect</i>]</example>
		<example>print {<i>stack</i>|<i>card</i>|{marked|<i>number</i>|all} cards} [into <i>pageRect</i>]</example>
		<example>print {<i>stack</i>|<i>card</i>|{marked|<i>number</i>|all} cards} [from <i>leftTop </i>to <i>rightBottom</i>]</example>
		<example>print break&gt;</example>
	</syntax>

	<synonyms>
	</synonyms>

	<summary>Prints one or more <glossary tag="card">cards</glossary>.</summary>

	<examples>
<example>print card 1</example>
<example>print stack "Output" into 100,100,450,410</example>
<example><p>print this card from 0,0 to the mouseLoc</p></example>
<example>print marked cards into the rect of graphic "printArea"</example>
<example><p>open printing</p><p>repeat with x = 1 to the number of cards</p><p>   print card</p><p>end repeat</p><p>close printing</p></example>
	</examples>

	<history>
		<introduced version="1.0">Added.</introduced>
		<deprecated version=""></deprecated>
		<removed version=""></removed>
		<changed version="4.6.1">4.6.1</changed>
		<experimental version=""></experimental>
		<nonexperimental version=""></nonexperimental>
	</history>

	<objects>
	</objects>

	<platforms>
		<mac/>
		<windows/>
		<linux/>
		<ios/>
	</platforms>

	<classes>
		<desktop/>
		<web/>
		<mobile/>
	</classes>

	<security>
		<printing/>
	</security>


	<classification>
	</classification>

	<references>
		<command tag="cancel printing">cancel printing Command</command>
		<command tag="reset printing">reset printing Command</command>
		<command tag="answer page setup">answer page setup Command</command>
		<command tag="revBrowserPrint">revBrowserPrint Command</command>
		<command tag="close printing">close printing Command</command>
		<command tag="revPrintReport">revPrintReport Command</command>
		<command tag="answer printer">answer printer Command</command>
		<property tag="printPageNumber">printPageNumber Property</property>
		<property tag="printTitle">printTitle Property</property>
		<property tag="printCollate">printCollate Property</property>
		<property tag="printDuplex">printDuplex Property</property>
		<property tag="printRectangle">printRectangle Property</property>
		<property tag="printFontTable">printFontTable Property</property>
		<property tag="printCommand">printCommand Property</property>
		<property tag="printGutters">printGutters Property</property>
		<property tag="printRowsFirst">printRowsFirst Property</property>
	</references>

	<description>
	<overview>Use the <b>print</b> <glossary tag="command">command</glossary> to print out a <keyword tag="card">card</keyword>, a set of <glossary tag="card">cards</glossary>, or all the <glossary tag="card">cards</glossary> of a <object tag="stack">stack</object>.</overview>

		<parameters>
  <parameter>
    <name>stack</name>
    <description>Any open stack. If you specify a stack, all the cards of that stack are printed. (You can print a stack even if its window isn't visible).</description>
  </parameter>
  <parameter>
    <name>card</name>
    <description>Any card reference. If you specify a card, that single card is printed.</description>
  </parameter>
  <parameter>
    <name>number</name>
    <description>The number of cards to print, starting with the current card.</description>
  </parameter>
  <parameter>
    <name>pageRect</name>
    <description>The rectangle into which the card is printed, and consists of four integers separated by commas: the left, top, right, and bottom edges of the printed card, in points. (There are 72 points to an inch.) The card is scaled to fit the specified pageRect. If you don't specify a pageRect, the card's size depends on the printScale property.</description>
  </parameter>
  <parameter>
    <name>leftTop</name>
    <description>The points specifying the portion of the card to be printed. Each point consists of two integers separated by a comma: the horizontal distance in pixels from the left edge of the card window to the point, the vertical distance from the top edge to the point. '0,0'. If you don't specify a leftTop and rightBottom, the entire visible portion of the card is printed.</description>
  </parameter>
  <parameter>
    <name>rightBottom</name>
    <description>The points specifying the portion of the card to be printed. Each point consists of two integers separated by a comma:the horizontal distance in pixels from the left edge of the card window to the point, the vertical distance from the top edge to the point. '0,0'. If you don't specify a leftTop and rightBottom, the entire visible portion of the card is printed.</description>
  </parameter>		</parameters>

	<value></value>
	<comments>The <b>print</b> <glossary tag="command">command</glossary> prints only the area of a <keyword tag="card">card</keyword> that is visible in the stack window. To print an area of a <keyword tag="card">card</keyword> whose <glossary tag="object">objects</glossary> extend beyond the window boundaries, either set the <glossary tag="stack">stack's</glossary> <keyword tag="rectangle">rectangle</keyword> so it's large enough to hold all the <glossary tag="object">objects</glossary> to print, or use the print...from form of the <b>print</b> <glossary tag="command">command</glossary>.<p></p><p>To print multiple cards selected one at a time, start with the <command tag="open printing">open printing</command> <glossary tag="command">command</glossary>, issue any <b>print</b> <glossary tag="command">commands</glossary> you want, then use the <command tag="close printing">close printing</command> <glossary tag="command">command</glossary> to print all the <glossary tag="card">cards</glossary> you specified in the <b>print</b> <glossary tag="command">commands</glossary> as a single batch.</p><p></p><p>If you specify a form that includes more than one card (such as print stack), the cards may be printed more than one to a page, depending on the size of the cards and on whether you specify a <i>pageRect</i>.</p><p></p><p>The print <keyword tag="marked">marked</keyword> cards form prints all the cards in the current stack whose <command tag="mark">mark</command> <glossary tag="property">property</glossary> is set to true.</p><p></p><p>The print all cards form is equivalent to print this stack.</p><p></p><p>The print break form forces a page break.</p><p></p><p></p><p></p><note>If a <keyword tag="card">card</keyword> is larger than a full page, the <command tag="print">print command</command> prints only the first page of the <keyword tag="card">card</keyword>, starting at the top left corner. To print the entire <keyword tag="card">card</keyword>, use the <b>print</b>...into pageRect form to scale the card to the page.</note><p></p><p>LiveCode visits each card as it's printed, returning to the original card when the printing is done, but it doesn't send any system messages such as <message tag="openCard">openCard</message> while moving from <keyword tag="card">card</keyword> to <keyword tag="card">card</keyword> during printing. If you don't want the user to see these card changes, set the <property tag="lockScreen">lockScreen</property> <glossary tag="property">property</glossary> to true before you print.</p><p></p><p></p><p></p><cp_note>On <glossary tag="Mac OS">Mac OS</glossary> and <glossary tag="Windows">Windows systems</glossary>, the <b>print</b> <glossary tag="command">command</glossary> uses the current printer. On <glossary tag="Unix">Unix systems</glossary>, the <b>print</b> <glossary tag="command">command</glossary> creates a <glossary tag="PostScript">PostScript file</glossary> and runs the program specified in the <property tag="printCommand">printCommand property</property>, with the <keyword tag="file">file</keyword> as input.</cp_note></comments>
	</description>
</doc>