点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们有一个带有以下页面设置的标签报告:
现在,当在客户PC上通过PrintToPrinter()打印时,PaperSize在内部更改为A4,并且Label呈现为一个小的黑色矩形(5 x 5 mm)。 因此,CR(?)找不到打印前赋予PrintOptions.PrinterName的Printername。
有什么方法可以查看* 为什么* CR无法找到特定的打印机或打印机尺寸?
我已经阅读了一些有趣的讨论,例如:
区分大小写是否重要? 例如 " \\ PSI-WIN8 \ ..."与" \\ psi-win8 \ ..."
PrintToPrinter和PrintOutputController.PrintReport之间的行为是否会有所不同?
有什么想法吗?
帕特里克
(14.9 kB)
嗨,帕特里克,
我的打印机应用程序查询系统打印机以获取纸张尺寸,您可以将这些尺寸与CR寻找的尺寸进行比较。 我的打印机测试应用程序执行所有这些操作,将打印机信息保存在报告中。 一切就在这里,您只需要在应用程序中进行编码即可。
逻辑是这样
if(rptPRT.DriverName =="" && rptPRT.SavedDriverName.ToString()==" winspool")//找不到设计打印机
可以使用相同的纸张尺寸。
我的测试应用程序位于WIKI页面上。
Don
@ Don,Ludek:那里有上师吗?
嗨帕特里克,
打印时的逻辑是引擎将尝试查找与保存时相同的自定义纸张尺寸。 因此,如果找不到,就无法通过ENUM或名称来找到该纸张尺寸。
使用自定义纸张尺寸时,您需要做的就是在每个PC上使用" SAME NAME"。 然后,CR将尝试按名称查找论文。
也选中Dissociate,以便它将在所选打印机上按名称查找该尺寸。 如果不这样做,就不会按名称查找,而是使用指定的ENUM。
POC是一种更好的使用方式。
我的打印机测试应用程序应该可以为您工作,并在下载的WIKI页面上说明其工作方式。
唐
感谢唐,
我进一步分析了该问题,发现Raw(ENUM)从一台PC到另一台PC不同-这怎么会发生?
在我的测试应用中,客户计算机上的屏幕截图:
在我的PC上:
因此,纸张尺寸的内部编号不同,但是驱动程序版本到处都是相同的(6.3.9600.16384):
那么,使用ENUM查找纸张尺寸对于CR来说不是危险/微妙的吗?
(纸张尺寸的名称是相同的...(请参见上文))
ER:找到某处线索(属性/事件),以便在找不到纸张尺寸(+原因)时得到通知。
帕特里克
是的,这是一个问题。 我相信SP 19或更高版本应首先按名称查找Papers大小。 尝试使用最新的VS SP CR,这就是为什么我告诉您确保它们都命名相同的原因。
第一次测试时,我使用了Seagull Scientific打印机驱动程序:
https://www.seagullscientific.com/drivers/windows-printer-drivers /
虽然不是免费的,但是他们的驱动程序可以手动分配ENUM。
大多数驱动程序不允许这样做,而只是分配下一个可用驱动程序。
唐
嗨唐,
您是否具有用于搜索纸张尺寸的更正的确切事件编号(或KBA)? 我在修复程序中找不到它。...
我们的客户仍然使用SP 18(由于SP 21的安装中断,我们没有在客户方面转移到SP22)。
顺便说一句:SP 23发行时知道吗?
海鸥驱动程序不支持Dymo。
您如何看待上面的我的增强请求(ER)?
Patrick
DEV对我从上方提出的ER建议有何反应?
" ER:在某处获取线索(属性/事件),以在何时/为什么未找到纸张尺寸(+原因)时得到通知/通知。"
所以也许是一个带有一些信息的日志字符串,为什么使用纸张尺寸 或找不到打印机。...
帕特里克
一周热门 更多>