Como excluir formulários de impressora padrão do sistema?

12

No Windows, há formulários de impressora padrão do sistema que não podem ser excluídos da caixa de diálogo Propriedades do servidor de impressão. Existe alguma outra maneira que eles possam ser removidos? Nunca usaremos tamanhos de página como Envelope, B5 (JIS), US Std Fanfold, etc., e gostaria de salvar os usuários (e eu!) De ter que percorrer uma longa lista de ruídos.

Nossos servidores de impressão são o Windows Server 2003, se isso faz alguma diferença.

    
por matt wilkie 11.09.2009 / 19:52

4 respostas

5

Meu primeiro pensamento foi ver se isso poderia ser feito usando as APIs do Windows, mas de acordo com este site sobre a API do Win32 Printer Forms, nem é possível excluir os formulários do sistema por meio de programação:

One cannot DeleteForm() on a builtin form: it fails with ERROR_INVALID_PARAMETER.

Meu segundo pensamento foi encontrar um nome de formulário relativamente único, como US Std Fanfold e pesquisar o registro inteiro. Surpreendentemente, as culturas de entrada em um grande número de lugares. Minha sugestão, portanto, seria construir uma máquina vazia de 32 bits (32 bits para evitar confusão com teclas de sombra) e ir para a cidade em algumas dessas teclas. Se você trabalhar, deve ser fácil transpor para onde você precisar fazer isso.

No entanto, é preciso dizer que, considerando o quanto a Microsoft claramente não quer que você faça isso, você está se abrindo para problemas de suporte e compatibilidade.

    
por 10.12.2012 / 23:02
2

Formulários de papel padrão fazem parte dos drivers de impressora e só podem ser excluídos manualmente dos arquivos correspondentes.

Aqui está um guia de como eu consegui:

1.Abra o CMD como administrador.

2.enter "printui / s / t2" (sem aspas)

3. Na janela aberta, selecione uma impressora, para a qual os formulários de papel devem ser excluídos, e clique em Propriedades na parte inferior.

4.Olhe para os arquivos listados no explorer sob o caminho indicado (provavelmente C: \ Windows \ System32 \ spool \ drivers \ x64 \ 3)

5.Faça uma cópia de backup de todos esses arquivos (por exemplo, em uma pasta na área de trabalho)

6.Abra cada um dos arquivos originais com o editor (um de cada vez). Se ele contiver código legível, pressione Ctrl + F (para abrir a pesquisa) e insira um dos formulários de papel com maior destaque, que deve ser excluído (por exemplo, Postal, Ofício, Carta ...) Se nenhuma das palavras pesquisadas for encontrada, feche o arquivo sem salvá-lo e tente o próximo arquivo. (No meu caso eu os encontrei em arquivos com extensão ".gpd" und ".inx" para impressoras físicas, ".PPD" para meu PDF-Creator)

7.Quando uma entrada é encontrada: Deve haver um parágrafo com blocos de códigos listados para todos os formulários em papel. Alguns exemplos:

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

Exclua todos esses blocos para todos os formulários de papel indesejados. O mais provável é que haja mais de um parágrafo que contenha blocos semelhantes, então continue pesquisando o arquivo e repita, até que nenhum seja encontrado. Em seguida, salve e feche o arquivo.

8.Depois de cada arquivo alterado, abra qualquer documento (por exemplo, Word, Excel ...) e verifique se os formulários de papel indesejados ainda estão listados nas propriedades de impressão dessa impressora.

-se ainda estiver presente: volte ao Passo 6, pesquise o próximo arquivo.

-se não: parabéns! (Voltar ao Passo 3, se houver mais impressoras para livrar de formulários indesejados).

-se houver algum problema: sobrescreva o último arquivo editado com backup. (Talvez você tenha cometido um erro, então tente novamente)

Espero que isso ajude. Felicidades!

    
por 21.10.2016 / 11:56
1

Inicie o processo "Gerenciamento de impressão" (printmanagement.msc).

Em Servidores / Formulários de Impressão, você pode excluir formulários da Impressora, mas não formulários internos.

Ainda não encontrei um método para excluir formulários internos, pois também não gosto de ver todo esse "ruído" na lista suspensa.

    
por 06.10.2015 / 14:29
0

No próprio servidor de impressão, os formulários estão localizados no registro:

HKLM \ Sistema \ CurrentControlSet \ Control \ Print \ Forms

(OBSERVAÇÃO: eu nunca excluí os formulários por mim agora, então eu faria um backup da chave antes de excluir e testar os resultados).

    
por 11.09.2009 / 22:15