.net - 更改打印队列的默认设置
问题描述
我们正在创建一个从 Excel 文件收集用户输入的脚本。每行代表一台打印机及其特定设置。所以对于每一行,我们需要在打印服务器上创建一个打印队列。
我们正在努力为打印机设置默认设置,因此当网络上的用户将打印机添加到他/她的系统时,设置会从打印服务器上的队列中接管。
示例PageOrientation
在服务器上的打印队列中,我们选择Properties > Preferences > Basic
我们设置的位置PageOrientation = Landscape
。当用户在他/她的系统上安装网络打印机时使用这些设置:
在 PowerShell 中,我们尝试请求 的值PageOrientation
并期望找到Landscape
但总是得到Portrait
。
一些代码:
Add-Type -AssemblyName System.Printing
$permissions = [System.Printing.PrintSystemDesiredAccess]::AdministrateServer
$queueperms = [System.Printing.PrintSystemDesiredAccess]::AdministratePrinter
$server = New-Object System.Printing.PrintServer -argumentList $permissions
$queues = @($server.GetPrintQueues())
$Printer = $queues.Where( {$_.Name -eq $testPrinter.PrinterName})
# Results all in 'Portrait' not 'Landscape'
$Printer.CurrentJobSettings.CurrentPrintTicket.PageOrientation
$Printer.DefaultPrintTicket.PageOrientation
$Printer.PropertiesCollection.UserPrintTicket.value.PageOrientation
$Printer.PropertiesCollection.DefaultPrintTicket.value.PageOrientation
$Printer.UserPrintTicket.PageOrientation
尝试Set-PrintConfiguration
用于更改默认托盘在选中时会反映更改Get-PrinterConfiguration
,但它在 GUI 中不可见,并且在用户添加网络打印机时也不会作为默认值应用。
$PrintConfiguration = Get-PrintConfiguration -PrinterName $PrinterName
$PrintTicketXML = [XML]$PrintConfiguration.PrintTicketXML
$CurrentTray = ($PrintTicketXML.PrintTicket.Feature).where( {$_.name -eq 'psk:JobInputBin'}).option.name
$NewTray = if ($Tray -eq 'AutoSelect') {"psk:$Tray"} else {"ns0000:$Tray"}
$UpdatedPrintTicketXML = $PrintConfiguration.PrintTicketXML -Replace "$CurrentTray", "$NewTray"
Set-PrintConfiguration -PrinterName $PrinterName -PrintTicketXml $UpdatedPrintTicketXML
我们在哪里可以找到这些默认属性,如Default tray
, Paper type
, ... 最重要的是设置它们的值?
解决方案
大家好,我的回答可能为时已晚,但无论如何我都会发布,如果它可以帮助某人,您可以使用 KMDRVSET 来自柯尼卡美能达的 cmd 控制工具。它在 Konica InfoHub 上可用,如果您无法访问 InfoHub,请与 KM 技术人员联系。 手动的
推荐阅读
- javascript - odoo 14 被选中记录是树视图 JS
- amazon-web-services - 具有专用 VPC 配置的 Fargate 集群
- c# - 如何使用 Confidentialclientapplicationbuilder 获取 userTokenCache?
- mysql - 在 MySQL 中使用 Prepared Statements 是否有性能提升
- wordpress - 如何按 ACF 值对 WooCommerce 产品进行排序?
- xpath - XPath 根据字符串中的最后一个单词查找文本
- forms - 如何自动填写 Caldera 表格?
- python - 检测python字符串中的字母数字/数字值
- reactjs - 未处理的拒绝(错误):请求失败,响应中的状态码为 404
- shopify - Shopify Narrative Theme - 如何将产品页面从 1 列布局更改为 2 列布局