<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》

      本文內容轉載自:https://www.fcnsoft.com/Home/ShowArticleNews/473

      最近被fastreport.net搞得有點煩躁,網上有很多破解版本下載可以下載使用,但是僅限于.net framework平臺。最近將貳葉收銀軟件TS.POS零售端升級到.net core平臺,計劃發布到安卓和linux平臺上也可以使用。結果悲催了,打印功能不能用了,一直提供not supported on this platform ,有些報表可以打印,有些報表卻不能打印。折磨多天,網上也搜了一堆資料,結果還是沒有解決辦法。

      后來安裝了官網最新24.6版本,打印全部都正常沒有問題了,但是軟件要收費,正版授權好幾千每年,不授權就會顯示version的水印出來。

      過程中有想過更換其他的打印控件,甚至想自己編一個,結果由于精力問題還是放棄了。

      無意間搜到fastreport.net 原來有個開源的版本,于是安裝后試試效果。發現在winform 平臺沒有打印功能的實現,但是有個生成圖片的導出功能,我覺得這點還是可以利用上的。

      1、在visual studio 的nuget管理器中搜索 FastReport.OpenSource 安裝上它。

      2、按以前的操作初始化報表

      FastReport.Report report = new FastReport.Report();
      string file = Path.Combine(Environment.CurrentDirectory, "Frx", frx);
      if(File.Exists(file)==false)
      {
          MessageBox.Show("打印機文件丟失");
          return null;
      }
      report.Load(file); 
      report.Report.Parameters.FindByName("店名").Value = Program.單位名稱;
      report.Report.Parameters.FindByName("收銀員").Value = Program.配置文件.當前登錄的用戶名稱;
      report.Report.Parameters.FindByName("機器號").Value = Program.配置文件.機器標識號;
      

      下一步我們就不用report.print()了,沒有這個函數

      report.Prepare();
      Stream str = new MemoryStream();
      ImageExport image = new ImageExport();
      image.ImageFormat = ImageExportFormat.Jpeg;
      report.Export(image, str);
      

      然后使用winform的PrintDocument控件繪制這個圖片再打印就ok了

       printDocument.Print();
       void printDocument_PrintPage(object sender, PrintPageEventArgs e)
       {
           e.Graphics.DrawImage(imageToPrint, 0, 0, imageToPrint.Width, imageToPrint.Height);
       }
      

      在打印pos小票的時候這樣操作有一個問題,因為小票的打印長度是沒辦法固定的,它根據內容會有變化的、如果我們通過設置紙張的高度來處理就會出現打印分頁或者紙張底部留空白的問題。我的處理辦法是設計報表的時候設置長一些的紙張高度,等打印生成圖片的時候再將圖片的底部空白移除。

         private Bitmap 移除圖片底部空白(Stream str)
         {
             Bitmap bmp = new Bitmap(str);
             int height = bmp.Height;
             int width = bmp.Width;
             int bottom = 0;
             for (int h = bmp.Height - 1; h > 0; h--)
             {
                 bool notWhite = false;
                 for (int w = 4; w < width; w += 4)
                 {
                     if (是否白色或透明色(bmp.GetPixel(w, h)) == false)
                     {
                         notWhite = true; break;
                     }
                 }
                 if (notWhite == true)
                 {
                     bottom = h;
                     Rectangle rect = new Rectangle(0, 0, width, h + 5);
                     Bitmap ok = bmp.Clone(rect, bmp.PixelFormat);
                     return ok;
                 }
             }
             return null;
         }
         private bool 是否白色或透明色(Color c)
         {
              if (c.A < 10 || (c.R > 245 && c.G > 245 && c.B > 245))
              {
                  return true;
              }
              return false;
         }
      

      先將fastreport.net 生成的圖片流發到這里移除底部的空白,再回傳給打印控件打印。如此即可解決打印底部留空白的問題。

       printDocument.DefaultPageSettings.PaperSize.Height = imageToPrint.Height;
      

      這一行代碼切記不可以遺漏,這樣才能剛好打印全部的報表內容。
      按此方法,即可解決fastreport 在winform平臺的打印問題,免費好用,不用再去搜破解版、去水印版本了。

      posted on 2024-09-19 18:44  hrx521  閱讀(1252)  評論(4)    收藏  舉報
      主站蜘蛛池模板: 国内精品无码一区二区三区| 91色老久久精品偷偷性色| 精品无人乱码一区二区三区的优势| 亚洲精品一区二区三区色| 亚洲欧美综合一区二区三区| 国产视频一区二区在线看| 黄浦区| 成人无码午夜在线观看| 国产一区二区日韩在线| 无码人妻h动漫| 国产精品爽爽va在线观看网站| 97人妻天天摸天天爽天天| 91福利国产午夜亚洲精品| www久久只有这里有精品| 日韩中文字幕有码av| 国产精品制服丝袜无码| 露脸国产精品自产拍在线观看| 国语精品国内自产视频| 乱色熟女综合一区二区三区| 在线观看中文字幕国产码| 午夜成人无码免费看网站| 国产精品爽黄69天堂A| 久久久久亚洲AV色欲av| 无码精品一区二区免费AV| 98日韩精品人妻一二区| 亚洲精品麻豆一二三区| 国内不卡不区二区三区| 久久精品国产亚洲av麻豆小说 | 亚洲综合天堂一区二区三区| 亚洲av无码成人精品区一区| 蜜桃av亚洲精品一区二区| 亚洲人成电影网站色| 国产一区二区三区麻豆视频| 成人午夜在线观看刺激| 国产福利萌白酱在线观看视频| 日韩一区二区三区亚洲一| 成人看的污污超级黄网站免费 | 国产不卡一区二区四区| 国产不卡精品视频男人的天堂| 日韩精品亚洲 国产| 97精品亚成在人线免视频|