如何在 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