Come eliminare i moduli di stampa predefiniti del sistema?


12

Su Windows esistono moduli predefiniti della stampante che non possono essere eliminati dalla finestra di dialogo Proprietà del server di stampa. C'è qualche altro modo in cui possono essere rimossi? Non useremo mai dimensioni di pagina come Envelope, B5 (JIS), US Std Fanfold, ecc. E mi piacerebbe salvare gli utenti (e me stesso!) Dal dover scorrere un lungo elenco di rumori.

La finestra delle proprietà del server di stampa ha un pulsante di eliminazione inutilizzabile

I nostri server di stampa sono Windows Server 2003 se questo fa la differenza.


L'eliminazione dei moduli di sistema potrebbe non essere un'opzione. Perché non provare a impostare un modulo predefinito per ciascun vassoio della stampante anziché scorrere ogni volta verso il basso?
ServerFaulter il

@ServerFaulter, ho bisogno degli stessi moduli per più stampanti (e hanno un solo vassoio per la maggior parte; la maggior parte sono plotter di grande formato con alimentazione in rotolo).
matt wilkie,

2
Questo è completamente ghetto, ma potresti dare un nome alle tue forme 000 MyForm - MyPageSizeo simili.
voretaq7,

@ voretaq7 Penso che sia l'opzione migliore, in realtà.
Dan,

2
@ Dan Evita il problema, ma certamente non lo risolve. È davvero NECESSARIO essere in grado di cancellare i modelli necessari, ma se MS sta andando a fare un lavoro di routine che avvitare.
voretaq7,

Risposte:


5

Il mio primo pensiero è stato quello di vedere se ciò potesse essere realizzato utilizzando le API di Windows, ma secondo questo sito Web sull'API Win32 Printer Forms, non è nemmeno possibile eliminare i moduli di sistema a livello di codice:

Non è possibile DeleteForm () in un modulo incorporato: non riesce con ERROR_INVALID_PARAMETER.

Il mio secondo pensiero è stato quello di trovare un nome di modulo relativamente univoco, come US Std Fanfoldcercare l'intero registro. Sorprendentemente, l'entrata coltiva in parecchi posti. Il mio suggerimento, quindi, sarebbe quello di costruire una macchina vuota a 32 bit (32 bit per evitare confusione con i tasti ombra) e andare in città su alcuni di quei tasti. Se riesci a farlo funzionare, dovrebbe essere facile trasporre ovunque tu debba farlo.

Tuttavia, va detto che, dato che Microsoft chiaramente non vuole che tu faccia questo, ti stai aprendo per problemi di supporto e compatibilità.


La pagina API dei moduli collegati è eccezionalmente ben scritta. Anche se non sono uno sviluppatore, molte cose mi sono molto più chiare. Grazie.
Matt Wilkie,

2

I moduli cartacei standard fanno parte dei driver della stampante e possono essere eliminati solo manualmente dai file corrispondenti.

Ecco una guida su come sono stato in grado di farlo:

1.Aprire CMD come amministratore.

2.enter "printui / s / t2" (senza virgolette)

3.Nella finestra di apertura, selezionare una stampante per la quale eliminare i moduli cartacei e fare clic su Proprietà in basso.

4. Cerca i file elencati in Explorer sotto il percorso indicato (probabilmente C: \ Windows \ System32 \ spool \ drivers \ x64 \ 3)

5. Creare una copia di backup di tutti questi file (ad es. In una cartella sul desktop)

6.Aprire ciascuno dei file originali con l'editor (uno alla volta). Se contiene codice leggibile, premi Ctrl + F (per aprire la ricerca) e inserisci uno dei moduli cartacei più prominenti, che devono essere eliminati (ad esempio Cartolina, Legale, Lettera ...) Se non viene trovata nessuna delle parole cercate, chiudere il file senza salvare e provare il file successivo. (Nel mio caso li ho trovati in file con estensione ".gpd" und ".inx" per stampanti fisiche, ".PPD" per il mio PDF-Creator)

7.Quando viene trovata una voce: dovrebbe essere presente un paragrafo con i blocchi di codice elencati per tutti i moduli cartacei. Qualche esempio:

    [JAPANESE_POSTCARD]
    MediaType=8.1055
    InputBin=7

o

    *Option: JAPANESE_POSTCARD_90x90x50x95
    {
        *Name: ""
    }

o

    *Option: JAPANESE_POSTCARD
    {
        *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
        *Constraints: LIST(Duplex.VERTICAL, Duplex.HORIZONTAL)
        *Constraints: InputBin.4
        *PageDimensions: PAIR(4724, 6992)
        *PrintableArea: PAIR(4412, 6680)
        *PrintableOrigin: PAIR(156, 156)
        *switch: Orientation
        {
            *case: PORTRAIT
            {
                *CursorOrigin: PAIR(156, 156)
            }
            *case: LANDSCAPE_CC270
            {
                *CursorOrigin: PAIR(4568, 156)
            }
        }
        *Command: CmdSelect
        {
            *CallbackID: 0x00470002
            *Order: DOC_SETUP.2
        }
        *Command: CmdSelect
        {
            *CallbackID: 0x00470002
            *Order: PAGE_SETUP.2
        }
    }

Elimina tutti questi blocchi per tutti i moduli cartacei indesiderati. Molto probabilmente ci sono più di un paragrafo che contengono blocchi simili, quindi continua a cercare il file e ripeti finché non ne viene trovato nessuno. Quindi salva e chiudi il file.

8.Dopo aver modificato ogni file, aprire qualsiasi documento (ad esempio Word, Excel ...) e verificare se i moduli cartacei indesiderati sono ancora elencati nelle proprietà di stampa di quella stampante.

-se ancora presente: torna al passaggio 6, cerca il file successivo.

-se no: congratulazioni! (Torna al passaggio 3, se ci sono più stampanti per sbarazzarsi di moduli indesiderati).

-se ci sono problemi: sovrascrivi l'ultimo file modificato con il backup. (Forse hai fatto un errore, quindi riprova)

Spero che sia di aiuto. Saluti!


1

Sul server di stampa stesso i moduli si trovano nel registro:

Stampa HKLM \ System \ CurrentControlSet \ Control \ \ Forms

(NOTA: non ho mai cancellato i moduli da qui, quindi farei un backup della chiave prima di eliminare e testare i risultati).


Ho cancellato le voci sotto quella chiave e riavviato, ma vengono comunque visualizzate nell'elenco (Stampanti e fax> Proprietà del server> Moduli).
matt wilkie,

... inoltre ci sono molti moduli elencati nella finestra di dialogo Proprietà server che non compaiono sotto quella chiave di registro.
matt wilkie,

1
Era esattamente quello che dovevo fare per sbarazzarmi di un secondo modulo A2 che altrimenti non avrei potuto eliminare. Grazie!
Stefan Schmiedl,

1

Avviare il processo "Gestione stampa" (printmanagement.msc).

In Server / moduli di stampa, è possibile eliminare i moduli della stampante ma non i moduli incorporati.

Devo ancora trovare un metodo per eliminare i moduli incorporati perché anche a me non piace vedere tutto quel "rumore" in quel menu a discesa.


1
Questa è un'interfaccia molto migliore rispetto a Proprietà stampante per la gestione di più moduli Stampante o Utente, grazie. Peccato che il built-in non possa essere rimosso o almeno nascosto dalla vista normale.
Matt Wilkie,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.