找回密码
 立即注册

QQ登录

只需一步,快速开始

frog28612861
注册会员   /  发表于:2022-11-15 12:33  /   查看:4446  /  回复:10
100金币
Section Report,调用 GrapeCity.ActiveReports.SectionReport的Run()进行打印,报如下错误信息

Failed to open the XXXXXXXX printer, System error number: 5
   場所 GrapeCity.ActiveReports.Extensibility.Printing.DDPaperSize.AddCustomPaperSize(String printerName, String paperName, Single width, Single height)
   場所 GrapeCity.ActiveReports.SectionReport.#azb()

   場所 GrapeCity.ActiveReports.SectionReport.#1yb(Boolean bDelayedInit)
   場所 GrapeCity.ActiveReports.SectionReport.Run(Boolean syncDocument)
   場所 Client.BaseForm.Print(String strId, String strPrinterName)


操作系统登录用户,不是管理员权限,会报上面的错误,
但如果程序是以管理员权限启动的,就不会报这个错误。

想请问一下,使用ActiveReports进行打印,一定要是管理员权限吗?还是普通用户也可以?

最佳答案

查看完整内容

是不是这样的情况? https://blog.csdn.net/ggw128/article/details/6886281

10 个回复

倒序浏览
最佳答案
最佳答案
frog28612861
注册会员   /  发表于:2022-11-15 12:33:44
来自 10#
Bella.Yuan 发表于 2022-11-16 15:06
您好,首先AR只是一个报表控件,可以对报表进行设计,展示,导出,打印等功能,针对打印,需要您连接到打 ...

是不是这样的情况?
https://blog.csdn.net/ggw128/article/details/6886281
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2022-11-15 14:41:47
2#
您好,这个问题是咱们的报表没有使用打印机的权限导致的,您看看打印机是否是在管理员权限下安装的。
可以给报表设置打印权限,就可以用普通用户了。
回复 使用道具 举报
frog28612861
注册会员   /  发表于:2022-11-15 14:47:41
3#
Eden.Sun 发表于 2022-11-15 14:41
您好,这个问题是咱们的报表没有使用打印机的权限导致的,您看看打印机是否是在管理员权限下安装的。
可以 ...

您好!现在是这样的,是局域网里的打印机,连接这个打印机的时候,操作系统登录的用户应该不是管理员。但看打印机的属性,Everyone也已经设置了打印权限。

给报表设置打印权限,这个应该如何设置,能具体说明一下吗?
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-11-15 16:19:40
4#
frog28612861 发表于 2022-11-15 14:47
您好!现在是这样的,是局域网里的打印机,连接这个打印机的时候,操作系统登录的用户应该不是管理员。但 ...

您好,帮您找了一个链接,您看一下是否对您有帮助:
https://www.grapecity.com/forums ... th-custom-papersize
回复 使用道具 举报
frog28612861
注册会员   /  发表于:2022-11-15 16:55:23
5#
Bella.Yuan 发表于 2022-11-15 16:19
您好,帮您找了一个链接,您看一下是否对您有帮助:
https://www.grapecity.com/forums/ar-dev/failed-t ...

您好!链接里设置打印机名称,这个已经做了。不然也不会出现找不到打印机的错误消息。
打印内容是小票,不是A4纸这样通用的报表。

现在如果是管理员权限启动系统,是可以打印的。

所以现在想知道,如果要打印Custom的报表,是不是一定需要管理员权限才行?
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-11-15 18:25:08
6#
frog28612861 发表于 2022-11-15 16:55
您好!链接里设置打印机名称,这个已经做了。不然也不会出现找不到打印机的错误消息。
打印内容是小票, ...

您好,这个应该还是权限问题导致的,帮您找了2个链接,您可以参考一下:
https://www.cnblogs.com/javawebsoa/archive/2013/05/22/3093441.html
https://social.technet.microsoft.com/Forums/office/en-US/938741a6-f3f0-4f11-bcc2-3bfff60faab3/win32-error-code-returned-by-the-print-processor-5-access-is-denied?forum=winserverTS
回复 使用道具 举报
frog28612861
注册会员   /  发表于:2022-11-16 10:45:01
7#
Bella.Yuan 发表于 2022-11-15 18:25
您好,这个应该还是权限问题导致的,帮您找了2个链接,您可以参考一下:
https://www.cnblogs.com/javaw ...

谢谢!
上午我本地也试了一下,情况是这样的
使用的打印机是win10自带的 Microsoft Print to PDF,有两种纸的报表,一种是A4,另一种是Custom
其中A4的报表,可以正常PREVIEW,也可以直接PRINT
Custom的报表,在操作系统用户是管理员的时候,可以正常PREVIEW,也可以PRINT;
但操作系统用户是普通用户的时候,就无法PREVIEW和PRINT了。

所以问题就是:如果普通用户,想要打印Custom的报表,该如何设置?

附上错误信息


例外の詳細:
System.ApplicationException: Failed to open the Microsoft Print to PDF printer, System error number: 5
   場所 GrapeCity.ActiveReports.Extensibility.Printing.DDPaperSize.AddCustomPaperSize(String printerName, String paperName, Single width, Single height)
   場所 GrapeCity.ActiveReports.SectionReport.#azb()
   場所 GrapeCity.ActiveReports.SectionReport.#1yb(Boolean bDelayedInit)
   場所 GrapeCity.ActiveReports.SectionReport.Run(Boolean syncDocument)
   場所 GrapeCity.ActiveReports.Viewer.Win.AsyncLoader.<>c__DisplayClass7.#cAz(Object param0, DoWorkEventArgs param1)
   場所 System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
   場所 System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
回复 使用道具 举报
frog28612861
注册会员   /  发表于:2022-11-16 11:40:28
8#
本地试了一下,操作系统登录的用户,如果有对这个打印机有管理的权限,就可以打印了。
如果没有管理权限,只有打印权限,就只能打印默认的A4,无法打印Custom纸张的报表。

这个是因为打印Custom报表的时候,ActiveReports会更改打印机,添加ARCustom类型纸张的原因吗?
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-11-16 15:06:06
9#
frog28612861 发表于 2022-11-16 11:40
本地试了一下,操作系统登录的用户,如果有对这个打印机有管理的权限,就可以打印了。
如果没有管理权限, ...

您好,首先AR只是一个报表控件,可以对报表进行设计,展示,导出,打印等功能,针对打印,需要您连接到打印机,这样就可以实现打印功能,所以您说的打印权限问题,这个应该是您那边的用户权限或者打印机的权限问题,需要您那边检查一下对应的权限,上面也帮您找了几个链接,您可以参考进行解决。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部