如何在C#中以编程方式检索Crystal页面设置?

时间:2015-04-24 13:29:23

标签: c# crystal-reports

我在Crystal Designer中创建了一个Crystal报表(.rpt文件)。我配置了页面设置。我想要检索,例如页面方向,页面宽度,页面高在C#中以编程方式。怎么做?请注意,我想检索页面设置,没有打印设置。我不想编辑页面设置,我只需要阅读它。

=== EDIT ===

下图显示了我的页面设置:

enter image description here

C#中的{p> PrintOptions.PageContentWidthPrintOptions.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);

中设置它们

1 个答案:

答案 0 :(得分:2)

public class Wrapper { public Response response; } public class Response { public Map<String,Integer> features; // or maybe Map<String,Object> public List<HistoryItem> history; } public class HistoryItem { public MyDate date; // or just Map<String,String> // ... and so forth } 应该为您提供所需的数字。例如,对于页面宽度,使用ReportDocument.PrintOptions的成员:

PrintOptions

然而,这些值位于TWIPS,其中 1440缇= 1英寸。 (我不知道正确的大写是什么......)

另一方面,PageContentWidth + PageMargins.leftMargin + PageMargins.rightMargin 使用百分之一英寸的数字,因此您必须转换:

System.Drawing.Printing.PaperSize