您的位置:首页 > 其它

FastReport Studio 3之打印预览功能

2009-09-09 21:39 375 查看
因项目需要做一个打印证书的软件:要求打印出来的格式正好和要打印的纸张(非A3或A4)对应,而且不能出现错位和颠倒。固需要对打印的文本进行位置可调整。因纸张不同打印出来的位置也就不同,固需要对指定的纸张进行调整。
这里我选用的是FastReport控件。简单说一说FastReport控件的功能:
FastReport Studio是给你应用程序自动快速生成报表的功能强大、精简和灵活的一个环境。FastReport提供了你开发报表的所有工具。它包括报表引擎、设计器,窗体设计预览对话框,以及四个强大的解释程序:Basic(VB) style,C++ style,JS style and Pascal style。
补丁中包括FastReport Com服务,标准设计和针对于Visual C++,Microsoft Visual C#.Net,Microsoft Visual Basic.Net,Microsoft Asp.net,Microsoft FoxPro的源代码演示程序。我这里用到的是它的预览,打印功能,还包括导出功能(PDF,RTF,Excel,XML,HTML,JPEG,BMP,TIFF,Text,CSV等格式)
FastReport提供了ADO引擎,可以直接在设计器中直接数据访问。但在我实际的应用程序中,要打印的数据是根据选择的不同,打印就不同,因此我在设计器中并没有指定ADO引擎的ADOQuery(查询)。我通过.net代码来从外部设置。
伪代码
//打印和预览方法
private void print(bool IsPreview)
{
TfrxReportClass Mainreport = new TfrxReportClass();

//Create ado database object
TfrxADODatabaseClass ado_database = new TfrxADODatabaseClass();
ado_database.ConnectionString ="连接数据库";
ado_database.LoginPrompt = false;

//Create ado query object
TfrxADOQueryClass adoquery = new TfrxADOQueryClass();
adoquery.DataBase = ado_database;
adoquery.Name = "ado_query";//这里的名字要和设计器中绑定的数据源一致。
adoquery.Query = "SQL语句";

try
{
Mainreport.LoadReportFromFile(@"fr3\Report.fr3");//载入主题模板
Mainreport.SelectDataset(true, adoquery);

//显示预览对话框
if(IsPreview)
{
Mainreport.PreviewOptions.AllowEdit = false;
Mainreport.ShowReport();
}
else
{
Mainreport.PrepareReport(false);
Mainreport.PrintReport();
}
}
catch (Exception ex)
{
LoggerManager.LoggtoTxt(ex);
MessageBox.Show("打印模板文件错误!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}以上我在打印的软件中使用的一个主要方法。
OK,用了FastReport控件中的打印和预览方法。这里就算一个读书笔记,方便以后查找。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: