Program.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. using DocumentFormat.OpenXml.Drawing;
  2. using HTEXLib;
  3. using HTEXLib.Builders;
  4. using HTEXLib.Controller;
  5. using HTEXLib.Helpers.ShapeHelpers;
  6. using HTEXLib.Models;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Net;
  11. using System.Net.NetworkInformation;
  12. using System.Net.Sockets;
  13. using System.Text;
  14. using System.Text.Json;
  15. using System.Text.RegularExpressions;
  16. namespace HTEXTest
  17. {
  18. class Program
  19. {
  20. /// <summary>
  21. /// 获取本地机器网卡的所有IP地址
  22. /// </summary>
  23. /// <returns></returns>
  24. public static List<string> getIPAddress()
  25. {
  26. return NetworkInterface.GetAllNetworkInterfaces()
  27. .SelectMany(i => i.GetIPProperties().UnicastAddresses)
  28. .Select(a => a.Address)
  29. //AddressFamily.InterNetwork 过滤掉IPV6 //过滤127.0.0.1 !IPAddress.IsLoopback(a)
  30. .Where(a => a.AddressFamily == AddressFamily.InterNetwork)
  31. .Select(a => a.ToString()).ToList();
  32. }
  33. public static List<IPAddress> getIPAddressE()
  34. {
  35. return NetworkInterface.GetAllNetworkInterfaces()
  36. .SelectMany(i => i.GetIPProperties().UnicastAddresses)
  37. .Select(a => a.Address)
  38. //AddressFamily.InterNetwork 过滤掉IPV6 //过滤127.0.0.1 !IPAddress.IsLoopback(a)
  39. //.Where(a => a.AddressFamily == AddressFamily.InterNetwork)
  40. .ToList();
  41. }
  42. static void Main(string[] args)
  43. {
  44. TimeSpan ts = DateTimeOffset.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
  45. var tim= Convert.ToInt64(ts.TotalMilliseconds).ToString();
  46. string appid = "4E28C6F06EDA495491FA7943C143E534";
  47. string appkey = "3B83808EE00E42DFBBEB7502331CF1D8";
  48. string key = appid + appkey + tim;
  49. var sha = ShaHashHelper.GetSHA1(key).ToUpper() ;
  50. List<IPAddress> a = getIPAddressE();
  51. foreach (var ae in a) {
  52. Console.WriteLine(ae);
  53. }
  54. string jsonStr = "{name:计算数据大表名称,num:15,sheet:[{sheetName:不同时期,nums:[23,52,86],special:[准业务,磨合期,老业主,稳定期]},{sheetName:50分制}]}";
  55. string jsonStro = jsonStr.Replace(",", ",");
  56. object res = JsonHelper.ConvertJsonStr(jsonStro);
  57. string s = res.ToString();
  58. var m = Regex.Match(s, "\"[0-9]{1,}\"");
  59. while (m.Success)
  60. {
  61. string testInfo = m.Value;
  62. string newStr = testInfo.Replace("\"", "");
  63. s = s.Replace(testInfo, newStr);
  64. m = m.NextMatch();
  65. }
  66. JsonElement jsonElement= JsonSerializer.Deserialize<JsonElement>(s);
  67. //string path = "F:\\PRD-20191015001-template-math.pptx";
  68. string path = "F:\\donghua.pptx";
  69. // string path = "F:\\PRD-20191015001.pptx";
  70. var htexBuilder = new HtexBuilder();
  71. var pptSlides = htexBuilder.GetPPTSlides(path);
  72. double width = htexBuilder.getSlideWidth();
  73. double height = htexBuilder.getSlideHeight();
  74. int slideCounter = 1;
  75. Htex htex= htexBuilder.Htex;
  76. htex.page = pptSlides.Count;
  77. htex.size = new HtexSize { width = width, height = height };
  78. List<Slide> slides = new List<Slide>();
  79. foreach (PPTSlide pptSlide in pptSlides)
  80. {
  81. var htexController = new HtexController( pptSlide, slideCounter, pptSlides.Count)
  82. {
  83. SlideWidth = width,
  84. SlideHeight = height
  85. };
  86. Slide slide= htexController.GenerateHtex();
  87. slides.Add(slide);
  88. slideCounter++;
  89. }
  90. htexBuilder.presentationDocument.Close();
  91. GC.Collect();
  92. }
  93. }
  94. }