C# FastReport打印图片

private void Form1_Load(object sender, EventArgs e)
{
  Report report = new Report();
  report.Load("2.frx");
  //这样写
  report.RegisterData(CommonCode.GetDataTable(), "person");
  //或这样写
  //report.RegisterData(CommonCode.GetDataSet());
  //report.GetDataSource(CommonCode.GetDataSet().Tables[0].TableName).Enabled = true;
  report.Parameters[0].Value = @"pic\130323199310214321.jpg";
  ((PictureObject)report.FindObject("Picture1")).ImageLocation = @"pic\13032319931021142X.jpg";//就这么写上,再在模板中拖一个Picture1控件

  report.Preview = previewControl1;

  report.Prepare();
  report.ShowPrepared();
}

 

引自:

今天客户提出一个新的需求,需要打印图片,每次打印的图片可能是不一样的,这就需要动态的替换图片了,在网上找了一下就找到答案了,有些细节也是需要注意的,现在记录一下,方便自己以后查看,同时也希望能够帮助遇到同样问题的小伙伴们,谢谢。

FastReport不支持打印Base64、二进制、本地图片,只支持打印网络图片,PictureObject对象属性ImageLocation,以下是全部代码

public  Report report = new Report();
//加载报表模板
report.Load(Path.Combine(Application.StartupPath, "test.frx"));
//设置打印第一页
report.PrintSettings.PageNumbers = "1";
//默认不显示打印机选择页面
report.PrintSettings.ShowDialog = false;
 //打印图片
((PictureObject)report.FindObject("Picture1")).ImageLocation = "http://a.hiphotos.baidu.com/image/pic/item/838ba61ea8d3fd1fc9c7b6853a4e251f94ca5f46.jpg";
//当前操作打印机
report.PrintSettings.Printer = cbPrinter.SelectedText;
report.Print();
posted @ 2021-06-04 11:25  techNote  阅读(712)  评论(0编辑  收藏  举报