使用Crystal Report和泰文语言生成许多PDF时,应用程序崩溃

2020-09-20 22:58发布

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

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


我们正在使用Crystal Reports在多线程循环中生成145,112个PDF。

生成大约826个PDF后,我们的应用程序将崩溃。

我们已将此问题隔离为在报告中打印泰语字符并使用 PSL Kittithada Pro 字体的组合。

使用Crystal Reports时是否需要某种泰文多语言支持?

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

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


我们正在使用Crystal Reports在多线程循环中生成145,112个PDF。

生成大约826个PDF后,我们的应用程序将崩溃。

我们已将此问题隔离为在报告中打印泰语字符并使用 PSL Kittithada Pro 字体的组合。

使用Crystal Reports时是否需要某种泰文多语言支持?

付费偷看设置
发送
5条回答
huskylover
1楼 · 2020-09-20 23:38.采纳回答

更改该注册表项不会影响它可以顺序处理的报告数量,最好将其保留为默认值75。

您使用的是CR运行时的免费版本,它不能重复处理数千个报告,也称为报告突发。 要升级到下一版本的Crystal Server,您最多可以运行4台RAS服务器来处理报告。

您可以从这里获取它:

https://www.sap.com/products/crystal-server.html

Don

空代码
2楼-- · 2020-09-20 23:16

定期,您需要致电

Marshal.ReleaseComObject( reportdocument );

获取该程序以释放它用于ReportDocument的内存。

此外,您不能真正更改.NET SDK的打印作业限制-运行时许可证将其限制为100个并发打印作业。 因此,如果您使用多线程并同时运行多个报告,则可能会遇到问题。 "打印作业"定义为主报告以及该报告中子报告的每个实例。 例如,如果您有一个仅在报表标题中运行的子报表,则您有2个打印作业。 但是,如果您有一个在详细信息部分中运行的子报表,并且显示了100条记录,则您有101个打印作业,这将失败。

-Dell

吹牛啤
3楼-- · 2020-09-20 23:38

首先,我将介绍一些与语言和字体无关的东西。

应用程序是用哪种语言编写的-Java, VB.NET 或C#.NET?

如果是.NET语言中的任何一种,则代码是否曾经在ReportDocument实例上显式调用.dispose()或该实例在" using"子句中? 如果没有,那可能至少是您问题的一部分。 .NET SDK建立在COM对象的基础上,.NET无法很好地管理内存,因此需要明确处理,否则应用程序的内存使用量将一直增加,直到计算机上的所有内存用完为止。/p>

其他一些对内存使用造成负面影响的事情是:

1。 使用" TotalPages"或" PageNofM"。 如果不使用这些选项,Crystal将在渲染每个页面时将其导出。 如果使用它们,Crystal必须渲染所有页面,然后才能导出任何报告。

2。 子报表的使用,尤其是在详细信息部分中时。

-Dell

callcenter油条
4楼-- · 2020-09-20 23:38

我在VS版本13.0.9.1312中使用CR。

我还附上了该字体的屏幕截图。 看起来确实是True Type字体,不是吗?

向SP 22迁移可能会有所帮助,它使用了usp10.dll的更新版本,如果先前版本中存在问题,则可以修复该问题。

更新时,您必须阅读SP 21信息以更新项目参考等。

第二个问题/问题是CR仅支持TTF类型的字体,如果您的字体不是,请使用该字体的ttf版本进行测试。

在CR Designer中打开报表,然后依次单击"视图","首选查看区域设置",然后单击"更多..."。向下滚动,您应该会看到泰语。

进行设置,然后右键单击其中一个字段并选择True Type字体。

现在可以多次预览报告,并查看它是否始终如一。

我认为这是导致内存问题的字体,请尝试使用其他字体,看看它在您的应用程序中是否仍然存在内存问题。

Don

SAP小黑
5楼-- · 2020-09-20 23:36

我现在所建议的就是升级到SP 22,看看更新的usp10.dll是否有助于解决问题

一周热门 更多>