Comment supprimer les formulaires d'imprimante par défaut du système?

12

Sous Windows, il existe des formulaires d'imprimante par défaut qui ne peuvent pas être supprimés de la boîte de dialogue Propriétés du serveur d'impression. Existe-t-il un autre moyen de les supprimer? Nous n'allons jamais utiliser des tailles de page comme Envelope, B5 (JIS), US Std Fanfold, etc. et j'aimerais éviter aux utilisateurs (et à moi-même!) D'avoir à faire défiler une longue liste de bruits.

La boîte de propriétés du serveur d'impression comporte un bouton de suppression inutilisable

Nos serveurs d'impression sont Windows Server 2003 si cela fait une différence.

Matt Wilkie
la source
La suppression des formulaires système peut ne pas être une option. Pourquoi ne pas essayer de définir un formulaire par défaut pour chaque bac de l'imprimante plutôt que de devoir faire défiler à chaque fois?
ServerFaulter
@ServerFaulter, j'ai besoin des mêmes formulaires pour plusieurs imprimantes (et ils n'ont pour la plupart qu'un seul bac; la plupart sont des traceurs à rouleaux grand format).
matt wilkie
2
C'est complètement ghetto, mais vous pouvez nommer vos formulaires 000 MyForm - MyPageSizeou similaires.
voretaq7
@ voretaq7 Je pense que c'est la meilleure option, en fait.
Dan
2
@Dan Cela évite le problème, mais il ne le résout certainement pas. Vous DEVRIEZ vraiment pouvoir supprimer des modèles inutiles, mais si MS va en faire une corvée, vissez-le.
voretaq7

Réponses:

5

Ma première pensée a été de voir si cela pouvait être accompli en utilisant les API Windows, mais selon ce site Web sur l'API Win32 Printer Forms, il n'est même pas possible de supprimer les formulaires système par programme:

On ne peut pas DeleteForm () sur un formulaire intégré: il échoue avec ERROR_INVALID_PARAMETER.

Ma deuxième pensée a été de trouver un nom de formulaire relativement unique, tel que US Std Fanfoldet de rechercher l'ensemble du registre. Étonnamment, l'entrée des cultures dans un certain nombre d'endroits. Ma suggestion serait donc de construire une machine 32 bits vierge (32 bits pour éviter toute confusion avec les touches fantômes) et d'aller en ville sur certaines de ces clés. Si vous le faites fonctionner, il devrait être facile de le transposer là où vous en avez besoin.

Cependant, il faut dire que, étant donné que Microsoft ne veut clairement pas que vous fassiez cela, vous vous ouvrez aux problèmes de support et de compatibilité.

Dan
la source
La page API des formulaires liés est exceptionnellement bien écrite. Même si je ne suis pas développeur, cela rend beaucoup de choses beaucoup plus claires pour moi. Merci.
matt wilkie
2

Les formulaires papier standard font partie des pilotes d'imprimante et ne peuvent être supprimés que manuellement des fichiers correspondants.

Voici un guide de la façon dont j'ai pu le faire:

1.Ouvrez CMD en tant qu'administrateur.

2. entrez "printui / s / t2" (sans les guillemets)

3.Dans la fenêtre d'ouverture, sélectionnez une imprimante pour laquelle les formulaires papier doivent être supprimés, puis cliquez sur Propriétés en bas.

Recherchez les fichiers répertoriés dans l'explorateur sous le chemin indiqué (probablement C: \ Windows \ System32 \ spool \ drivers \ x64 \ 3)

5.Faites une copie de sauvegarde de tous ces fichiers (par exemple dans un dossier sur le bureau)

6.Ouvrez chacun des fichiers originaux avec l'éditeur (un à la fois). S'il contient du code lisible, appuyez sur Ctrl + F (pour ouvrir la recherche) et entrez l'un des formulaires papier les plus en vue, qui doivent être supprimés (par exemple, Carte postale, Légal, Lettre ...) Si aucun des mots recherchés n'est trouvé, fermez le fichier sans l'enregistrer et essayez le fichier suivant. (Dans mon cas, je les ai trouvés dans des fichiers avec l'extension ".gpd" et ".inx" pour les imprimantes physiques, ".PPD" pour mon PDF-Creator)

7. Lorsqu'une entrée est trouvée: Il devrait y avoir un paragraphe avec des blocs de code répertoriés pour tous les formulaires papier. Quelques exemples:

    [JAPANESE_POSTCARD]
    MediaType=8.1055
    InputBin=7

ou

    *Option: JAPANESE_POSTCARD_90x90x50x95
    {
        *Name: ""
    }

ou

    *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
        }
    }

Supprimez tous ces blocs pour tous les formulaires papier indésirables. Il est très probable qu'il y ait plus d'un paragraphe contenant des blocs similaires, alors continuez à rechercher le fichier et répétez jusqu'à ce qu'aucun ne soit trouvé. Enregistrez puis fermez le fichier.

8.Après chaque modification de fichier, ouvrez n'importe quel document (par exemple Word, Excel ...) et vérifiez si les formulaires papier indésirables sont toujours répertoriés dans les propriétés d'impression de cette imprimante.

-si toujours présent: retour à l'étape 6, recherchez le fichier suivant.

-si non: félicitations! (Retour à l'étape 3, s'il y a plus d'imprimantes pour se débarrasser des formulaires indésirables).

-s'il y a des problèmes: écraser le dernier fichier modifié avec la sauvegarde. (Peut-être que vous avez fait une erreur, alors essayez à nouveau)

J'espère que cela t'aides. À votre santé!

Stallnig
la source
1

Sur le serveur d'impression lui-même, les formulaires se trouvent dans le registre:

HKLM \ System \ CurrentControlSet \ Control \ Print \ Forms

(REMARQUE: je n'ai jamais supprimé les formulaires moi-même, donc je ferais d'abord une sauvegarde de la clé avant de supprimer et de tester les résultats).

Le nettoyeur
la source
J'ai supprimé les entrées sous cette clé et redémarré, mais elles apparaissent toujours dans la liste (Imprimantes et télécopieurs> Propriétés du serveur> Formulaires).
matt wilkie
... il existe également de nombreux formulaires répertoriés dans la boîte de dialogue Propriétés du serveur qui n'apparaissent pas sous cette clé de registre.
matt wilkie
1
C'était exactement ce que je devais faire pour me débarrasser d'un deuxième formulaire A2 que je ne pouvais pas supprimer autrement. Merci!
Stefan Schmiedl
1

Démarrez le processus "Gestion de l'impression" (printmanagement.msc).

Sous Serveurs d'impression / Formulaires, vous pouvez supprimer des formulaires d'imprimante mais pas des formulaires intégrés.

Je n'ai pas encore trouvé de méthode pour supprimer les formulaires intégrés car moi aussi je n'aime pas voir tout ce "bruit" dans cette liste déroulante.

BlakBat
la source
1
Il s'agit d'une interface bien meilleure que les propriétés de l'imprimante pour gérer plusieurs formulaires d'imprimante ou d'utilisateur, merci. Dommage que les intégrés ne puissent pas être supprimés ou du moins cachés de la vue normale.
matt wilkie