¿Cómo eliminar los formularios de impresora predeterminados del sistema?

12

En Windows hay formularios de impresora predeterminados del sistema que no se pueden eliminar del cuadro de diálogo Propiedades del servidor de impresión. ¿Hay alguna otra forma en que se puedan eliminar? Nunca vamos a usar tamaños de página como Envelope, B5 (JIS), US Std Fanfold, etc. y me gustaría salvar a los usuarios (¡y a mí mismo!) De tener que desplazarse a través de una larga lista de ruido.

El cuadro de propiedades del servidor de impresión tiene un botón de eliminación inutilizable

Nuestros servidores de impresión son Windows Server 2003 si eso hace alguna diferencia.

wilkie mate
fuente
Eliminar los formularios del sistema puede no ser una opción. ¿Por qué no intentar establecer un formulario predeterminado para cada bandeja de la impresora en lugar de tener que desplazarse hacia abajo cada vez?
ServerFaulter
@ServerFaulter, necesito los mismos formularios para varias impresoras (y solo tienen una bandeja en su mayor parte; la mayoría son plotters de alimentación de rollos de gran formato).
Matt Wilkie
2
Esto es completamente un gueto, pero podría nombrar sus formas 000 MyForm - MyPageSizeo similares.
voretaq7
@ voretaq7 Creo que esa es la mejor opción, en realidad.
Dan
2
@ Dan Evita el problema, pero ciertamente no lo resuelve. Realmente DEBERÍAS ser capaz de eliminar plantillas innecesarias, pero si MS va a hacer que sea una tarea difícil atornillarlo.
voretaq7

Respuestas:

5

Mi primer pensamiento fue ver si esto podría lograrse utilizando las API de Windows, pero según este sitio web sobre la API de formularios de impresora Win32, ni siquiera es posible eliminar los formularios del sistema mediante programación:

Uno no puede DeleteForm () en un formulario integrado: falla con ERROR_INVALID_PARAMETER.

Mi segundo pensamiento fue encontrar un nombre de formulario relativamente único, como US Std Fanfoldy buscar en todo el registro. Sorprendentemente, los cultivos de entrada en un buen número de lugares. Mi sugerencia, por lo tanto, sería construir una máquina en blanco de 32 bits (32 bits para evitar confusión con las teclas de sombra) e ir a la ciudad con algunas de esas teclas. Si lo hace funcionar, debería ser fácil de transponer a donde sea que necesite hacer esto.

Sin embargo, hay que decir que dado que Microsoft claramente no quiere que hagas esto, te estás abriendo a problemas de soporte y compatibilidad.

Dan
fuente
La página API de formularios vinculados está excepcionalmente bien escrita. Aunque no soy un desarrollador, me aclara muchas cosas. Gracias.
Matt Wilkie
2

Los formularios en papel estándar son parte de los controladores de la impresora y solo se pueden eliminar manualmente de los archivos correspondientes.

Aquí hay una guía de cómo pude hacerlo:

1. Abra CMD como administrador.

2.entre "printui / s / t2" (sin comillas)

3.En la ventana abierta, seleccione una impresora, para la cual se deben eliminar los formularios en papel, y haga clic en Propiedades en la parte inferior.

4. Busque los archivos enumerados en el explorador bajo la ruta indicada (probablemente C: \ Windows \ System32 \ spool \ drivers \ x64 \ 3)

5. Haga una copia de seguridad de todos estos archivos (por ejemplo, en una carpeta en el escritorio)

6. Abra cada uno de los archivos originales con el editor (uno a la vez). Si contiene código legible, presione Ctrl + F (para abrir la búsqueda) e ingrese uno de los formularios en papel con un nombre más prominente, que debe eliminarse (por ejemplo, Postal, Legal, Carta ...) Si no se encuentra ninguna de las palabras buscadas, cierre el archivo sin guardarlo e intente el siguiente archivo. (En mi caso, los encontré en archivos con la extensión ".gpd" und ".inx" para impresoras físicas, ".PPD" para mi PDF-Creator)

7.Cuando se encuentra una entrada: debe haber un párrafo con bloques de código enumerados para todos los formularios en papel. Algunos ejemplos:

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

Elimine todos esos bloques para todos los formularios en papel no deseados. Lo más probable es que haya más de un párrafo que contenga bloques similares, así que siga buscando el archivo y repita, hasta que no encuentre ninguno. Luego guarde y cierre el archivo.

8.Después de cambiar cada archivo, abra cualquier documento (por ejemplo, Word, Excel ...) y compruebe si los formularios en papel no deseados todavía figuran en las propiedades de impresión de esa impresora.

-si aún está presente: vuelva al paso 6, busque el siguiente archivo.

-si no: ¡felicidades! (Regrese al Paso 3, si hay más impresoras para deshacerse de los formularios no deseados).

-si hay algún problema: sobrescribe el último archivo editado con copia de seguridad. (Tal vez cometiste un error, así que inténtalo de nuevo)

Espero que esto ayude. ¡Salud!

Stallnig
fuente
1

En el servidor de impresión, los formularios se encuentran en el registro:

HKLM \ System \ CurrentControlSet \ Control \ Print \ Forms

(NOTA: nunca eliminé los formularios yo mismo de aquí, así que primero haría una copia de seguridad de la clave antes de eliminar y probar los resultados).

El limpiador
fuente
Eliminé las entradas bajo esa clave y reinicié, pero aún aparecen en la lista (Impresoras y faxes> Propiedades del servidor> Formularios).
Matt wilkie
... también hay muchos formularios enumerados en el cuadro de diálogo Propiedades del servidor que no aparecen bajo esa clave de registro.
Matt Wilkie
1
Eso fue exactamente lo que necesitaba hacer para deshacerme de un segundo formulario A2 que no podría eliminar de otra manera. ¡Gracias!
Stefan Schmiedl
1

Inicie el proceso de "Administración de impresión" (printmanagement.msc).

En Servidores de impresión / Formularios, puede eliminar formularios de Impresora pero no formularios integrados.

Todavía tengo que encontrar un método para eliminar los formularios integrados, ya que tampoco me gusta ver todo ese "ruido" en ese menú desplegable.

BlakBat
fuente
1
Esta es una interfaz mucho mejor que las Propiedades de la impresora para administrar múltiples impresoras o formularios de usuario, gracias. Lástima que las funciones integradas no puedan eliminarse o al menos ocultarse de la vista normal.
Matt wilkie