Jak usunąć systemowe domyślne formularze drukarki?

12

W systemie Windows istnieją domyślne formularze drukarki, których nie można usunąć z okna dialogowego Właściwości serwera wydruku. Czy istnieje jakiś inny sposób, aby je usunąć? Nigdy nie będziemy używać rozmiarów stron takich jak Envelope, B5 (JIS), US Std Fanfold itp. I chciałbym uratować użytkowników (i mnie!) Przed przewijaniem dużej, długiej listy szumów.

Pole właściwości serwera wydruku ma przycisk usuwania, którego nie można użyć

Nasze serwery wydruku to Windows Server 2003, jeśli to robi jakąkolwiek różnicę.

matowe wilkie
źródło
Usunięcie formularzy systemowych może nie być opcją. Dlaczego nie spróbować ustawić domyślnego formularza dla każdej tacy w drukarce zamiast konieczności przewijania w dół za każdym razem?
ServerFaulter,
@ServerFaulter, potrzebuję tych samych formularzy dla wielu drukarek (i mają one tylko jedną tacę w przeważającej części; większość to wielkoformatowe plotery rolkowe).
matt wilkie
2
To całkowicie getto, ale możesz nazwać swoje formularze 000 MyForm - MyPageSizelub podobne.
voretaq7,
@ voretaq7 Myślę, że tak naprawdę to najlepsza opcja.
Dan
2
@ Dan Unika problemu, ale na pewno go nie rozwiązuje. Naprawdę POWINIENEŚ być w stanie usunąć niepotrzebne szablony, ale jeśli stwardnienie rozsiane sprawi, że to będzie nudne.
voretaq7,

Odpowiedzi:

5

Moją pierwszą myślą było sprawdzenie, czy można to osiągnąć za pomocą interfejsów API systemu Windows, ale zgodnie z stroną internetową dotyczącą interfejsu API formularzy drukarki Win32, nie jest nawet możliwe programowe usuwanie formularzy systemowych:

Nie można usunąć funkcji DeleteForm () we wbudowanym formularzu: nie działa z ERROR_INVALID_PARAMETER.

Moją drugą myślą było znalezienie stosunkowo unikalnej nazwy formularza, na przykład US Std Fanfoldprzeszukanie całego rejestru. Zaskakujące jest to, że wstęp uprawia się w dość wielu miejscach. Dlatego sugeruję zbudowanie pustej 32-bitowej maszyny (32-bitowej, aby uniknąć pomyłki z klawiszami cienia) i udanie się do miasta na niektóre z tych kluczy. Jeśli sprawdzisz, że to działa, powinna być łatwa do przeniesienia tam, gdzie trzeba to zrobić.

Trzeba jednak powiedzieć, że biorąc pod uwagę, jak bardzo Microsoft nie chce, abyś to robił, narażasz się na problemy związane ze wsparciem i kompatybilnością.

Dan
źródło
Strona interfejsu API formularzy połączonych jest wyjątkowo dobrze napisana. Mimo że nie jestem programistą, wiele rzeczy jest dla mnie dużo bardziej zrozumiałych. Dzięki.
matt wilkie
2

Standardowe formularze papierowe są częścią sterowników drukarki i można je usunąć tylko ręcznie z odpowiednich plików.

Oto przewodnik, w jaki sposób udało mi się to zrobić:

1. Otwórz CMD jako administrator.

2. wprowadź „printui / s / t2” (bez cudzysłowu)

3. W oknie opend wybierz drukarkę, dla której formularze papierowe powinny zostać usunięte, i kliknij Właściwości na dole.

4. Poszukaj wymienionych plików w Eksploratorze pod podaną ścieżką (prawdopodobnie C: \ Windows \ System32 \ spool \ drivers \ x64 \ 3)

5.Zrób kopię zapasową wszystkich tych plików (np. W folderze na pulpicie)

6. Otwórz każdy oryginalny plik za pomocą edytora (jeden na raz). Jeśli zawiera czytelny kod, naciśnij Ctrl + F (aby otworzyć wyszukiwanie) i wprowadź jeden z bardziej widocznych formularzy papierowych, który powinien zostać usunięty (np. Pocztówka, Legal, List ...) Jeśli żadne z wyszukiwanych słów nie zostanie znalezione, zamknij plik bez zapisywania i wypróbuj następny plik. (W moim przypadku znalazłem je w plikach z rozszerzeniem „.gpd” i „.inx” dla fizycznych drukarek, „.PPD” dla mojego PDF-Creatora)

7. Po znalezieniu wpisu: Dla wszystkich formularzy papierowych powinien znajdować się akapit z blokami kodu. Kilka przykładów:

    [JAPANESE_POSTCARD]
    MediaType=8.1055
    InputBin=7

lub

    *Option: JAPANESE_POSTCARD_90x90x50x95
    {
        *Name: ""
    }

lub

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

Usuń wszystkie takie bloki dla wszystkich niepożądanych formularzy papierowych. Najprawdopodobniej istnieje więcej niż jeden akapit, który zawiera podobne bloki, więc przeszukuj plik i powtarzaj, dopóki nie zostanie znaleziony żaden. Następnie zapisz i zamknij plik.

8. Po każdej zmianie pliku otwórz dowolny dokument (np. Word, Excel ...) i sprawdź, czy niepożądane formularze papierowe są nadal wymienione na liście właściwości drukowania tej drukarki.

-jeśli nadal jest obecny: wróć do kroku 6, wyszukaj następny plik.

-jeśli nie: gratulacje! (Wróć do kroku 3, jeśli jest więcej drukarek, aby pozbyć się niepożądanych formularzy).

-w przypadku wystąpienia problemów: zastąp ostatnio edytowany plik kopią zapasową. (Może popełniłeś błąd, więc spróbuj ponownie)

Mam nadzieję że to pomoże. Twoje zdrowie!

Stallnig
źródło
1

Na samym serwerze druku formularze znajdują się w rejestrze:

HKLM \ System \ CurrentControlSet \ Control \ Print \ Forms

(UWAGA: Nigdy sam nie usunąłem formularzy stąd, więc najpierw wykonałem kopię zapasową klucza przed usunięciem i przetestowaniem wyników).

TheCleaner
źródło
Usunąłem wpisy pod tym kluczem i uruchomiłem ponownie, ale nadal pojawiają się na liście (Drukarki i faksy> Właściwości serwera> Formularze).
matt wilkie 16.09.2009
... także wiele formularzy wymienionych w oknie dialogowym Właściwości serwera, które nie są wyświetlane pod tym kluczem rejestru.
matt wilkie
1
Właśnie to musiałem zrobić, aby pozbyć się drugiego formularza A2, którego inaczej nie mógłbym usunąć. Dzięki!
Stefan Schmiedl
1

Rozpocznij proces „Zarządzanie drukowaniem” (printmanagement.msc).

W obszarze Serwery wydruku / formularze można usunąć formularze drukarki, ale nie formularze wbudowane.

Muszę jeszcze znaleźć metodę usuwania wbudowanych formularzy, ponieważ ja też nie lubię widzieć tego „szumu” w tym menu rozwijanym.

BlakBat
źródło
1
Jest to znacznie lepszy interfejs niż Właściwości drukarki do zarządzania wieloma formularzami drukarki lub użytkownika, dziękuję. Szkoda, że ​​wbudowanych nie można usunąć lub przynajmniej ukryć przed normalnym widokiem.
matt wilkie