<?xml version="1.0" encoding="UTF-8"?>


<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->


	
<helpdocument version="1.0">
<meta>
<topic id="textshared0101140000xml" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">Printer Setup</title>
<filename>/text/shared/01/01140000.xhp</filename>
</topic>
<history>
<created date="2003-10-31T00:00:00">Sun Microsystems, Inc.</created>
<lastedited date="2004-09-06T12:45:59">converted from old format - fpe</lastedited>
</history>
</meta>
<body>
<bookmark xml-lang="en-US" branch="index" id="bm_id3147294"><bookmark_value>printers; properties</bookmark_value>
<bookmark_value>settings; printers</bookmark_value>
<bookmark_value>properties; printers</bookmark_value>
<bookmark_value>default printer; setting up</bookmark_value>
<bookmark_value>printers; default printer</bookmark_value>
<bookmark_value>page formats; restriction</bookmark_value>
</bookmark>
<bookmark xml-lang="en-US" branch="hid/.uno:PrinterSetup" id="bm_id1751760" localize="false"/><!-- HID added by script -->
<bookmark xml-lang="en-US" branch="hid/.uno:PrinterSetup" id="bm_id3150620" localize="false"/>
<bookmark xml-lang="en-US" branch="hid/svtools:ModalDialog:DLG_SVT_PRNDLG_PRNSETUPDLG" id="bm_id3147000" localize="false"/>
<paragraph role="heading" id="hd_id3147294" xml-lang="en-US" level="1" l10n="U" oldref="1">Printer Setup</paragraph>
<paragraph role="paragraph" id="par_id3154422" xml-lang="en-US" l10n="U" oldref="2"><variable id="druckereinstellungtext"><ahelp hid="SVTOOLS:MODALDIALOG:DLG_SVT_PRNDLG_PRNSETUPDLG">Select the default printer for the current document.</ahelp>
</variable></paragraph>
<section id="howtoget">
  <embed href="text/shared/00/00000401.xhp#drucker"/>
</section>
<paragraph role="note" id="par_id3148620" xml-lang="en-US" l10n="U" oldref="20">You might experience a slight delay when you change the default printer for a document that contains embedded $[officename] OLE objects.</paragraph>
<paragraph role="heading" id="hd_id3145345" xml-lang="en-US" level="2" l10n="U" oldref="4"><switchinline select="sys"><caseinline select="WIN">Printer 
</caseinline></switchinline></paragraph>
<paragraph role="paragraph" id="par_id3145211" xml-lang="en-US" l10n="U" oldref="5"><switchinline select="sys"><caseinline select="WIN">Lists the information that applies to the selected printer. 
</caseinline></switchinline></paragraph>
<paragraph role="paragraph" id="par_id3148538" xml-lang="en-US" l10n="U" oldref="19">If the list is empty, you need to install a default printer for your operating system. Refer to the online help for your operating system for instructions on how to install and setup a default printer.</paragraph>
<bookmark xml-lang="en-US" branch="hid/svtools:ListBox:DLG_SVT_PRNDLG_PRNSETUPDLG:LB_NAMES" id="bm_id3147574" localize="false"/>
<paragraph role="heading" id="hd_id3154381" xml-lang="en-US" level="3" l10n="U" oldref="6">Name</paragraph>
<paragraph role="paragraph" id="par_id3156155" xml-lang="en-US" l10n="U" oldref="7"><ahelp hid="SVTOOLS:LISTBOX:DLG_SVT_PRNDLG_PRNSETUPDLG:LB_NAMES">Lists the installed printers on your operating system. To change the default printer, select a printer name from the list.</ahelp></paragraph>
<paragraph role="heading" id="hd_id3156153" xml-lang="en-US" level="3" l10n="U" oldref="8"><switchinline select="sys"><caseinline select="WIN">Status 
</caseinline></switchinline></paragraph>
<paragraph role="paragraph" id="par_id3150465" xml-lang="en-US" l10n="U" oldref="9"><switchinline select="sys"><caseinline select="WIN">Describes the current status of the selected printer. 
</caseinline></switchinline></paragraph>
<paragraph role="heading" id="hd_id3154898" xml-lang="en-US" level="3" l10n="U" oldref="10"><switchinline select="sys"><caseinline select="WIN">Type 
</caseinline></switchinline></paragraph>
<paragraph role="paragraph" id="par_id3156326" xml-lang="en-US" l10n="U" oldref="11"><switchinline select="sys"><caseinline select="WIN">Displays the type of printer that you selected. 
</caseinline></switchinline></paragraph>
<paragraph role="heading" id="hd_id3149416" xml-lang="en-US" level="3" l10n="U" oldref="12"><switchinline select="sys"><caseinline select="WIN">Location 
</caseinline></switchinline></paragraph>
<paragraph role="paragraph" id="par_id3149955" xml-lang="en-US" l10n="U" oldref="13"><switchinline select="sys"><caseinline select="WIN">Displays the port for the selected printer. 
</caseinline></switchinline></paragraph>
<paragraph role="heading" id="hd_id3145316" xml-lang="en-US" level="3" l10n="U" oldref="14"><switchinline select="sys"><caseinline select="WIN">Comments 
</caseinline></switchinline></paragraph>
<paragraph role="paragraph" id="par_id3155923" xml-lang="en-US" l10n="U" oldref="15"><switchinline select="sys"><caseinline select="WIN">Displays additional information for the printer. 
</caseinline></switchinline></paragraph>
<bookmark xml-lang="en-US" branch="hid/svtools:PushButton:DLG_SVT_PRNDLG_PRNSETUPDLG:BTN_PROPERTIES" id="bm_id3159413" localize="false"/>
<paragraph role="heading" id="hd_id3149669" xml-lang="en-US" level="3" l10n="U" oldref="16">Properties</paragraph>
<paragraph role="paragraph" id="par_id3149045" xml-lang="en-US" l10n="U" oldref="17"><switchinline select="sys"><caseinline select="WIN"><ahelp hid="SVTOOLS:PUSHBUTTON:DLG_SVT_PRNDLG_PRNSETUPDLG:BTN_PROPERTIES">Changes the printer settings of your operating system for the current document.</ahelp>
</caseinline></switchinline></paragraph>
<paragraph role="warning" id="par_id3157322" xml-lang="en-US" l10n="U" oldref="18">Ensure that the Landscape or Portrait layout option set in the printer properties dialog matches the page format that you set by choosing <emph>Format - Page</emph>.</paragraph>
</body>
</helpdocument>
