找不到方法

2020-08-23 10:26发布

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

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


我们在.Net 4.5上使用CRforVS 64位13.0.20都工作正常,但是当我们尝试将结果扩展为pdf时,我们发现:

未找到方法:"无效CrystalDecisions.ReportAppServer.ReportDefModel.PDfExportFormatOptionsClass.set_CurrentPage(Int32)"。

如果我们尝试导出为任何其他格式,也会发生这种情况。 在pdf打印机上打印报告时,一切都很好。我们相信我们已经尝试了所有可能性,但这仍然是我们唯一不知道如何在所有Project中投入使用的事情。

最好的问候

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

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


我们在.Net 4.5上使用CRforVS 64位13.0.20都工作正常,但是当我们尝试将结果扩展为pdf时,我们发现:

未找到方法:"无效CrystalDecisions.ReportAppServer.ReportDefModel.PDfExportFormatOptionsClass.set_CurrentPage(Int32)"。

如果我们尝试导出为任何其他格式,也会发生这种情况。 在pdf打印机上打印报告时,一切都很好。我们相信我们已经尝试了所有可能性,但这仍然是我们唯一不知道如何在所有Project中投入使用的事情。

最好的问候

付费偷看设置
发送
10条回答
歪着头看世界
1楼 · 2020-08-23 10:56.采纳回答

这可能是由于用户对报表所使用的字体的权限所致。

因此,仅创建一个具有标准字体的对象的虚拟报表,然后查看该报表是否失败。

d56caomao
2楼-- · 2020-08-23 11:14

尝试一下:

如果(ExportTypeSelected ==" crReportExportFormatPDF")
 #region PDF
 {
    //这项工作不会改变
    //这将获取报告名称,并将导出名称设置为与扩展名相同的名称
     字符串outputFileName ="";
     字符串MyRptName = rpt.FileName.ToString();
     outputFileName = MyRptName.Substring(9,rpt.FileName.Length-9);
     outputFileName = outputFileName.Substring(0,(outputFileName.Length-3))+" pdf";

     尝试
     {
         如果(File.Exists(outputFileName))
         {
             File.Delete(outputFileName);
         }

         CrystalDecisions.ReportAppServer.ReportDefModel.PDFExportFormatOptions RasPDFExpOpts = new PDFExportFormatOptions();

         尝试
         {
             RasPDFExpOpts = rptClientDoc.get_SavedExportOptions(CrReportExportFormatEnum.crReportExportFormatPDF);
         }
         抓住(前例外)
         {
             btnSQLStatement.Text ="错误:" + ex.Message;
            //返回;
         }

        //现在设置它们:
        //RasPDFExpOpts.CreateBookmarksFromGroupTree = false;
        //RasPDFExpOpts.EndPageNumber = 1;
        //RasPDFExpOpts.StartPageNumber = 1;

        //保存修改后的信息
         如果(RasPDFExpOpts!= null)
             rptClientDoc.set_SavedExportOptions(CrReportExportFormatEnum.crReportExportFormatPDF,RasPDFExpOpts);

         CrystalDecisions.ReportAppServer.ReportDefModel.ExportOptions exportOpts1 =新的CrystalDecisions.ReportAppServer.ReportDefModel.ExportOptions();
         exportOpts1.ExportFormatType = CrReportExportFormatEnum.crReportExportFormatPDF;
         exportOpts1.FormatOptions = RasPDFExpOpts;

        //和导出
         rptClientDoc.PrintOutputController.ExportEx(exportOpts1).Save(outputFileName,true);
         MessageBox.Show("导出到PDF已完成","",MessageBoxButtons.OK,MessageBoxIcon.Information);
     }
     抓住(前例外)
     {
         btnSQLStatement.Text ="错误:" + ex.Message;
         返回;
     }

    ////更改选择公式并再次导出
    //rpt.RecordSelectionFormula =" {Customer.Customer信用ID}> = 11";
    //rpt.Refresh();
    //outputFileName = outputFileName.Substring(0,(outputFileName.Length-3))+" 1.pdf";

    //尝试
    //{
    //如果(File.Exists(outputFileName))
    //{
    //File.Delete(outputFileName);
    //}

    //CrystalDecisions.ReportAppServer.ReportDefModel.PDFExportFormatOptions RasPDFExpOpts = new PDFExportFormatOptions();

    //尝试
    //{
    //RasPDFExpOpts = rptClientDoc.get_SavedExportOptions(CrReportExportFormatEnum.crReportExportFormatPDF);
    //}
    //catch(异常例外)
    //{
    //btnSQLStatement.Text =" ERROR:" + ex.Message;
    ////返回;
    //}

    ////立即设置它们:
    ////RasPDFExpOpts.CreateBookmarksFromGroupTree = false;
    ////RasPDFExpOpts.EndPageNumber = 1;
    ////RasPDFExpOpts.StartPageNumber = 1;

    ////保存修改后的信息
    //如果(RasPDFExpOpts!= null)
    //rptClientDoc.set_SavedExportOptions(CrReportExportFormatEnum.crReportExportFormatPDF,RasPDFExpOpts);

    //CrystalDecisions.ReportAppServer.ReportDefModel.ExportOptions exportOpts1 = new CrystalDecisions.ReportAppServer.ReportDefModel.ExportOptions();
    //exportOpts1.ExportFormatType = CrReportExportFormatEnum.crReportExportFormatPDF;
    //exportOpts1.FormatOptions = RasPDFExpOpts;

    ////并导出
    //rptClientDoc.PrintOutputController.ExportEx(exportOpts1).Save(outputFileName,true);
    //MessageBox.Show("导出到第二次完成的PDF","",MessageBoxButtons.OK,MessageBoxIcon.Information);
    //}
    //catch(异常例外)
    //{
    //btnSQLStatement.Text =" ERROR:" + ex.Message;
    //return;
    //}
    //这项工作不会改变
     }
 #endregion PDF 
樱桃小丸子0093
3楼-- · 2020-08-23 11:04

FYI CR for VS未得到修补,仅完整版本。

您可以尝试升级到SP 26:

https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads

Baoming ROSE
4楼-- · 2020-08-23 10:54

非常感谢 非常适合您的友好和快速的答复。 我们将合并您的代码,并尝试使用存在此问题的系统。 我们将再次写出结果并再次感谢您。

灬番茄
5楼-- · 2020-08-23 10:55

请解释一下系统出现此问题是什么意思?

您是否说它有时可以工作?

通常,这表示未安装Adobe Reader或浏览器中的Adobe Reader插件可能已损坏/未安装。

微wx笑
6楼-- · 2020-08-23 10:55

我们基于Microsoft开发了一个简单的桌面应用程序 Visual Studio 2015专业版。 它只是管理学生的数据库。 当我们尝试导出为pdf时,就会出现我们的问题。 崩溃的行是

rptCopypeCab.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat,名称文件)

我们总是会处理此错误,但是其余的都可以正常工作,例如,我们可以将其打印为pdf,而不会出现任何问题。 否则,我们看不到将您的代码整合到我们的方法中去证明的方法。

非常感谢您的回答和关注,

渐行渐远_HoldOn
7楼-- · 2020-08-23 11:12

尝试对具有完整路径且没有参数的名称文件进行硬编码,导出整个报告。

一周热门 更多>