当我打印时,带有Crystal Engine 13.0.3500.0的VS 2019上边距和缩放比例大小不相同

2020-08-24 09:17发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)当我打印时,带有Crystal ...

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

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


当我打印时,带有Crystal Engine 13.0.3500.0的VS 2019上边距和缩放比例大小不相同

嗨,

在使用Crystal Report 11和VS20xx之前,当我们为制造标签打印A4格式时,它们可以完美地工作

在水晶报表11和水晶报表13中工作良好

--------------------------------------------------- --------------------------------

我们的麻烦是何时在C#中运行引擎?

当我们通过VS 2019时,我们需要全部升级并安装VS Crystal Report SP26

我无法成功安装VS的Crystal Report SP26。 我终于卸载了VisualStudio,并在重新启动之后。

Crystal和VS2019再次合作。

在这种情况下,我们使用另一台打印机打印55mm X 10mm标签

C#中的Crystal Engine也会更改我们的QR码和文本的比例。

我在VS内更改了报表的原始版本,并且在VS内又做了大部分操作。

我可以说是更好一点,但在晶体内部看起来并不一样。 仍有最高利润。 我将所有边距设置为零。

Crystal Engine.dll也没有反映观众在VS中打印的内容。

当我用查看器在VS中打印旧报表时,它是完美的。

如果我打印我的新版本,则在使用查看器打印时,现在在VS内部进行修改会过大。

不过,看起来版本或驱动程序有些冲突。

我不明白为什么在打印时,但不是在运行时模式下,Crystal Report或Viewer可以正常工作。

是指Crystal不使用他的DLL Crystal Engine。

我该如何解决这个问题? 我不想展示给客户查看者并在以后打印。 我想直接打印到打印机。

如果我们传递给Crystal Report 16可以帮忙吗? 但是我们已经有了VS的CR SP26

仅查看CrystalReports.ENGINE.dll冲突...。什么是最佳使用版本? 在PROD中进行分发和开发?

3条回答
shere_lin
2020-08-24 09:31

我知道。 我在Visual Studio 2019中使用全新的报告制作了一个全新的项目VS

我给你看我的代码.....

我现在所知道的....更多....具有scale和margin属性的东西对我的引擎运行时不起作用。 每次我打印此代码。 报告的数据始终处于中心位置,并且比例较小,并且具有较高的边距。 但是,当我与观察者在视觉工作室内打印时,效果很好。 尺寸合适...左对齐

现在是参考书13.0.4000.0

我已经在VS的CR SP26之前安装--->文件版本13.0.26.3348 ...... 364KB 11/21/2019 1:18 PM

C:\ Program Files(x86)\ SAP BusinessObjects \ .NET Framework 4.0的Crystal Reports \ Common \ SAP BusinessObjects Enterprise XI 4.0 \ win32_x86 \ dotnet \ CrystalDecisions.CrystalReports.Engine.dll

我使用

如果有人可以帮助我解决此问题,则可能是我做错了一些代码。 我不知道的东西!

为什么使用查看器CR VS或Crystal Report 11-13可以完美打印,而现在使用代码错误则可以很好地工作?

private void printReport(){

ReportDocument crReportDocument; 字符串connetionString = null; OleDbConnection连接; OleDbDataAdapter oledbAdapter;

DataSet ds = new DataSet();

字符串sql = null;

string strFilename = null;

strFilename = @" D:\ DB \ xxxxx.mdb";

connetionString =" Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" + strFilename +";";

sql ="选择* FROM标签";

connection = new OleDbConnection(connetionString);

crReportDocument = new CrystalReport1();

尝试{

connection.Open();

oledbAdapter =新的OleDbDataAdapter(sql,连接);

oledbAdapter.Fill(ds);

crReportDocument.SetDataSource(ds);

//**************这是一些测试,试图弄清楚我以前从未使用过它并且对我不起作用

crReportDocument.PrintOptions.DissociatePageSizeAndPrinterPaperSize = false;

crReportDocument.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize;

crReportDocument.PrintOptions.ApplyPageMargins(new CrystalDecisions.Shared.PageMargins(0,0,0,0));

CrystalDecisions.Shared.PrintLayoutSettings PrintLayout =新的CrystalDecisions.Shared.PrintLayoutSettings();

PrintLayout.Centered = false;

PrintLayout.Scaling = PrintLayoutSettings.PrintScaling.DoNotScale;

crReportDocument.PrintOptions.DissociatePageSizeAndPrinterPaperSize = false;

//**************************************

crReportDocument.PrintOptions.PrinterName =" PeriPage A6"; //58mm x 210mm

//crReportDocument.PrintOptions.PrinterName ="佳能MP230系列";

crReportDocument.Refresh();

//开始打印过程。 //使用参数提供打印作业的详细信息。 crReportDocument.PrintToPrinter(1,false,0,0);

oledbAdapter.Dispose();

connection.Close();

MessageBox.Show("报告完成打印!"); Console.WriteLine(crReportDocument.PrintOptions.PageMargins.topMargin);//= 0,当我测试时

}捕获(异常错误){

MessageBox.Show(err.ToString());

}

}

一周热门 更多>