44
YAPD Core Based PCL Driver Customization Copyright 2011 RICOH Americas Corporation. All rights reserved. Page 1 of 44 Visit our Knowledgebase at: http://tsrc.ricoh-usa.com/ref/faq.asp 02/03/2011 Technical Information: YAPD Core Based PCL Driver Customization White Paper Document Version 1.0

White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

  • Upload
    dohanh

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Copyright 2011 RICOH Americas Corporation. All rights reserved. Page 1 of 44

Visit our Knowledgebase at: http://tsrc.ricoh-usa.com/ref/faq.asp

02/03/2011

Technical Information:

YAPD Core Based PCL Driver Customization White Paper

Document Version 1.0

Page 2: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 2 of 44

Notice: THIS DOCUMENT MAY NOT BE REPRODUCED OR DISTRIBUTED IN WHOLE OR IN PART, FOR ANY PURPOSE OR IN ANY FASHION WITHOUT THE PRIOR WRITTEN CONSENT OF RICOH COMPANY LIMITED. RICOH COMPANY LIMITED RETAINS THE SOLE DISCRETION TO GRANT OR DENY CONSENT TO ANY PERSON OR PARTY.

Copyright © 2009 by Ricoh Company Ltd.

All product names, domain names or product illustrations, including desktop images, used in this document are trademarks, registered trademarks or the property of their respective companies. They are used throughout this book in an informational or editorial fashion only. Ricoh Company, Ltd. does not grant or intend to grant hereby any right to such trademarks or property to any third parties. The use of any trade name or web site is not intended to convey endorsement or any other affiliation with Ricoh products. The content of this document, and the appearance, features and specifications of Ricoh products are subject to change from time to time without notice. While care has been taken to ensure the accuracy of this information, Ricoh makes no representation or warranties about the accuracy, completeness or adequacy of the information contained herein, and shall not be liable for any errors or omissions in these materials. The only warranties for Ricoh products and services are as set forth in the express warranty statements accompanying them. Nothing herein shall be construed as constituting an additional warranty. Ricoh does not provide legal, accounting or auditing advice, or represent or warrant that our products or services will ensure that you are in compliance with any law. Customer is responsible for making the final selection of solution and technical architectures, and for ensuring its own compliance with various laws such as the Gramm-Leach-Bliley Act, the Sarbanes-Oxley Act and the Health Insurance Portability and Accountability Act (HIPAA).

Version History:

Version Issue Date Revised item

1.0 Jan. 25, 2010 1st Release

Page 3: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 3 of 44

INDEX

1. Introduction .................................................................................................................... 5

2. Target Readers .............................................................................................................. 6

2-1 Target Models: ........................................................................................................... 6

3. Requirements ................................................................................................................. 7

3-1 Printer Driver .............................................................................................................. 7

3-2 Others: ....................................................................................................................... 7

4. Introduction to XML ........................................................................................................ 8

4-1 General Explanation .................................................................................................. 8

4-2 Example Elements and Attributes Used for Driver Customization ............................ 10

5. Modifying the RCF file .................................................................................................. 11

5-1 Before and After the Modification ............................................................................. 11

5-2 Changing the Default Driver Settings ....................................................................... 13

5-2-1 Format 1 - Changing the Default Value of a Driver Setting ................................... 13

5-3 Locking/Limiting Driver Settings ............................................................................... 18

5-3-2 Format 2 - Locking a Driver Setting to a Specific Value ........................................ 18

5-3-3 Format 3 - Selecting specific items to be included in a drop-down list .................. 18

5-4 Displaying Popup Dialogs ........................................................................................ 21

5-4-4 Format 4 - Popping up a Dialog Before Printing ................................................... 22

5-4-5 Format 5 - Popping up a Dialog With Pre-Populated Fields .................................. 22

5-4-6 Format 6 - Popping up a Dialog and Retaining User Input in that Dialog .............. 22

5-5 Combining Different Types of Customization ........................................................... 26

6. Modifying the PSD File ................................................................................................. 27

6-1 Before and After the Modification ............................................................................. 27

6-2 Extending the Max Length of the User ID ................................................................ 31

7. Modifying the JSON file ................................................................................................ 33

7-1 Before and after the modification ............................................................................. 33

7-2 Deleting One Click Presets Icons ............................................................................. 38

Page 4: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 4 of 44

8. Installing the Customized Driver................................................................................... 39

9. Appendix ...................................................................................................................... 41

9-1 Distinguishing Whether a Driver has been Customized or Not ................................ 41

9-2 Determining Which Core is Used by a PCL Driver ................................................... 42

Page 5: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 5 of 44

1. Introduction

This document describes how to customize the YAPD core based PCL driver. The procedure contained in this document can be used to do the following:

- Change the default driver settings - Lock/Limit driver settings - Popup a dialog before printing; that prompts users to enter information such as a User ID or Password. - Extend the max length of the User ID - Delete One Click Presets icons

These customizations can be done by manually editing an RCF file (.rcf), a PSD file (.psd) or a JSON file (.json) in a driver package. The contents of the RCF and PSD files are XML (Extensible Markup Language) formatted. However, only a limited understanding of XML is required. Section 4 “Introduction to XML” is a basic introduction to XML. It should provide enough information for the customizations in this document. The contents of the JSON file are JSON (JavaScript Object Notation) formatted, but knowledge of JSON is not required to perform the customizations described in this document. NOTE1: Customized drivers are to be released at your own risk. Please test them thoroughly and keep track of where you have deployed the customized drivers. If a problem happens using a customized driver, please test the standard driver. If the problem also affects the standard driver, please report it as a standard driver problem. NOTE2: The customization will cause the driver to lose its Microsoft logo certification. Therefore, an alert message might be displayed during installation. WHQL requirement: In order to gain Microsoft logo certification (WHQL), drivers are submitted to Microsoft for inspection. Microsoft tests the driver and grants certification if it is found to work correctly with Windows. The certification is granted in the form of a digital signature created using the contents of the driver package. If anything within the driver package is changed, the digital signature will no longer match the driver contents and the certification will be seen by Windows as invalid.

Page 6: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 6 of 44

2. Target Readers

This document is intended for the support staff of Ricoh family group companies and their subsidiaries. Do not distribute it to anyone else. 2-1 Target Models:

PRODUCT CODE COMPANY

GESTETNER LANIER RICOH SAVIN D067* MP 171 --- Aficio MP 171 --- D068 MP 171F LD 117F Aficio MP 171F 917F D069 MP 171SPF LD 117SPF Aficio MP 171SPF 917SPF D072 MP 171 LD 117 Aficio MP 171 917 D081 MP C6501 LD365C Aficio MP C6501SP C9065 D082 MP C7501 LD375C Aficio MP C7501SP C9075 D084 MP 2851SP LD528SP Afficio MP2851SP 9228S D085 MP 3351SP LD533SP Afficio MP3351SP 9233SP

D091-17 MP 4001SP LD140SP Aficio MP 4001SP 9240SP D092-17 MP 5001SP LD150SP Aficio MP 5001SP 9250SP D091-57 MP 4001G LD140G Aficio MP 4001G 9240G D092-57 MP 5001G LD150G Aficio MP 5001G 9250G

M047 SP 6330N LP235N Aficio SP 6330N MLP235n M065 SP C430DN LP137CN Aficio SP C430DN CLP37DN M066 SP C431DN LP142CN Aficio SP C431DN CLP42DN

* D067 Ricoh Latin America Only

Page 7: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 7 of 44

3. Requirements

3-1 Printer Driver

This document applies only to YAPD core based PCL drivers. Currently available YAPD core based PCL drivers (as of January 25th, 2010): - PCL6 drivers for D067 series, M047, D081 series, M065 series - PCL6 drivers for models D084 series, D091 series 3-2 Others:

- A text editor or an XML editor.

Page 8: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 8 of 44

4. Introduction to XML

4-1 General Explanation

Overview: XML (Extensible Markup Language) defines a general text-based method of organizing data. A data object in the XML specification is called an XML document. XML does not specifically define how an application should process XML documents. XML is standardized by the World Wide Web Consortium (W3C). W3C web site: http://www.w3.org/XML/ Official XML specifications are available at the W3C site, but there are plenty of other easy to follow XML tutorials on the Internet. To follow are some terms that will be used throughout this document. Please familiarize yourself with them. Elements and tags: An XML document is composed of a basic unit called an element. To distinguish each element, HTML-like tags are used: Start-tag: <element> End-tag: </element> Element contents are contained between these tags. Example:

<memo>This is a pen.</memo> Hierarchy: One of the main features of XML is that data is organized into a hierarchical tree structure. Example of an XML document:

<memo> <date> 4/21/2008 </date> <author> <id> 0001 </id> <name> John Doe </name> </author> <titile> Pen </title> <text> This is a pen.</text> </memo>

Page 9: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 9 of 44

NOTE: Spaces or tabs input in front of the start-tags are not mandatory, but are sometimes inserted automatically by XML editors or manually by authors to make the file easier to read. Tree structure of the above example: The element at the root of the tree is called the root element. There is only 1 root element in an XML document. In this example, “memo” is the root element. All other elements are children of “memo” and “memo” is the parent of all elements. “author” is both a child of “memo” and a parent of “id” and “name. Attribute: Attributes are additional information about elements. Elements can have multiple attributes in the start-tag. Example:

<memo security="low"> This is a pen.</memo> In this example, “security” is the attribute of the element “memo”. “low” is the value of the attribute. Empty element: In XML documents, there can be elements that do not have any content or child elements. Such an element is called an empty element. The start-tag and end-tag are not necessary for empty elements. A special tag called an empty-element tag can be used: Empty-element tag: <element/>

memo

date author title text

id name content content content

content content

root element

Page 10: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 10 of 44

Example: <memo/>

4-2 Example Elements and Attributes Used for Driver Customization

During the driver customization procedure, we will edit some of the driver’s XML elements and attributes. This will be explained in greater detail in section 5 “Modifying the RCF file” and section 6 “Modifying the PSD file”. To follow is an example of an edited RCF file. Example - Make duplex (“Open to Left”) default:

<?xml version="1.0" encoding="utf-8"?> <rcf version="1.0"> <devicesettings drivername="any" independent="yes"> <item name="duplex" value="opentoleft"/> </devicesettings> </rcf>

Gray text: Original contents of the RCF file. Black text: Added manually. The first line is an XML declaration which specifies the version of XML being used. “devicesettings” is the main element used for changing the default value of a setting. “item” is a child element of “devicesettings”. Because “item” is an empty element, the empty-element tag is used. This particular element has 2 attributes: “name” and “value”. These attributes can be used to change various kinds of default settings.

Page 11: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 11 of 44

5. Modifying the RCF file

Modification of an RCF file can be used to perform the following customizations:

- Changing the default driver settings - Locking/Limiting driver settings to certain values - Displaying popup dialogs prompting users to input information such as a User ID or Password before printing.

The XML syntax used to perform the customizations will be any of 6 basic types. These are described as “Format 1 – 6” in later sections. NOTE: The contents are RCF files are case-sensitive. 5-1 Before and After the Modification

Before the modification: Prepare a set of driver files and locate the file with the extension “.rcf”. There will only be one of these files.

This file needs to be modified.

Page 12: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 12 of 44

Contents of the RCF file:

To customize the driver, we will add some lines to the root element “rcf”. If you modify an RCF file, please add a comment to it. This will serve as a reminder to you or others that the file was modified, and what the purpose of the modification was. Comments can be added under the XML declaration using the following syntax:

<!-- comment -->

RCF file with comments:

NOTE: Do not use back to back hyphens (--) in the body of the comment. After the modification: Save the modified file back to its original location. For information about the installation of the customized driver, refer to section 8 “Installing the customized driver”.

Page 13: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 13 of 44

5-2 Changing the Default Driver Settings

This customization changes the default values of driver settings. The values that are restored by the Restore Defaults buttons are also changed. 5-2-1 Format 1 - Changing the Default Value of a Driver Setting

<?xml version="1.0" encoding="utf-8"?> <rcf version="1.0"> <devicesettings drivername="any" independent="yes"> <item name="AttValue1" value="AttValue2"/> </devicesettings> </rcf>

Refer to Table 5-1 for a list of AttValues that can be used with this format. Table 5-1. AttValue1 and AttValue2 (Formats 1, 2, 3)

Setting AttValue2 Job Type *

(AttValue1 = "jobtype") Normal Print normalprint Locked Print lockedprint Hold Print holdprint Stored Print storedprint Stored Print (Shared) storedprintshared Store and Print storeandprint Store and Print (Shared) storeandprintshared Document Server documentserver

Layout (AttValue1 = "layout")

1 Page per Sheet 1pagepersheet 2 Pages per Sheet 2pagespersheet 4 Pages per Sheet 4pagespersheet 6 Pages per Sheet 6pagespersheet 9 Pages per Sheet 9pagespersheet 16 Pages per Sheet 16pagespersheet

Color / Black and White

Page 14: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 14 of 44

(AttValue1 = "colorbw") Color color Black and White blackandwhite

2 sided (Duplex) (AttValue1 = "duplex")

Open to Left opentoleft Open to Top opentotop

Booklet (AttValue1 = "booklet")

Booklet booklet Input Tray

(AttValue1 = "standardpages_inputtray") Tray 1 tray1 Tray 2 tray2 Tray 3 tray3 Tray 3 (LCT) tray3lct Tray 4 tray4 Tray 5 tray5 Tray 6 tray6 Tray 7 tray7 Bypass Tray bypasstray One Sheet Tray onesheettray Front Bypass Tray frontbypasstray Large Capacity Tray largecapacitytray

Login User Name (AttValue1 = "loginusername")

(Only used for Format 2) Locked to Windows login name. Users will not be able to change the Login User Name.

@loginname

User Authentication (checkbox in the Advanced Options tab)

(AttValue1 = "userauthentication") ON (checked) on

Hard Disk (checkbox in the Accessories tab)

(AttValue1 = "acc_hdd") ON (checked) on

Page 15: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 15 of 44

Duplex Unit (checkbox in the Accessories tab)

(AttValue1 = "acc_duplexunit") ON (checked) on

Punch Unit (accessory) (AttValue1 = "punchunit")

2 holes type US2 2holestypeus2 2 and 3 holes US 2and3holestypeus 2 and 4 holes EU 2and4holestypeeu 4 holes type NE 4holestypene 4 holes type EU 4holestypeeu 3 holes type US3 3holestypeus3

Total Memory (accessory) (AttValue1 = "memory")

XXXMB XXXmb Other accessories **

(checkboxes in the Accessories tab. e.g. Finisher, optional trays) (AttValue1 = "acc_XXXX")

ON (checked) on NOTE: Available settings differ by model. * Even if the default Job Type (Normal Print) is changed to another Job Type, all jobs will continue to be processed as Normal Print jobs until credentials needed for that job type (e.g. User ID and Password for Locked Print) are input. ** Since available accessories differ from model to model, not all accessories are listed here. The AttValue1 used for a specific accessory can be found by referencing the JSON file for your language in the below location:

..\metadata\wording\Product Name\Language.json Please see section 7-1 “Before and after the modification” for information about JSON files. Below are some examples of the contents of a JSON file. The 5th line indicates that AttValue1 for “Finisher SR5000” is “acc_fin_100stpl”.

Page 16: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 16 of 44

Contents of English.json (Aficio MP C7501):

{ : : "acc_mailbox" : "&Mailbox", "acc_fin_100stpl" : "&Finisher SR5000", : "acc_interposer_2tray" : "&Twin Interposer", : "acc_ring_binder" : "&Ring Binder", : "acc_fin_50stpl_2" : "&Finisher SR4030", "acc_folding" : "&Folding Unit", "acc_interposer" : "&Interposer", "acc_copytray" : "&Copy Tray", : "acc_punch_multihole" : "&Multi-hole Punch Unit", : "acc_lct_4000" : "&Large Capacity Tray", "acc_fin_50stpl_bk_2" : "&Finisher SR4040", "acc_bookletprocessor" : "&Booklet Processor", "acc_lct_2000" : "&Wide Large Capacity Tray", : : }

Example - Making duplex (“Open to Left”) default:

<?xml version="1.0" encoding="utf-8"?> <rcf version="1.0"> <devicesettings drivername="any" independent="yes"> <item name="duplex" value="opentoleft"/> </devicesettings> </rcf>

Page 17: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 17 of 44

Example - Having the Finisher SR4030, Mailbox and Punch Unit (2 and 4 holes EU) installed by default (Model V-C3):

<?xml version="1.0" encoding="utf-8"?> <rcf version="1.0"> <devicesettings drivername="any" independent="yes"> <item name="acc_fin_50stpl_2" value="on"/> <item name="acc_mailbox" value="on"/> <item name="punchunit" value="2and4holestypeeu"/> </devicesettings> </rcf>

Notes on the customization “Changing the default driver settings”: Note1: After customizing the driver, some of the One Click Preset icons might be redundant. To delete unnecessary One Click Preset icons, refer to section 7-2 “Deleting One Click Presets icons”. For example, after making duplex default, the “Basic Setting” and “2 sided” icons have the same settings:

Note2: Some settings require that specific accessories be configured. For example, a duplex unit is required to print in duplex. If you are customizing a driver of a model that has a duplex unit as an option, and if you want the 2 sided setting to be ”Open to Left” by default, you have to also customize the driver so that the duplex unit is configured by default.

Page 18: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 18 of 44

5-3 Locking/Limiting Driver Settings

This customization locks driver settings to specific values or limits which settings are available. 5-3-2 Format 2 - Locking a Driver Setting to a Specific Value

<?xml version="1.0" encoding="utf-8"?> <rcf version="1.0"> <devicesettings drivername="any" independent="yes"> <item name="AttValue1" value="AttValue2"/> </devicesettings> <featurelock> <item name="AttValue1" fixvalue="AttValue2"/> </featurelock> </rcf>

Refer to Table 5-1 in section 5-2 for a list of AttValues that can be used with this format. The “defaultsettings” element is not required in order to lock a setting to the factory default value. If a setting is locked to a value other than the factory default and “defaultsettings” is not used, an “Unregistered” icon will be created. 5-3-3 Format 3 - Selecting specific items to be included in a drop-down list

<?xml version="1.0" encoding="utf-8"?> <rcf version="1.0"> <devicesettings drivername="any" independent="yes"> <item name="AttValue1" value="AttValue2"/> </devicesettings> <featurelock> <item name="AttValue1"> <pickone name="AttValue2"/> <pickone name="AttValue2"/> : </item> </featurelock> </rcf>

Page 19: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 19 of 44

Refer to Table 5-1 in section 5-2 for a list of AttValues that can be used with this format. Settings (AttValue2) that are not specified using the “pickone” element will be removed from the drop-down list of “AttValue1”. The “defaultsettings” element is not required in order to lock a setting to the factory default value. If a setting is locked to a value other than the factory default and “defaultsettings” is not used, an “Unregistered” icon will be created. Example - The Job Type list contains only “Normal Print” and “Locked Print” (the default value is not changed) and the color setting is locked to “Black and White”:

<?xml version="1.0" encoding="utf-8"?> <rcf version="1.0"> <devicesettings drivername="any" independent="yes"> <item name="colorbw" value="blackandwhite"/> </devicesettings> <featurelock> <item name="jobtype"> <pickone name="normalprint"/> <pickone name="lockedprint"/> </item> <item name="colorbw" fixvalue="blackandwhite"/> </featurelock> </rcf>

Notes on the customization “Locking/Limiting driver settings”: Note1: Some settings require that specific accessories be configured. For example, a hard disk unit is required to use Locked Print. If you are customizing a driver of a model that has a hard disk unit as an option, and if you want the Job Type setting be locked to “Locked Print” by default, you have to also customize the driver so that the hard disk unit is configured by default. To perform this customization, a combination of the “Changing the default driver settings” and “Locking/Limiting driver settings” customizations should be performed. For an example of this, refer to section 5-5 “Combining different types of customization” Note2: Due to incompatibilities between settings, it is necessary that some settings have priority over others. For example, the 2 sided (duplex) setting cannot be used with some paper types. The Paper Type setting has higher priority than the 2 sided setting. Therefore, even if the 2 sided setting is locked on, it will be automatically set to “Off” for certain paper types (e.g. “Transparency”). These kinds of priorities are often related to hardware accessories, such as trays, the duplex unit and hard disk unit.

Page 20: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 20 of 44

Note3: After customizing the driver, some of the One Click Preset icons might be redundant. To delete unnecessary One Click Preset icons, refer to section 7-2 “Deleting One Click Presets icons”. For example, after locking the driver to duplex, the “Basic Setting” and “2 sided” icons have the same settings:

Page 21: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 21 of 44

5-4 Displaying Popup Dialogs

The following dialogs can be popped up before printing:

- Job Type Details dialog - User Code dialog - Authentication dialog - Classification Code dialog

Such a customization can be used, for example, to force users to enter their User ID.

Job Type Details dialog (Locked Print):

User Code dialog:

Authentication dialog:

Classification Code dialog:

Page 22: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 22 of 44

5-4-4 Format 4 - Popping up a Dialog Before Printing

<?xml version="1.0" encoding="utf-8"?> <rcf version="1.0"> <popupbeforeprint type="AttValue1"/> </rcf>

Refer to Table 5-2 for a list of AttValues that can be used with this format. By default, the popup dialogs display the values that are registered in Printing Preferences. This can be changed as shown in section 5-4-2 (Format 5). With the exception of “Authentication (Single Sign-On)” (Refer to Table 5-2), none of the information entered into the pop-up when a job is submitted will be remembered for future jobs. However, this can be changed. Refer to section 5-4-3 (Format 6) below. 5-4-5 Format 5 - Popping up a Dialog With Pre-Populated Fields

<?xml version="1.0" encoding="utf-8"?> <rcf version="1.0"> <popupbeforeprint type="AttValue1"> <item name="AttValue2" defaultstring="AttValue3"/> </popupbeforeprint> </rcf>

Refer to Table 5-2, 5-3, 5-4 and 5-5 for a list of AttValues that can be used with this format. 5-4-6 Format 6 - Popping up a Dialog and Retaining User Input in that Dialog

<?xml version="1.0" encoding="utf-8"?> <rcf version="1.0"> <popupbeforeprint type="AttValue1"> <item name="AttValue2" store="yes"/> </popupbeforeprint> </rcf>

Refer to Table 5-2, 5-3 and 5-5 for a list of AttValues that can be used with this format.

Page 23: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 23 of 44

Table 5-2. AttValue1 (Formats 4, 5, 6)

Dialog to be popped up AttValue1 Job Type Details (applies to all Job Types)

jobtype

User Code usercode Authentication authentications Authentication (Single Sign-On*) singlesignon Classification Code billingcode

* Single Sign-On: The first time the authentication dialog is popped up, users must input their login user names and login passwords. These are the same as those used to login to Windows. If authentication fails, users will be prompted to try again. Values input in the dialog are stored in Printing Preferences. The authentication dialog will not be popped-up again as long as the user name and password are not changed in Printing Preferences or Windows. NOTE: In order for the Authentication dialog to be popped up by default, the driver must be customized so that the “User Authentication” checkbox in the Advanced Options tab is checked by default. Additionally, if the model has an optional hard disk unit, it must be installed. To perform this customization, a combination of the “Changing the default driver settings” and “Displaying popup dialogs” customizations should be performed. For an example of this, refer to section 5-5 “Combing different types of customization” Table 5-3. AttValue2 (Formats 5 and 6)

Setting AttValue2 User ID userid Password password User Name username Login User Name loginusername

Table 5-4. AttValue3 (Format 5)

Behavior AttValue3 The value of the setting specified by AttValue2 will be left blank in the popup dialog. The setting will have to be entered each time a job is submitted.

blank

The value of the setting specified by AttValue2 will be the Windows Login Name, but will be editable by users.

loginname

Page 24: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 24 of 44

Table 5-5. Valid combinations of AttValue2 with the “defaultstring” and “store” attributes (Formats 5 and 6)

defaultstring (format 5) store (format 6) AttValue2 blank (AttValue3) loginname (AttValue3) yes

userid (User ID) password (Password) - username (User Name) - loginusername (Login User Name) - -

‘ ‘ = valid, ‘-‘ = invalid Notes on AttValue2 and AttValue3 (Formats 5 and 6): Note1: Each of the four AttValue2 values can only be used once in an RCF file. Note2: Even if AttValue2 is used with AttValue3, users are still able to configure the setting via Printing Preferences. However, the default value in the popup dialog will always be the value specified by AttValue3. Note3: If a Windows Login Name exceeds the maximum User ID or Login User Name length, characters that exceed maximum length will be omitted. Note4: If the Windows Login Name contains characters that are not supported in the User ID, the popup dialog will not display the Windows Login Name. Instead, the User ID that is registered in Printing Preferences will be displayed. Note5: There is no AttValue2 for User Code, Classification Code and Login Password for user authentication. However, the “Reenter the confirmation password” field in the Authentication dialog is always blank by default. Therefore, users have to enter their Login Password manually each time the dialog is popped up. Example - Popping up the Job Type Details dialog. The User ID field will always be populated with the Windows Login Name and the Password field will always be blank:

<?xml version="1.0" encoding="utf-8"?> <rcf version="1.0"> <popupbeforeprint type="jobtype"> <item name="userid" defaultstring="loginname"/> <item name="password" defaultstring="blank"/> </popupbeforeprint> </rcf>

Page 25: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 25 of 44

Example - Popping up the Job Type Details dialog. The User ID entered in the dialog will be saved for subsequent jobs:

<?xml version="1.0" encoding="utf-8"?> <rcf version="1.0"> <popupbeforeprint type="jobtype"> <item name="userid" store="yes"/> </popupbeforeprint> </rcf>

Page 26: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 26 of 44

5-5 Combining Different Types of Customization

The 3 types of customization from section 5-2 to 5-4 can be used in combination with each other:

1) 5-2 and 5-3 (default and locked/limited) 2) 5-2 and 5-4 (default and popup) 3) 5-3 and 5-4 (locked/limited and popup) 4) 5-2, 5-3, and 5-4 (default, locked/limited and popup)

Example - Combining all 3 types of customization:

<?xml version="1.0" encoding="utf-8"?> <!-- This file was modified by John Doe, RCL. January 1, 2010 Customer Name: Ricoh Purpose: … --> <rcf version="1.0"> <devicesettings ……> …… …… </devicesettings> <featurelock> …… …… </featurelock> <popupbeforeprint ……> …… …… </popupbeforeprint> </rcf>

NOTE: If a setting is assigned different default and locked values, the locked value will have precedence over the default.

Changing the default driver settings (section 5-2)

Locking/Limiting driver settings (section 5-3)

Displaying popup dialogs (section 5-4)

Comment

Page 27: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 27 of 44

6. Modifying the PSD File

Modification of a PSD file can be used to perform the following customization:

- Extending the max length of the User ID 6-1 Before and After the Modification

Before the modification: Prepare a set of driver files and locate the file with the extension “.psz”. There will only be one of these files. The PSZ file is compressed using the zip format and must be decompressed in order to get the PSD. Some decompression utilities might require that you change the extension to “zip”.

The decompression will result in the creation of several PSD files. There will typically be 2 files: “innerdata.psd” and another PSD file. It is this other PSD file that needs to be edited.

Extracted files from the PSZ file:

Decompress this file.

Page 28: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 28 of 44

Contents of the PSD file:

If you modify a PSD file, please add a comment to it. This will serve as a reminder to you or others that the file was modified, and what the purpose of the modification was. Comments can be added under the XML declaration using the following format:

<!-- comment -->

PSD file with comments:

This file needs to be modified.

Page 29: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 29 of 44

NOTE: Do not use back to back hyphens (--) in the body of the comment. After the modification: After the modification is finished, the PSD file must be compressed again in ZIP format. Compress the PSD file with the other files that were extracted before the modification. The name and extension of the compressed file must be the same as the PSZ file that was decompressed previously. Replace the PSZ file in the drive package with the new PSZ file. If a folder that contains decompressed files exists in the driver package, delete it. NOTE: Be sure to compress only the files back into the PSZ archive. If you or a zip utility have created a folder in which to store the contents of the decompressed PSZ, please make sure that it is not accidentally compressed back into the archive.

Page 30: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 30 of 44

The operation is now complete. For information about the installation of the customized driver, refer to section 8 “Installing the customized driver”.

Zip these files.

Replace the existing PSZ file.

Delete this folder if exists.

Page 31: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 31 of 44

6-2 Extending the Max Length of the User ID

This customization extends the max length of the User ID from 8 up to 13 characters. This is intended for use with SDK applications, such as Enhanced Locked Print (ELP), that accept User IDs of up to 13 characters. In the PSD file, the max length of the User ID is defined as 8 by default. This can be changed to anything from 9 to 13. This needs to be changed in 2 different places for each model supported by the PSD file. Example - The length of the User ID is extended to 13 characters for “Aficio MP C7501”:

<?xml version="1.0" encoding="utf-8"?> <psd version="1.1">

<model id="Aficio MP C6501"> : : </model>

<model id="Aficio MP C7501"> : : <item category="feature" name="userid" default="" type="string"> <string min="0" max="13" chartype="alphanumeric" required="no"> <constraint> <condition expression="jobtype != normalprint"/> <condition expression="jobtype != documentserver"/> </constraint> </string>

<string min="1" max="13" chartype="alphanumeric" required="yes"> <constraint> <condition expression="jobtype == normalprint"/> </constraint> <constraint> <condition expression="jobtype == documentserver"/> </constraint> </string> </item> : :

Page 32: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 32 of 44

NOTE: This will change the message in the Job Type Details dialog: [Up to 8 alphanumeric…].

Page 33: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 33 of 44

7. Modifying the JSON file

Modification of a JSON file can be used to perform the following customization:

- Deleting One Click Presets icons 7-1 Before and after the modification

NOTE: YAPD core based PCL drivers have multiple JSON files. However, this document will only focus on the one that needs to be modified in order to perform the customization “Deleting One Click Presets icons”. Before the modification: Prepare a set of driver files and locate the file with the extension “.cfz”. There will only be one of these files. The CFZ file is compressed using the zip format and must be decompressed in order to get the JSON file. Some decompression utilities might require that you change the extension to “zip”.

The decompression will result in the creation of some folders and files. The JSON file that has to be modified is “shortcut_settings.json”, located in the “shortcut” folder. (gui > shortcut)

Decompress this file.

Page 34: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 34 of 44

Extracted folders/files from the CFZ file:

Contents of the “shortcut” folder (gui > shortcut):

This file needs to be modified.

Page 35: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 35 of 44

Contents of the JSON file:

If you modify a JSON file, please add a comment to it. This will serve as a reminder to you or others that the file was modified, and what the purpose of the modification was. Comments can be added using the following format:

/* comment */

JSON file with comments:

After the modification: After the modification is finished, the JSON file must be compressed again in ZIP format. Return to the root folder of the extracted folders/files and compress them. The name and extension of the compressed file must be the same as the CFZ file that was decompressed previously. Replace the CFZ file in the drive package with the new CFZ file. If a folder that contains decompressed folders/files exists in the driver package, delete it.

Page 36: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 36 of 44

NOTE: Be sure to compress only the folders/files that were extracted from the original CFZ file back into the CFZ archive. If you or a zip utility have created a folder in which to store the contents of the decompressed CFZ (“ricA6ecf” folder in this example), please make sure that it is not accidentally compressed into the archive.

Zip these files.

Replace the existing CFZ file with this file.

Delete this folder if exists. Replace the existing CFZ file with the new CFZ file.

Page 37: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 37 of 44

The operation is now complete. For information about the installation of the customized driver, refer to section 8 “Installing the customized driver”.

Page 38: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 38 of 44

7-2 Deleting One Click Presets Icons

This customization deletes preset One Click Presets icons. Example - Deleting the “2 sided” icon:

Before { "factory_shortcuts":[ "landscape", "2in1", "duplex", "duplex_staple"], ← Replace this line "features": : : After { "factory_shortcuts":[ "landscape", "2in1", "duplex_staple"], "features": : :

Page 39: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 39 of 44

8. Installing the Customized Driver

There are no special requirements. The customized driver can be installed as would an ordinary driver. However, because the customization will cause the driver to lose its Microsoft logo certification, an alert message might be displayed during installation. NOTE: On Windows Vista/2008/7, if a driver of the same model and PDL as the customized driver has already been installed, it must be uninstalled before the customized driver is installed. If there is a syntax error in any of the RCF, PSD or JSON files, the following will happen: RCF: If an XML element, attribute, or setting is mistyped, the driver will be installed but settings affected by the typing mistake will not be customized. If the file does not conform to the XML format, all modifications will be ignored and the driver will be installed as a standard driver. PSD: If there is any sort of syntax error caused by the modification of a PSD file, an error will be thrown during the creation of a logical printer. If this happens, no logical printer will be created. JSON: If there is any sort of syntax error caused by the modification of a JSON file, an error message will pop up when the driver UI is opened. The driver UI will be displayed but elements within it might not appear as expected. Tip - Multiple logical printers with different default/customized settings: Multiple logical printers of the same model and PDL but different default/customized settings, can coexist on Windows 2000/XP/2003. This can be useful, for example, in the following situation:

A customer wants 2 logical printers of the same model to reside on the same server. One is a logical printer that has standard settings. The other is a logical printer whose color mode is locked to “Black and White”. Users will install these printers by Point and Print. The Windows ACL will be used determine which users are allowed to print color.

Page 40: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 40 of 44

To do this, prepare multiple drivers of the same model and PDL with different default/customized settings. Then, create logical printers using them. There are 2 points to remember. 1. When the second logical printer is created, choose “Replace existing driver” during installation. If using printui.dll, do not use the “/u” option.

2. The order in which multiple logical printers are created must be considered. If a logical printer is created and then another is created using a driver with an RCF, PSD or JSON file that has an earlier "modified" date than that of the first driver, the second logical printer will inherit the settings of the first one. To avoid this problem, be sure to always use a driver with RCF, PSD and JSON files that have a later "modified" date than any existing drivers. If necessary, update the "modified" date of the RCF, PSD or JSON files. NOTE: On Windows Vista/2008/7, logical printers of the same model and PDL with different default/customized settings cannot coexist. The second logical printer will always inherit the settings of the first one.

Page 41: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 41 of 44

9. Appendix

9-1 Distinguishing Whether a Driver has been Customized or Not

If either the RCF or PSD file was modified, it can be seen in the About window:

NOTE: Modification of the JSON file will not change the contents of the About window. Another way to tell is the location to which the driver is installed. When a YAPD core based PCL driver is installed, the RCF file will be written to the following folder. x86 Windows: %SYSTEMROOT%\system32\spool\drivers\w32x86\3 x64 Windows: %SYSTEMROOT%\system32\spool\drivers\x64\3 If the RCF file in the above folder is different from the original RCF file, the driver might have been customized. The PSD/JSON file will also be copied to the above folder. However, it is compressed in the PSZ/CFZ archive. To check if the PSD/JSON file was modified, it must be extracted using a ZIP utility.

Page 42: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 42 of 44

9-2 Determining Which Core is Used by a PCL Driver

The About window shows which core is used by a PCL driver. YAPD core (the basis of this document):

UI CORE Version: 2.0.0.0 or later GR CORE Version: 2.0.0.0 or later Exception: The PCL6 Driver for Universal Print v.2.0.0.0 shows the UI CORE and GR CORE versions as "2.0.0.0", but the core is KIM. NOTE: The About windows of YAPD and KIM core drivers are very similar. The biggest difference between these drivers is that a YAPD core driver has a new UI called “AIRFace”.

Page 43: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 43 of 44

YAPD core driver (AIRFace):

This document does not apply to any of the following cores: KIM core:

UI CORE Version: Less than 2.0.0.0 GR CORE Version: Less than 2.0.0.0 Exception: The PCL6 Driver for Universal Print v.2.0.0.0 shows the UI CORE and GR CORE versions as "2.0.0.0", but the core is KIM.

Page 44: White Paper - YAPD Core Based PCL Driver Customizationrfg-esource.ricoh-usa.com/oracle/groups/public/documents/... · YAPD Core Based PCL Driver Customization Page 7 of 44 3. Requirements

YAPD Core Based PCL Driver Customization

Page 44 of 44

SWI core: MTI core: