You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
7.4 KiB

1 month ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using Report.Entity;
  10. using FastReport;
  11. using PdfSharp;
  12. using PdfSharp.Drawing;
  13. using PdfSharp.Pdf;
  14. using ReportLibrary;
  15. namespace PeisStart.WInForm.ReportTest
  16. {
  17. public partial class Form1 : Form
  18. {
  19. public Form1()
  20. {
  21. InitializeComponent();
  22. }
  23. private async void button1_Click(object sender, EventArgs e)
  24. {
  25. string reqStr = @"{""ReportCode"":""0001"",""TemplatePath"":""D:\\peis-vue\\extensions\\fastReport\\template\\0001.frx"",""DataJsonPath"":""D:\\peis-vue\\extensions\\fastReport\\template\\dataJson.json"",""Parameters"":[{""Name"":""printer"",""Value"":""admin""},{""Name"":""hisLog"",""Value"":""pic/hisLog.jpg""}],""WebsiteUrl"":""http://10.1.12.140:8081/"",""ApiUrl"":""http://10.1.12.140:9529/"",""IsUploadPdf"":""N"",""Printer"":""ZDesigner ZD888-203dpi ZPL""}";
  26. RequestPrint req = ClientConfig.DeserializeObject<RequestPrint>(reqStr);
  27. Dictionary<string, string> dict = new Dictionary<string, string>();
  28. foreach (var item in req.Parameters)
  29. {
  30. dict.Add(item.Name, item.Value);
  31. }
  32. DataSet ds = await ConvertHelper.OccuptionDiseaseDetailToDataSetAsync(req.DataJsonPath, dict, req.WebsiteUrl, req.ApiUrl,false);
  33. FastReport.Report rpt = new FastReport.Report();
  34. rpt.Load(req.TemplatePath);
  35. rpt.RegisterData(ds);
  36. foreach (var item in req.Parameters)
  37. {
  38. rpt.SetParameterValue(item.Name, item.Value);
  39. }
  40. //rpt.Prepare();
  41. //rpt.PrintPrepared();4
  42. rpt.Design();
  43. }
  44. private void button2_Click(object sender, EventArgs e)
  45. {
  46. string reqStr = @"{""ReportCode"":""0001"",""TemplatePath"":""c:\\peis-vue\\extensions\\fastReport\\template\\0001.frx"",""DataJsonPath"":""c:\\peis-vue\\extensions\\fastReport\\template\\dataJson.json"",""Parameters"":[{""Name"":""printer"",""Value"":""admin""},{""Name"":""LTS"",""Value"":""Y""},{""Name"":""firstPage"",""Value"":""pic/peisReportFirstPage.jpg""},{""Name"":""pageHeader"",""Value"":""pic/peisReportPageHeader.jpg""},{""Name"":""pageFooter"",""Value"":""pic/peisReportPageFooter.jpg""},{""Name"":""orgSign"",""Value"":""pic/orgSign.png""},{""Name"":""picExtOne"",""Value"":""pic/hisLog.jpg""}],""WebsiteUrl"":""http://140.143.162.39:8081/"",""ApiUrl"":""http://140.143.162.39:9529/"",""ImageUrl"":""http://192.168.2.74:9529/"",""FilePath"":""""}";
  47. RequestPrintPre req = ClientConfig.DeserializeObject<RequestPrintPre>(reqStr);
  48. FastReport.Report rpt = new FastReport.Report();
  49. string json = FileHelper.ReadAllText(req.DataJsonPath);
  50. var obj = ClientConfig.DeserializeObject<Rpt0005>(json);
  51. string dataSetJson = ClientConfig.SerializeObject(obj);
  52. Dictionary<string, string> dict = new Dictionary<string, string>();
  53. foreach (var item in req.Parameters)
  54. {
  55. dict.Add(item.Name, item.Value);
  56. }
  57. var list = ReportHelper.ToPicTable(dict, req.WebsiteUrl);
  58. DataTable dt = list.ToDataTable();
  59. dt.TableName = "pic";
  60. string paramJson = ClientConfig.SerializeObject(list);
  61. json = json.Replace("/", "\\/");
  62. string DataJsonPath = ClientConfig.UpdateJson(json, paramJson);
  63. DataSet ds = ClientConfig.ConvertJsonToDataSet(json, "http://192.168.2.74/", "http://192.168.2.67/"); ;
  64. // FileHelper.WriteAllText("c:\\11.json", DataJsonPath);
  65. //ds.Tables.Add(dt);
  66. rpt.Load(req.TemplatePath);
  67. rpt.RegisterData(ds);
  68. foreach (var item in req.Parameters)
  69. {
  70. rpt.SetParameterValue(item.Name, item.Value);
  71. }
  72. rpt.Design();
  73. }
  74. private void button3_Click(object sender, EventArgs e)
  75. {
  76. var a= Math.Round(4234.343, 2);
  77. }
  78. private void button4_Click(object sender, EventArgs e)
  79. {
  80. string file = @"E:\WeChat Files\wxid_w8dax2ois8gw22\FileStorage\File\2024-11\\1731997242000.pdf";
  81. PdfDocument document = new PdfDocument(file);
  82. document.Options.FlateEncodeMode = PdfFlateEncodeMode.BestCompression;
  83. document.Options.UseFlateDecoderForJpegImages = PdfUseFlateDecoderForJpegImages.Automatic;
  84. document.Options.NoCompression = false;
  85. // Defaults to false in debug build, so we set it to true.
  86. document.Options.CompressContentStreams = true;
  87. const string filename = "HelloWorld.pdf";
  88. document.Save(filename);
  89. }
  90. private void button5_Click(object sender, EventArgs e)
  91. {
  92. string jsonPath = "D:\\peis-vue\\release\\0.3.7\\win-ia32-unpacked\\resources\\app\\extensions\\fastReport\\template\\dataJson.json";
  93. string json = FileHelper.ReadAllText(jsonPath);
  94. DataSet ds = ClientConfig.ConvertJsonToDataSet(json,"http://192.168.2.74/", "http://192.168.2.67/");
  95. DataTable dt = new DataTable();
  96. }
  97. private void button6_Click(object sender, EventArgs e)
  98. {
  99. string reqStr = @"{""ReportCode"":""0005"",""TemplatePath"":""c:\\peis-vue\\extensions\\fastReport\\template\\0005.frx"",""DataJsonPath"":""c:\\peis-vue\\extensions\\fastReport\\template\\dataJson.json"",""Parameters"":[{""Name"":""printer"",""Value"":""admin""},{""Name"":""LTS"",""Value"":""Y""},{""Name"":""firstPage"",""Value"":""pic/peisReportFirstPage.jpg""},{""Name"":""pageHeader"",""Value"":""pic/peisReportPageHeader.jpg""},{""Name"":""pageFooter"",""Value"":""pic/peisReportPageFooter.jpg""},{""Name"":""orgSign"",""Value"":""pic/orgSign.png""},{""Name"":""picExtOne"",""Value"":""pic/hisLog.jpg""}],""WebsiteUrl"":""http://140.143.162.39:8081/"",""ApiUrl"":""http://140.143.162.39:9529/"",""ImageUrl"":""http://192.168.2.74:9529/"",""FilePath"":""""}";
  100. RequestPrintPre req = ClientConfig.DeserializeObject<RequestPrintPre>(reqStr);
  101. FastReport.Report rpt = new FastReport.Report();
  102. string json = FileHelper.ReadAllText(req.DataJsonPath);
  103. var obj = ClientConfig.DeserializeObject<Rpt0005>(json);
  104. string dataSetJson = ClientConfig.SerializeObject(obj);
  105. Dictionary<string, string> dict = new Dictionary<string, string>();
  106. foreach (var item in req.Parameters)
  107. {
  108. dict.Add(item.Name, item.Value);
  109. }
  110. var list = ReportHelper.ToPicTable(dict, req.WebsiteUrl);
  111. DataTable dt = list.ToDataTable();
  112. dt.TableName = "pic";
  113. string paramJson = ClientConfig.SerializeObject(list);
  114. json = json.Replace("/", "\\/");
  115. string DataJsonPath = ClientConfig.UpdateJson(json, paramJson);
  116. DataSet ds = ClientConfig.ConvertJsonToDataSet(json, "http://192.168.2.74/", "http://192.168.2.67/"); ;
  117. FileHelper.WriteAllText("d:\\11.json", DataJsonPath);
  118. //ds.Tables.Add(dt);
  119. rpt.Load(req.TemplatePath);
  120. rpt.RegisterData(ds);
  121. foreach (var item in req.Parameters)
  122. {
  123. rpt.SetParameterValue(item.Name, item.Value);
  124. }
  125. rpt.Design();
  126. }
  127. }
  128. }