如何在 C# 中以编程方式检索 Crystal 页面设置?
How to retrieve Crystal page setting programmatically in C#?
我在 Crystal Designer 中创建了一个 Crystal 报告(.rpt 文件)。我配置了页面设置。我想检索例如在 C# 中以编程方式显示页面方向、页面宽度、页面高度。怎么做?请注意,我要检索页面设置,而不是打印设置。我不想编辑页面设置,我只需要阅读它。
===编辑===
下图显示了我的页面设置:
PrintOptions.PageContentWidth
和 C# 中的 PrintOptions.PageContentHeight
具有不同的值。
ReportDocument rp = new ReportDocument();
rp.Load(path_to_my_report_file);
Console.WriteLine(rp.PrintOptions.PageContentHeight);
Console.WriteLine(rp.PrintOptions.PageContentWidth);
输出:
5670
8505
我需要检索页面宽度和高度以将它们设置为 PaperSize (myPaperSize = new System.Drawing.Printing.PaperSize(name, width, height);
)
ReportDocument.PrintOptions
应该会给您所需的数字。例如,对于页面宽度,使用 PrintOptions
:
的成员
PageContentWidth + PageMargins.leftMargin + PageMargins.rightMargin
但是,这些值在 TWIPS 中,其中 1440 缇 = 1 英寸。 (我不知道正确的大写是什么...)
另一方面,System.Drawing.Printing.PaperSize
使用百分之一英寸的数字,因此您必须转换:
[Dimension in hundredths of an inch] = [Dimension in TWIPS] / 1440.0 * 100
我在 Crystal Designer 中创建了一个 Crystal 报告(.rpt 文件)。我配置了页面设置。我想检索例如在 C# 中以编程方式显示页面方向、页面宽度、页面高度。怎么做?请注意,我要检索页面设置,而不是打印设置。我不想编辑页面设置,我只需要阅读它。
===编辑===
下图显示了我的页面设置:
PrintOptions.PageContentWidth
和 C# 中的 PrintOptions.PageContentHeight
具有不同的值。
ReportDocument rp = new ReportDocument();
rp.Load(path_to_my_report_file);
Console.WriteLine(rp.PrintOptions.PageContentHeight);
Console.WriteLine(rp.PrintOptions.PageContentWidth);
输出:
5670
8505
我需要检索页面宽度和高度以将它们设置为 PaperSize (myPaperSize = new System.Drawing.Printing.PaperSize(name, width, height);
)
ReportDocument.PrintOptions
应该会给您所需的数字。例如,对于页面宽度,使用 PrintOptions
:
PageContentWidth + PageMargins.leftMargin + PageMargins.rightMargin
但是,这些值在 TWIPS 中,其中 1440 缇 = 1 英寸。 (我不知道正确的大写是什么...)
另一方面,System.Drawing.Printing.PaperSize
使用百分之一英寸的数字,因此您必须转换:
[Dimension in hundredths of an inch] = [Dimension in TWIPS] / 1440.0 * 100