Nuovi attributi PPD solo a livello di radice per Windows Vista
Importante
La piattaforma di stampa moderna è il mezzo preferito di Windows per comunicare con le stampanti. Ti consigliamo di usare il driver di classe IPP di Microsoft, insieme a Print Support Apps (PSA), per personalizzare l'esperienza di stampa in Windows 10 e 11 per lo sviluppo di dispositivi per stampanti.
Per altre informazioni, vedere Piattaforma di stampa moderna e guida alla progettazione dell'app di supporto per la stampa.
L'elenco seguente descrive gli attributi PPD nuovi a partire da Windows Vista. Per mantenere la compatibilità con le versioni precedenti di Windows Vista di Windows, è necessario racchiudere questi attributi con il codice seguente.
*Ifdef: WINNT_60 ... *Endif: WINNT_60 blocks
MSPrintSchemaKeywordMap
L'attributo MSPrintSchemaKeywordMap definisce il mapping da una parola chiave della funzionalità PPD a una parola chiave della funzionalità schema di stampa pubblica o un mapping da una parola chiave di opzione PPD di una funzionalità PPD a una parola chiave dell'opzione Schema di stampa pubblica di una funzionalità Schema di stampa.
MSPrintSchemaKeywordMap ha due formati accettabili:
*MSPrintSchemaKeywordMap: PrintSchema_feature_keyword *<PPD_feature_keyword>
*MSPrintSchemaKeywordMap: PrintSchema_feature_keyword PrintSchema_option_keyword *<PPD_feature_keyword> <PPD_option_keyword>
È necessario il prefisso della parola chiave della funzionalità PPD (che è un asterisco [*]) in entrambi i formati.
Per formato 1:
La parola chiave della funzionalità PPD deve fare riferimento a una funzionalità PPD già definita nel contenuto del file PPD precedente.
Non sono consentite più definizioni di *MSPrintSchemaKeywordMap per la stessa funzionalità PPD. Se vengono trovate più definizioni, verrà accettata solo la prima definizione e verranno ignorate altre definizioni.
Per formato 2:
La definizione *MSPrintSchemaKeywordMap per una funzionalità PPD ( usando il formato 1) deve essere presente prima che vengano visualizzate le definizioni *MSPrintSchemaKeywordMap per le opzioni della funzionalità PPD.
Nella definizione *MSPrintSchemaKeywordMap per un'opzione PPD, il mapping della parola chiave della funzionalità PPD alla parola chiave della funzionalità Schema di stampa deve essere uguale a quello definito nella definizione *MSPrintSchemaKeywordMap precedente per la funzionalità PPD (usando il formato 1).
La parola chiave dell'opzione PPD deve fare riferimento a un'opzione della funzionalità PPD già definita nel contenuto del file PPD precedente.
Non sono consentite più definizioni di *MSPrintSchemaKeywordMap per la stessa opzione PPD di una funzionalità PPD. Se vengono trovate più definizioni, verrà accettata solo la prima definizione e verranno ignorate altre definizioni.
Se una voce *MSPrintSchemaKeywordMap viola una delle regole di formato precedenti, tale voce verrà ignorata e verrà visualizzato un avviso ppdchecker con informazioni dettagliate.
*MSPrintSchemaKeywordMap non è supportato per l'uso con le funzionalità PPD standard seguenti:
*Collate *Duplex *InputSlot *OutputBin *PageSize *Resolution *MediaType È anche importante sapere che se si esegue il mapping di una funzionalità a una parola chiave Schema di stampa già in uso nel file PPD, il documento PrintCapabilities corrispondente potrebbe elencare tale funzionalità più volte. Più occorrenze potrebbero generare confusione, pertanto non è consigliabile eseguire il mapping delle funzionalità alle parole chiave dello schema di stampa usate nel file PPD.
Il parser PPD genera automaticamente l'opzione FORMSOURCE per la funzionalità InputBin ed esegue il mapping alla parola chiave AutoSelect nello schema di stampa. Se il file PPD contiene un'opzione InputBin che usa l'attributo MSPrintSchemaKeywordMap per eseguire il mapping dell'opzione a una parola chiave Schema di stampa, la funzionalità nello schema di stampa conterrà un'opzione FORMSOURCE nello spazio dei nomi del dispositivo. La selezione automatica verrà visualizzata nel documento PrintCapabilities e fa riferimento all'opzione specificata nell'attributo MSPrintSchemaKeywordMap del file PPD.
Nell'esempio di codice seguente viene illustrato un esempio dell'attributo MSPrintSchemaKeywordMap in un file PPD parziale.
*OpenUI *IHVStapling:PickOne
*DefaultIHVStapling:Disabled
*IHVStapling Enabled:"..."
*IHVStapling Disabled:"..."
*CloseUI: *IHVStapling
*MSPrintSchemaKeywordMap: Staple*IHVStapling
*MSPrintSchemaKeywordMap: StapleOn*IHVStaplingEnabled
*MSPrintSchemaKeywordMap: StapleOff*IHVStaplingDisabled
MSPrintSchemaPrivateNamespaceURI
L'attributo MsPrintSchemaPrivateNamespaceURI definisce l'URI dello spazio dei nomi privato che il driver principale deve usare per esporre le funzionalità o le opzioni PPD private in PrintTicket o PrintCapabilities. Questo URI verrà applicato a tutte le funzionalità o le opzioni che non dispongono di mapping esplicito (usando la definizione *MSPrintSchemaKeywordMap ) nello schema di stampa pubblico.
MSPrintSchemaPrivateNamespaceURI usa il formato seguente.
*MSPPrintSchemaPrivateNamespaceURI: "<URI>"
<L'URI> rappresenta un quotedValue PPD. Come definito dalla specifica PPD, QuotedValue consente sia sottostringhe ASCII letterali che sottostringhe esadecimali.
Il file PPD (o i file) di un singolo modello di stampante deve avere una sola definizione di *MSPrintSchemaPrivateNamespaceURI . Se vengono trovate più definizioni, verrà accettata solo la prima definizione e altre verranno ignorate.
Nell'esempio di codice seguente viene illustrato un esempio dell'attributo MsPrintSchemaPrivateNamespaceURI in un file PPD parziale.
*MSPrivateNamespaceURI: "https://www.ihv.com/schema/2004"
MSIsXPSDriver
L'attributo MSIsXPSDriver usa il formato seguente.
*MSIsXPSDriver: True | False
È possibile usare il modulo di configurazione del driver Windows Vista PScript5 (Ps5ui.dll) sia per i driver GDI Di Microsoft Win32 che per i nuovi driver XPSDrv. Per usare il modulo di configurazione del driver PScript5 per i driver XPSDrv, il file di dati PPD del driver XPSD deve specificare MSIsXPSDriver e impostarne il valore su True.
L'esempio di codice seguente mostra un esempio di questo attributo in un file PPD parziale:
*MSIsXPSDriver: True
Per usare il modulo di configurazione del driver PScript5 per i driver GDI Win32, non è necessario specificare questo attributo PPD.
MSPrintProcDuplexOptions
L'attributo MSPrintProcDuplexOptions usa il formato seguente.
*MSPrintProcDuplexOptions: "int"
Questo attributo può avere uno dei valori seguenti:
1: Pagine inverse per duplex inverso
2: Eliminare la generazione di una pagina vuota aggiuntiva, se possibile
3: Entrambi i
0: Nessuno dei precedenti
Nell'esempio di codice seguente viene illustrato un esempio di MSPrintProcDuplexOptions in un file PPD parziale.
*MSPrintProcDuplexOptions: "2"
Questo attributo controlla varie opzioni di duplex nel processore di stampa.
Se MSPrintProcDuplexOptions è 1, controlla se il processore di stampa deve invertire le pagine su duplex inverso.
Si supponga di dover stampare un documento a quattro pagine con n-up = 1 e si desidera utilizzare la stampa inversa e la stampa duplex. Poiché si desidera eseguire la stampa inversa, si desidera stampare l'ultima pagina prima della prima pagina. Poiché si desidera stampare duplex, si desidera stampare due pagine su un singolo foglio di carta. Il processore di stampa può riprodurre le pagine in uno dei due formati seguenti (dove ogni coppia di numeri indica le due pagine che verranno stampate sui due lati di un singolo foglio di carta):
Formato 1: (4,3),(2,1)
Formato 2: (3,4),(1,2)
Prima di Windows Vista, un processore di stampa stampava le pagine in formato 2 [(3,4),(1,2)]. Ma in Windows Vista e versioni successive, il formato predefinito è 1 [(4,3),(2,1)]. Questa modifica si è verificata perché molte stampanti hanno un output non corretto con formato 2; ovvero le pagine stampate non sono ordinate nell'ordine corretto.
Se la stampante funziona correttamente con il formato 1, non sarà necessario modificare nulla per Windows Vista e versioni successive. Tuttavia, se la stampante funziona in modo errato con formato 1 e si desidera ripristinare il formato 2, aggiungere l'attributo MSPrintProcDuplexOptions con valore 1.
*MSPrintProcDuplexOptions: "1"
Per il driver PScript pre-Windows Vista, se si dispone di un processore di stampa pre-Windows Vista, il formato 2 è il valore predefinito e non è possibile modificare il comportamento; in caso contrario, se si dispone di un processore di stampa di Windows Vista, il formato 1 è l'impostazione predefinita e non è possibile modificare il comportamento.
Per il driver PScript di Windows Vista. se si dispone di un processore di stampa pre-Windows Vista, il formato 2 è l'impostazione predefinita e l'attributo PPD verrà ignorato; in caso contrario, se si dispone di un processore di stampa di Windows Vista, il formato 1 è l'impostazione predefinita, ma è possibile modificare il formato usando l'attributo MSPrintProcDuplexOptions .
Se MSPrintProcDuplexOptions è 2, il processore di stampa elimina la generazione di pagine vuote in determinati scenari duplex.
Ad esempio, se il processo è un processo a una pagina e duplex è attivo (si presuppone n-up = 1), è necessario stampare un solo lato del foglio. Attualmente, le stampanti stampano un lato e quindi generano una pagina vuota vuota sul lato inverso. Poiché il processo di stampa è stato avviato con duplex=on, la stampante si aspetta due pagine prima di espellere il foglio. Se la seconda pagina non viene stampata, alcune stampanti continuano ad attendere. Gli svantaggi della soluzione corrente sono:
La pagina generata causa un conteggio di pagine impreciso nel software contabile e il contatore di pagine all'interno delle stampanti.
Quando la pagina si trova a metà della stampante (in alcune stampanti in stile Hejet DeskJet), l'utente potrebbe provare a tirarlo fuori mentre la stampante tenta di tirarla indietro. Questa situazione può causare problemi hardware.
È possibile evitare i problemi precedenti specificando *MSPrintProcDuplexOptions: "2" nel file PPD.
Si noti che anche se questo attributo è impostato, l'ottimizzazione della pagina vuota viene eseguita solo nei casi limitati seguenti:
Per la stampa inversa, l'ottimizzazione della pagina vuota viene eseguita solo quando l'intero processo può essere inserito su un singolo lato del foglio(ad esempio, un processo a una pagina con n-up=1 o un processo a quattro pagine con n-up =4). Se il processo richiede più fogli, l'ottimizzazione non viene eseguita (perché le pagine della stampante verranno stampate in un ordine impreciso). Ad esempio, per un processo a tre pagine, le pagine possono essere stampate nell'ordine 3,2,1,vuoti<> anziché 4,3,2,vuoti<>.
L'ottimizzazione della pagina vuota non viene eseguita se il processore di stampa deve simulare copie. Il processore di stampa simula copie se il numero di copie necessarie è maggiore del numero di copie che il processore di stampa può creare.
La situazione seguente è un esempio di quando si verificano simulazioni e vengono generate pagine vuote (se necessario):
- Due copie per una stampante che non possono creare copie
Le situazioni seguenti sono esempi di quando la simulazione non si verifica ed è possibile eliminare la generazione di pagine aggiuntive:
- Processo di copia singola per una stampante che non può creare copie
- Processo di cinque copie per una stampante che può creare più copie
Per il driver PScript pre-Windows Vista, se si dispone di un processore di stampa pre-Windows Vista, una stampante stampa una pagina vuota aggiuntiva, se ritenuto necessario, e non è possibile modificare il comportamento; in caso contrario, se si dispone di un processore di stampa di Windows Vista, una stampante stampa una pagina vuota aggiuntiva, se ritenuta necessaria, e non è possibile modificare il comportamento.
Per il driver PScript di Windows Vista. se si dispone di un processore di stampa pre-Windows Vista, una stampante stampa una pagina vuota aggiuntiva, se ritenuto necessario, e l'attributo PPD verrà ignorato; in caso contrario, se si dispone di un processore di stampa di Windows Vista e se è presente un attributo PPD appropriato e le condizioni appropriate (ovvero le condizioni descritte in precedenza per impedire la stampa di pagine vuote), una stampante non stampa pagine vuote.
MSBidiQueryFile
L'attributo MSBiDiQueryFile usa il formato seguente.
*MSBidiQueryFile: "filename"
Usare MSBiDiQueryFile per specificare il nome di file GPD o GDL che contiene i dati BidiQuery e BidiResponse del driver della stampante. Il nome del file GPD o GDL non deve specificare alcun percorso.
Nell'esempio di codice seguente viene illustrato un esempio di MSBiDiQueryFile in un file PPD parziale.
*MSBidiQueryFile: "ACnfgPS.GDL"
MSXPSMaxCopies
L'attributo MSXPSMaxCopies usa il formato seguente.
*MSXPSMaxCopies: "int"
Utilizzare MSXPSMaxCopies per specificare il numero massimo di copie supportate da un driver della stampante XPSDrv.
Nell'esempio di codice seguente viene illustrato un esempio di MSXPSMaxCopies in un file PPD parziale.
*MSXPSMaxCopies: "99"