gpt4 book ai didi

windows - UNIDRV 打印机驱动程序 - 获取自定义纸张尺寸时遇到问题

转载 作者:可可西里 更新时间:2023-11-01 11:51:20 27 4
gpt4 key购买 nike

正在处理自定义打印机驱动程序......

我无法让某些应用程序(如 Microsoft Word 等)识别自定义纸张尺寸。

显示供应商纸张尺寸,但在自定义应用程序中,“自定义大小”选项根本不显示

enter image description here

在 Word 中,我看到了自定义页面大小 - 但尝试打印时,出现了一系列关于页边距的警告:

enter image description here enter image description here

……

并且在打印时,自定义尺寸的文档会被发送到定义的尺寸之一。

gpd(假设 100 dpi):

*Feature: PaperSize
{
*rcNameID: =PAPER_SIZE_DISPLAY
*DefaultOption: Size_2x4
*Option: Size_2x4
{
*Name: "2 x 4"
*PageDimensions: PAIR(200, 400)
*PrintableArea: PAIR(200, 400)
*PrintableOrigin: PAIR(0, 0)
}
*Option: Size_4x4
{
*Name: "4 x 4"
*PageDimensions: PAIR(400, 400)
*PrintableArea: PAIR(400, 400)
*PrintableOrigin: PAIR(0, 0)
}
*Option: Size_4x6
{
*Name: "4 x 6"
*PageDimensions: PAIR(400, 600)
*PrintableArea: PAIR(400, 600)
*PrintableOrigin: PAIR(0, 0)
}
*Option: CUSTOMSIZE
{
*rcNameID: =USER_DEFINED_SIZE_DISPLAY
*MinSize: PAIR(40, 40)
*MaxSize: PAIR(1200, 3000)
*MaxPrintableWidth: 3000
*MinLeftMargin: 0
*TopMargin: 0
*BottomMargin: 0
*CenterPrintable?: TRUE
*CursorOrigin: PAIR(0, 0)
}
}

唯一缺少的一项是 *Command - 在 Microsoft examples 中:

*Command: CmdSelect
{
*Order: DOC_SETUP.13
*Cmd: "<1B>&l101a8c1e63F<1B>*p0x0Y<1B>*c0t12456x8184Y"
}

不幸的是,我为之定制的打印机有不同的打印机语言,不包括页面设置命令。所以 - 因为我没有命令可以给出,所以不包含命令是有意义的。我尝试过更改纵向和横向的光标位置,但效果不佳。

我的假设是否正确,如果 gpd 正确,应用程序将发送自定义大小信息,而用户不会使用和选择“自定义”选项?我只是看不到我还能做些什么来修复 gpd...

我假设因为这些是标准部分,所以 UI 插件不需要专门创建它们...如果这个假设是错误的,那么在 OEM UI 插件中需要什么来显示这个部分?

最佳答案

Word 似乎试图通过确定您的打印机支持的纸张尺寸来提供“帮助”。然后,Word 将尝试通过调整页边距和页面大小来强制文档适应它认为支持的尺寸。它通过检查您的 GPD 中定义的纸张尺寸来做到这一点。 仅分析标准和供应商定义的纸张尺寸; CUSTOMSIZE 定义似乎被完全忽略。在 Word 2013 中,至少默认为 *PaperSize选项也有所不同。例如,我在我的 GPD 中定义了一个更大的纸张尺寸,但在我将其设为默认选项之前它一直被忽略。

请记住,Word 支持的最大页面大小为 22"x22" [link] .供应商定义的纸张尺寸可以大于此尺寸,但这些尺寸并未显示在 Word 的页面尺寸选项列表中。然而,在这种情况下,Word 仍然接受指定自定义页面大小,最大为我更大但未列出的供应商定义的纸张大小,而不强加边距。

如果在 Word 中显示纸张大小很重要,您可能需要进行试验以了解 Word 会接受什么。我发现我的打印机驱动程序可接受的供应商定义的纸张尺寸限制为 ~4.04"x~20.04"。 Word 的页面大小列表中没有大于此的大小。

在诊断此问题时,我发现每次更换打印机时,Word 2013 都会刷新其与打印机相关的页面大小列表。基于这一观察,我能够使用以下过程来试验可接受的纸张尺寸:

  1. C:\Windows\System32\spool\drivers\<platform>\3 打开安装的 GPD在具有管理员权限的程序中。
  2. 启动 Word。
  3. 打开测试文档。
  4. 文件 > 打印。
  5. 选择您的打印机。
  6. 检查列出的页面大小。
  7. 调整 *PageDimensions*PrintableArea您在步骤 1 中打开的 GPD 中供应商定义的纸张尺寸的值。
  8. 保存 GPD 文件。
  9. 在 Word 中选择不同的打印机。

重复步骤 5-9,直到纸张大小出现在 Word 的页面大小列表中。

关于windows - UNIDRV 打印机驱动程序 - 获取自定义纸张尺寸时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28996976/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com