システムのデフォルトのプリンターフォームを削除する方法


12

Windowsには、プリントサーバーのプロパティダイアログから削除できないシステムのデフォルトのプリンターフォームがあります。削除できる他の方法はありますか?Envelope、B5(JIS)、US Std Fanfoldなどのようなページサイズを使用することは決してありません。ユーザー(および私自身)が大きな長いノイズリストをスクロールしなくて済むようにしたいと思います。

プリントサーバーのプロパティボックスに使用できない削除ボタンがあります

違いがあれば、プリントサーバーはWindows Server 2003です。


システムフォームを削除するオプションはありません。毎回下にスクロールするのではなく、プリンターの各トレイにデフォルトのフォームを設定してみてはどうでしょうか?
ServerFaulter

@ServerFaulter、複数のプリンターに同じフォームが必要です(ほとんどの場合、トレイは1つしかありません。ほとんどは大判ロールフィードプロッターです)。
マットウィルキー

2
これは完全にゲットーですが、フォーム000 MyForm - MyPageSizeなどに名前を付けることもできます。
voretaq7

@ voretaq7実際には、それが最良の選択肢だと思います。
ダン

2
@Dan問題を回避しますが、確かに解決しません。あなたは本当にすべきで、不要なテンプレートを削除することはできますが、MSは雑用がそれをネジことを確認するために起こっている場合。
voretaq7

回答:


5

私の最初の考えは、これがWindows APIを使用して達成できるかどうかを確認することでしたが、Win32 Printer Forms APIに関するこの Webサイトによれば、システムフォームをプログラムで削除することすらできません。

組み込みフォームでDeleteForm()を実行することはできません。ERROR_INVALID_PARAMETERで失敗します。

私の2番目の考えは、比較的一意のフォーム名を見つけて、US Std Fanfoldレジストリ全体を検索することでした。驚くべきことに、エントリーはかなり多くの場所で行われます。したがって、私の提案は、空白の32ビットマシン(シャドウキーとの混同を避けるために32ビット)を構築し、それらのキーのいくつかで町に行くことです。動作するようになれば、これを行う必要がある場所に簡単に移調できるはずです。

ただし、Microsoftが明らかにこれを望んでいないことを考えると、サポートと互換性の問題に自分自身を開放していると言わざるを得ません。


リンクされたフォームAPIページは非常によく書かれています。私は開発者ではありませんが、多くのことを明確にしています。ありがとう。
マットウィルキー

2

標準の用紙はプリンタードライバーの一部であり、対応するファイルから手動でのみ削除できます。

ここに私がそれをどのようにしてできたかのガイドがあります:

1.CMDを管理者として開きます。

2.「printui / s / t2」と入力します(引用符なし)

3.開いたウィンドウで、用紙を削除するプリンターを選択し、下部の「プロパティ」をクリックします。

4.記載されたパス(おそらくC:\ Windows \ System32 \ spool \ drivers \ x64 \ 3)の下にあるエクスプローラーでリストされたファイルを探します。

5.これらすべてのファイルのバックアップコピーを作成します(デスクトップ上のフォルダーなど)

6.元の各ファイルをエディターで(一度に1つずつ)開きます。読み取り可能なコードが含まれている場合は、Ctrl + F(検索を開く)を押して、削除する必要のある目立つ名前の紙のフォーム(ハガキ、リーガル、レターなど)を入力します。検索された単語が見つからない場合、保存せずにファイルを閉じ、次のファイルを試してください。(私の場合、物理プリンターの拡張子が「.gpd」、「。inx」、PDF-Creatorの「.PPD」のファイルで見つかりました)

7.エントリが見つかった場合:すべての紙のフォームについて、コードブロックを含む段落がリストされている必要があります。いくつかの例:

    [JAPANESE_POSTCARD]
    MediaType=8.1055
    InputBin=7

または

    *Option: JAPANESE_POSTCARD_90x90x50x95
    {
        *Name: ""
    }

または

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

望ましくないすべての紙のフォームに対して、そのようなブロックをすべて削除します。同様のブロックを含む段落が複数ある可能性が高いため、ファイルを検索し続け、見つからないまで繰り返します。次に、ファイルを保存して閉じます。

8.すべてのファイルを変更したら、ドキュメント(Word、Excelなど)を開き、そのプリンターの印刷プロパティに不要な用紙フォームがまだリストされているかどうかを確認します。

-まだ存在する場合:手順6に戻り、次のファイルを検索します。

-そうでない場合:おめでとうございます!(不要なフォームを削除するプリンターがさらにある場合は、手順3に戻ります)。

-問題がある場合:最後に編集したファイルをバックアップで上書きします。(たぶん間違えたので、もう一度やり直してください)

お役に立てれば。乾杯!


1

プリントサーバー自体では、フォームはレジストリにあります。

HKLM \ System \ CurrentControlSet \ Control \ Print \ Forms

(注:ここからフォームを削除したことがないので、結果を削除してテストする前に、最初にキーのバックアップを作成します)。


そのキーの下のエントリを削除して再起動しましたが、リストに引き続き表示されます([プリンタとFAX]> [サーバーのプロパティ]> [フォーム])。
マットウィルキー

...また、[サーバーのプロパティ]ダイアログには、そのレジストリキーの下に表示されない多くのフォームがリストされています。
マットウィルキー

1
それは、それ以外では削除できなかった2番目の A2フォームを取り除くためにまさに必要だったことです。ありがとう!
ステファンシュミードル

1

「印刷管理」プロセス(printmanagement.msc)を開始します。

[プリントサーバー/フォーム]で、プリンターフォームを削除できますが、ビルトインフォームは削除できません。

私もビルトインフォームを削除する方法をまだ見つけていません。私もそのドロップダウンにすべての「ノイズ」を見るのが好きではありません。


1
これは、複数のプリンターまたはユーザーフォームを管理するためのプリンタープロパティよりもはるかに優れたインターフェイスです。ありがとうございます。組み込みのものは削除できないか、少なくとも通常のビューからは隠すことができないのは残念です。
マットウィルキー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.