在Windows上,存在无法从“打印服务器属性”对话框中删除的系统默认打印机表单。还有其他删除方式吗?我们将永远不会使用信封,B5(JIS),US Std Fanfold等页面大小,并且我想避免用户(和我自己)滚动大量的噪音。
如果有任何区别,我们的打印服务器是Windows Server 2003。
000 MyForm - MyPageSize
或类似名称。
在Windows上,存在无法从“打印服务器属性”对话框中删除的系统默认打印机表单。还有其他删除方式吗?我们将永远不会使用信封,B5(JIS),US Std Fanfold等页面大小,并且我想避免用户(和我自己)滚动大量的噪音。
如果有任何区别,我们的打印服务器是Windows Server 2003。
000 MyForm - MyPageSize
或类似名称。
Answers:
我的第一个想法是,看看是否可以通过使用Windows API的实现,但根据该网站对Win32的打印机表单API,它甚至不能以编程方式删除系统形式:
不能在内置表单上使用DeleteForm():它失败并显示ERROR_INVALID_PARAMETER。
我的第二个想法是找到一个相对唯一的表单名称,例如,US Std Fanfold
然后搜索整个注册表。出人意料的是,入口在很多地方都有收获。因此,我的建议是建造一台空白的32位计算机(避免与影子密钥混淆的32位计算机)并使用其中一些密钥。如果您可以使用它,那么很容易将其转置到您需要执行此操作的任何地方。
但是,必须要说的是,鉴于Microsoft显然不希望您这样做的程度,您将开放自己的支持和兼容性问题。
标准纸张形式是打印机驱动程序的一部分,只能从相应的文件中手动删除。
这是我如何做到的指南:
1.以管理员身份打开CMD。
2.输入“ printui / s / t2”(不带引号)
3.在打开的窗口中,选择要删除纸张形式的打印机,然后单击底部的“属性”。
4,在指定路径下的资源管理器中查找列出的文件(可能是C:\ Windows \ System32 \ spool \ drivers \ x64 \ 3)
5.对所有这些文件进行备份(例如,在桌面上的文件夹中)
6.使用编辑器打开每个原始文件(一次打开一个)。如果包含可读代码,请按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)。
-如果有任何问题:用备份覆盖上次编辑的文件。(也许您输入有误,请重试)
希望这可以帮助。干杯!
在打印服务器本身上,表格位于注册表中:
HKLM \ System \ CurrentControlSet \ Control \ Print \ Forms
(注意:我从来没有从这里删除过表格,因此在删除和测试结果之前,我会先备份密钥)。