为.net在线商店打印标签和价格标签

为什么要在线商店? 当然,对于在线商店,不仅我回答。 通常,大型贸易公司不自行编写软件,而是在侧面订购软件。 而且,无论看上去多么奇怪,双手通常都无法达到价格标签,并且该文件在贸易中起着重要作用。 我记得当时完成标价是150欧元的时候,这个任务似乎一点也不微不足道。 本文末尾附有工作草案 c#,#core,#。net #MVC。 尝试试验您的交易系统,在此先感谢您的积极反馈。

因此,一家在线商店(一家正规商店)的所有者决定修改他无聊的黑白价格标签。 您问我们的分类是什么?



在我的上一篇文章中 ,大量投诉引起了xml数据源。 在我看来,经验丰富的程序员可以轻松地将考虑的示例改编为其他资源,但正如注释所示,事实证明这是错误的。 因此,我们将稍微注意数据集。 我们将使用通用的DataSet组件,希望读者可以用类似的方式填充它或将其替换为另一个源

考虑控制器

public class HomeController : MyController { private IHostingEnvironment _env; public HomeController(IHostingEnvironment env) { _env = env; } public IActionResult Index() { ViewBag.Items = InitData().Tables["Items"].Rows; return View(); } public IActionResult PrintTags() { WebReport webReport = new WebReport(); webReport.Width = "100%"; DataSet d = InitData(); webReport.Report.Load(System.IO.Path.Combine(_env.WebRootPath + "/reports", "tags.frx")); webReport.Report.RegisterData(d, "ItemsDataSet"); webReport.Report.GetDataSource("Items").Enabled = true; (webReport.Report.FindObject("Data1") as DataBand).DataSource = webReport.Report.GetDataSource("Items"); webReport.Report.Prepare(); ViewBag.WebReport = webReport; return View(); } } 

它是MyController类的后代,在其中初始化了数据集。 这样做仅仅是为了不使主控制器的代码过载。 索引页面显示店面。 PrintTags页面提供价格标签。

因此,在准备好输出到价格标签的数据之后,我们将加载FastReport演示版本并开发价格标签设计



设计是完全自发的,您可以为任务键入任何组件,无论是条形码还是图片。 模板文件位于项目的wwwroot / reports / tags.frx中,您可以对其进行修复也可以根据打印内容的显示位置创建自己的价格标签或标签。 甚至连胶带也可以印在热敏标签上。

创建项目时,请确保添加程序包链接





在Setup.cs中添加

 app.UseFastReport(); 

在控制器中

 using FastReport; using FastReport.Web; 

所有这些都可以在项目中看到

价格标签的打印通过“打印标签”按钮开始

 public IActionResult PrintTags() { WebReport webReport = new WebReport();//  webReport.Width = "100%";//    DataSet d = InitData(); //   webReport.Report.Load(System.IO.Path.Combine(_env.WebRootPath + "/reports", "tags.frx"));//   webReport.Report.RegisterData(d, "ItemsDataSet");//   webReport.Report.GetDataSource("Items").Enabled = true;//  (      ) (webReport.Report.FindObject("Data1") as DataBand).DataSource = webReport.Report.GetDataSource("Items");//       (       ) webReport.Report.Prepare();//  ViewBag.WebReport = webReport;//   return View(); } 

单击“打印标签”按钮转到页面。



接下来,您可以立即打印或下载PDF文件



列印



或下载并通过邮件发送。

结论


毫无疑问,专用工具可以创造奇迹。 能够创建此类报告的组件对于使用ERP类信息系统的任何公司都是有用的。 我看到在一家钢管公司中工作的程序,这些程序的所有报告都在主系统之外进行,以降低生产成本。 对于建设性的反馈,以及所有成功建立报告的工作,我将不胜感激。

Source: https://habr.com/ru/post/zh-CN453980/


All Articles