NEC MultiWriter PS PPD for Chrome OS

===============================================================================
License Agreement
===============================================================================

The license agreement for this PPD file (hereinafter referred to as the PPD FILE) is described as follows.

1. Intellectual property rights in the PPD FILE shall remain in Fuji Xerox Co., Ltd. (hereinafter referred to as Fuji Xerox) as well as the original copyright holders.

2. The PPD FILE can only be used with compatible NEC MultiWriter products (hereinafter referred to as the COMPATIBLE PRODUCTS) within the country of purchase of the COMPATIBLE PRODUCTS.

3. You are required to abide by the cautions and limitations (hereinafter referred to as the CAUTIONS AND LIMITATIONS) declared by NEC Corporation (hereinafter referred to as NEC) and Fuji Xerox while using the PPD FILE.

4. You are not permitted to alter or modify the whole or any part of the PPD FILE.

5. You are not permitted to distribute the PPD FILE on a communication network, or transfer, sell, rent or license the PPD FILE to any third party.

6. NEC, Fuji Xerox, NEC's channel partners and authorized dealers, and the original copyright holders of the PPD FILE shall not be responsible for any warranty or liability with respect to the PPD FILE.

---------------------------------------------------
Cautions and Limitations
---------------------------------------------------
* Caution for printing odd-number pages with 2-Sided Printing
   If you are printing documents with odd-number of pages, a blank page may be added to the last page depending on the settings of the operating system  (referred to as "OS" hereinafter). Some application software will automatically insert blank sheet for page adjustment according to the condition for specifying print quantities. As this behavior is a specification of the application software, it is not possible to configure this software or the device to prevent blank sheet from being inserted to the printout. The target device will print the data as it is received after it is edited and printed from the client's side according to the operating system or application software specification. If the document data to be printed consist of blank-sheet data inserted by the operating system or application software, this blank sheet will be counted as part of the print data.

* Caution for printing black and white document
   Depending on the application program, black and white document may be printed in color as black can be output in process black (C=M=Y). To prevent this, it is recommended to set [Color] to [Black & White] when printing black and white documents.


-------------------------------------------------------------------------------
(C) Fuji Xerox Co., Ltd. 2020
