PaperSize地狱

2020-09-19 11:49发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


首先,如果我尝试为Dymo标签打印机保存页面设置(使用CR 2016 SP5),CR不会保留纸张尺寸。 更改为正确的值后,我保存了报告:

然后我关闭报告并重新打开它:

,而11354消失了。 有什么想法吗?

此外,在使用Don's测试程序时,也缺少正确的纸张尺寸:

您看到打开报告后PaperSize已经错误:

PS。 我正在使用CR VS.Net SP22测试RAS。

另一个问题:是否可以使用RAS(SaveAs方法)将11354纸张大小保存回原始报告文件?

此致

帕特里克

(11.4 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


首先,如果我尝试为Dymo标签打印机保存页面设置(使用CR 2016 SP5),CR不会保留纸张尺寸。 更改为正确的值后,我保存了报告:

然后我关闭报告并重新打开它:

,而11354消失了。 有什么想法吗?

此外,在使用Don's测试程序时,也缺少正确的纸张尺寸:

您看到打开报告后PaperSize已经错误:

PS。 我正在使用CR VS.Net SP22测试RAS。

另一个问题:是否可以使用RAS(SaveAs方法)将11354纸张大小保存回原始报告文件?

此致

帕特里克

(11.4 kB)
付费偷看设置
发送
7条回答
d56caomao
1楼 · 2020-09-19 12:33.采纳回答

嗨,帕特里克,

谢谢您的报告,我无法测试打印报告,没有数据。

我在您的系统上看到了问题,您正在使用本地打印机设置纸张尺寸,但是在此页面上,您选择的是重定向(2)打印机。 如我所说,请在本地安装打印机,不要使用重定向的驱动程序。 这是我们无法解决的MS远程桌面问题。

在装有Dymo 450的PC上,一切正常。 即使您选择11353纸张尺寸,它仍然使用5.x X 3.x尺寸用户定义的尺寸。

此外,MS添加打印机的方式是它自动将ENUM分配给纸张尺寸。 在我的PC上,Dymo 450 ENUM的起始@200。在我的PC上,这是11353:

ENUM:245名称:11353多功能

我相信正在发生的事情是CR正在注册表中查找ENUM,Easy Print(Redirected(2))没有输入打印机的注册表值,因此CR无法找到一个,而只是默认为Default打印机值 。 我认为CR可能根本没有内置任何逻辑来应对这种情况。

因此请勿使用重定向打印机,因为我们一直说CR具有硬件和软件依赖性,因此它要求在本地安装打印机。 这可能是我之前指出的问题,Windows 2016 Server上的Citrix和远程桌面将始终使用服务器的默认打印机。

这里是解决此问题的另一种方法,请参见此博客,该示例在测试应用程序中也已注明:

//DISPLAY =没有打印机。
//请参阅此博客,了解如何不设置打印机 http://scn.sap.com/community/crystal-reports -for-visual-studio/blog/2010/09/15/如何在网上使用ras-sdk检查晶体报告上的无打印机
//要求克隆一个没有检查打印机的报告,然后在真实报告中使用这些属性。
//同样,如果您没有选中任何打印机并且要打印为纵向,则需要将虚拟报告设置为 能够做到这一点

使用用户定义的纸张尺寸创建虚拟报告,然后将报告保存在CR Designer中,我认为SDK不允许您设置"无打印机"。 我之前进行过测试,但我不记得为什么或是否有可能...

要做的事情:

1。 在远程服务器上安装打印机

2。 尝试使用虚拟报告,并在报告中设置"无打印机",有关详细信息,请参见测试应用和博客

3。 请与Microsoft联系,以获取如何将重定向打印机ENUM放入要从其远程处理的PC的注册表值中。

Don

土豆飞人
2楼-- · 2020-09-19 12:22

嗨Patrick,

不在CR Designer中在打印机上创建自定义纸张尺寸。

然后从打印机中选择纸张尺寸,然后您将获得正确的值。

Crystal仅在可以在打印机的纸张尺寸列表中找到某些内容的情况下才会选择纸张尺寸,而不会为您在打印机中创建自定义纸张尺寸。

正如我在其他帖子中所说,在您拥有的每台打印机上创建自定义纸张尺寸。 然后,当从应用程序进行打印时,它将找到相同的自定义纸张尺寸并使用它,而无需执行任何代码。

天桥码农
3楼-- · 2020-09-19 12:25

嗨,唐,

对于Dymo打印机,似乎无法创建自定义纸张尺寸:

您只能选择纸张尺寸。

就像我在以前的帖子中所写的那样( Dymo标签打印机(PaperSize)的问题),表明您的Seagull驱动程序不支持Dymo打印机。

那么在Dymo打印机上使用CR的机会游戏吗? DEV有任何反馈吗?

我在上面所做的示例测试仅是使用CR Designer 2016进行的,因此没有CRVS2010。 但是,CR 2016中存在错误吗? 测试是在同一台PC上进行的,与CRVS没有任何交互! 因此,CR 2016在打开报告时找不到纸张尺寸,CR在此之前保存了相同的尺寸....奇怪吗?

顺便说一句。 您没有回答有关CRVS的问题" 另一个问题:是否可以使用RAS(SaveAs方法)将11354纸张大小保存回原始报告文件?"

此致

帕特里克

黑丝骑士
4楼-- · 2020-09-19 12:26

嗨Patrick,

这是打印机本身的功能,自定义纸张尺寸我们无能为力,唯一的选择就是使用打印机发回给我们的纸张。

哦,是的,我记得现在我们确实讨论过Dymo打印机和Seagull...。

我现在看到了问题,我第一次错过了它... PrinterName-DYMO LabelWriter 450(重定向2)

您正在Windows 2016 Server上使用远程桌面或Citrix。

"(重定向2)"是Microsoft所说的"轻松打印",它不能很好地工作。 由于某些原因,他们更改了2016服务器上的工作流程。 我有一个大型OEM,在使用他们的Easy Print驱动程序时与MS进行了5分钟的延迟,但是我从未听到他们是否解决过该问题的回信...

我最近遇到了一个与KBA完全相同的问题

2631171-在将Remote Desktop或Cirtix客户端用于VS for CR应用程序时始终选择默认打印机

(使用Google搜索,链接对您不起作用)

我从未使用CR Designer进行过测试,但我看到它存在相同的问题,它始终使用2016 Server上的默认打印机,对此我们无能为力。 这是MS更改后的服务器的注册表项设置,现在将其称为legacy ..(我忘记了确切的Reg项名称)。 但是结果是当RDC或Ctrix进入远程服务器时,它将始终选择该服务器上的默认打印机,而忽略用户的默认打印机。

致电Microsoft,对此我们无能为力。

如果他看到其他人有这个问题,我将让CR Designer Nexus更新KBA使其也包括CRD,或者与他聊天。

CPLASF-自律
5楼-- · 2020-09-19 12:40

更新:确实是简单打印的问题。 我使用的不是Windows Server 2016,而是Windows 8.1上的Hyper V-增强会话中使用虚拟机连接来访问虚拟机,类似于远程桌面。

我现在在虚拟机(也是Windows 8.1)中本地安装了Dymo打印机。 在这里,当我打开CR Designer 2016时,取消选中"无打印机",选择本地Dymo和" 11354多用途"纸张尺寸,重新打开报告后纸张尺寸仍保留在那里-很好。

因此,以前始终保留重定向打印机,但是丢失了纸张尺寸(由于Easy Print?)。 打印机是否还有一些默认的纸张尺寸,或者CR设计人员如何找到" 30334"纸张尺寸(见上文)?

关于在终端服务器上安装打印机:您对客户有何建议? 始终在服务器会话上本地安装打印机,永远不要重定向它们或....? 微软对这个问题告诉您什么?

Patrick

派大星 ヾ
6楼-- · 2020-09-19 12:25

嗨Patrick,

嗯,感谢您添加平台信息。

重定向一直是框架和CRD的问题。 这是Easy Print(MS称之为)的本质。 它将虚拟打印机驱动程序发送到工作站,但是问题是CR Designer除了从注册表中之外无法对其进行访问。 没有物理打印机驱动程序可以从中获取信息。 CRD使用的是DEVMODE(W),因为它不存在,唯一的选择是使用用户的属性。本地PC上的默认打印机,如果找不到打印机,那么我们只能使用USP10格式化报告,而不会 能够创建自定义纸张尺寸。

因此,当您使用Dymo打印机CR设计报告时,会将这些设置复制到报告中,现在,当不使用打印机时,它将使用RPT文件中保存的内容,而不会尝试在打印时找到"最合适的"文件 完成。

因此,现在将驱动程序安装在本地就可以了,CR Designer总是要求将打印机安装在本地,因此它访问DEVMODE-DM模式以获取客户属性。 CR for VS使用Framework来获取打印机属性并使用它进行打印,如果该框架再次遇到Easy Print的问题,我们就不能要求他们进行更改。

对于要求MS修复其Easy Print驱动程序,这不是我们可以做的。 它是他们的产品,用户按原样使用它,我们无权建议他们更改它,它必须来自最终用户。


再次感谢

吹牛啤
7楼-- · 2020-09-19 12:32

回到我原来的问题。

假设我只在本地打印机上工作(没有Easy Print),CRDesigner会找到所有打印机信息和纸张尺寸。 如何更改纸张尺寸并使用CRVS将其保存回报表(rpt),所以当我重新打开CRD 2016时,页面设置会显示更改的纸张尺寸?

我安装了本地Dymo 450,它具有一些预定义的纸张尺寸:

但是它也不起作用。

原始报告:

使用您的应用打开报告,然后选择正确的打印机和大小195(左侧):

点击"设置打印机"后:

保存报告并在CRD中重新打开后,纸张尺寸不正确:

帕特里克

一周热门 更多>