biz_property_engine_to_scanner.cs 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7. using System.Configuration;
  8. using Saraff.Twain;
  9. using HXX.Scanner.Common;
  10. namespace HXX.Scanner.Biz
  11. {
  12. /// <summary>
  13. /// 老类,从扫描仪读取基础信息到内存
  14. /// </summary>
  15. internal class biz_property_engine_to_scanner
  16. {
  17. public static void Set(Twain32 engine, Device_Scanner scanner)
  18. {
  19. try
  20. {
  21. loadScannerProperty(scanner);
  22. }
  23. catch (Exception ee)
  24. {
  25. LogManager.WriteLog(ee);
  26. }
  27. }
  28. /// <summary>
  29. /// 把各扫描仪信息读取到config
  30. /// </summary>
  31. /// <param name="scanner"></param>
  32. private static void loadScannerProperty(Device_Scanner scanner)
  33. {
  34. try
  35. {
  36. String manufacturer = scanner.manufacturer;
  37. String config = "";
  38. if (manufacturer.Contains("CANON"))
  39. {
  40. //config = Properties.Settings.Default.CannonConfig;
  41. config = config_manager.Get("CannonConfig");
  42. //TODO
  43. }
  44. else if (manufacturer.Contains("Panasonic"))
  45. {
  46. //config = Properties.Settings.Default.PanasonicConfig;
  47. config = config_manager.Get("PanasonicConfig");
  48. }
  49. else if (manufacturer.Contains("Kodak"))//Eastman Kodak
  50. {
  51. //config = Properties.Settings.Default.KodakConfig;
  52. config = config_manager.Get("KodakConfig");
  53. }
  54. else if (manufacturer.ToUpper().Contains("EPSON"))
  55. {
  56. //config = Properties.Settings.Default.PanasonicConfig;
  57. config = config_manager.Get("PanasonicConfig");
  58. }
  59. else if (manufacturer.ToUpper().Contains("HP"))
  60. {
  61. //config = Properties.Settings.Default.PanasonicConfig;
  62. config = config_manager.Get("PanasonicConfig");
  63. }
  64. else if (manufacturer.ToUpper().Contains("HUAGO"))
  65. {
  66. //config = Properties.Settings.Default.PanasonicConfig;
  67. config = config_manager.Get("PanasonicConfig");
  68. }
  69. if (config != null && config.Length > 0)
  70. {
  71. string[] configItems = config.Split(';');
  72. foreach (string configItem in configItems)
  73. {
  74. string[] configItemArr = configItem.Split('=');
  75. if (configItemArr.Length == 2)
  76. {
  77. if (configItemArr[0].Equals("ld"))
  78. {
  79. int ld = Int32.Parse(configItemArr[1]);
  80. scanner.ld = ld;
  81. }
  82. if (configItemArr[0].Equals("dbd"))
  83. {
  84. scanner.dbd = Int32.Parse(configItemArr[1]);
  85. }
  86. //if (configItemArr[0].Equals("zz"))
  87. //{
  88. // scanner.setPaperSize(get_paper_byIndex(Int32.Parse(configItemArr[1])));
  89. //}
  90. if (configItemArr[0].Equals("dpi"))
  91. {
  92. scanner.resolution = Int32.Parse(configItemArr[1]);
  93. }
  94. }
  95. };
  96. }
  97. }
  98. catch (Exception ee)
  99. {
  100. LogManager.WriteLog(ee);
  101. }
  102. }
  103. //public static void Set(Twain32 engine, Device_Scanner scanner)
  104. //{
  105. // scanner.openSourceReady = false;
  106. // if (config_environment.useTwain)
  107. // {
  108. // try
  109. // {
  110. // engine.CloseDataSource();
  111. // engine.SourceIndex = scanner.dsIndex;
  112. // if (engine.OpenDataSource())
  113. // {
  114. // //scanner_manager.set_current(scanner.dsIndex);
  115. // scanner.Brightness = engine.Capabilities.Brightness.Get();
  116. // scanner.BrightnessBaseIndex = (scanner.Brightness.Count - 1) / 2;
  117. // scanner.Contrasts = engine.Capabilities.Contrast.Get();
  118. // scanner.ContrastsBaseIndex = (scanner.Contrasts.Count - 1) / 2;
  119. // loadScannerProperty(scanner);
  120. // }
  121. // }
  122. // catch (TwainException te)
  123. // {
  124. // LogManager.WriteLog(te);
  125. // MsgManager.Error(biz_twainException.showTwainException(te));
  126. // }
  127. // catch (Exception ee)
  128. // {
  129. // LogManager.WriteLog(ee);
  130. // }
  131. // }
  132. //}
  133. //private static void loadScannerProperty(Device_Scanner scanner)
  134. //{
  135. // try
  136. // {
  137. // String manufacturer = scanner.manufacturer;
  138. // String config = "";
  139. // if (manufacturer.Contains("CANON"))
  140. // {
  141. // //config = Properties.Settings.Default.CannonConfig;
  142. // config = config_manager.Get("CannonConfig");
  143. // //TODO
  144. // }
  145. // else if (manufacturer.Contains("Panasonic"))
  146. // {
  147. // //config = Properties.Settings.Default.PanasonicConfig;
  148. // config = config_manager.Get("PanasonicConfig");
  149. // }
  150. // else if (manufacturer.Contains("Kodak"))//Eastman Kodak
  151. // {
  152. // //config = Properties.Settings.Default.KodakConfig;
  153. // config = config_manager.Get("KodakConfig");
  154. // }
  155. // if (config != null && config.Length > 0)
  156. // {
  157. // string[] configItems = config.Split(';');
  158. // foreach (string configItem in configItems)
  159. // {
  160. // string[] configItemArr = configItem.Split('=');
  161. // if (configItemArr.Length == 2)
  162. // {
  163. // if (configItemArr[0].Equals("ld"))
  164. // {
  165. // int ld = Int32.Parse(configItemArr[1]);
  166. // scanner.ld = ld;
  167. // }
  168. // if (configItemArr[0].Equals("dbd"))
  169. // {
  170. // scanner.dbd = Int32.Parse(configItemArr[1]);
  171. // }
  172. // if (configItemArr[0].Equals("zz"))
  173. // {
  174. // scanner.setPaperSize(get_paper_byIndex(Int32.Parse(configItemArr[1])));
  175. // }
  176. // }
  177. // };
  178. // }
  179. // }
  180. // catch (Exception ee)
  181. // {
  182. // LogManager.WriteLog(ee);
  183. // }
  184. //}
  185. //public static string get_paper_byIndex(int index)
  186. //{
  187. // var group = new List<string>() { "A4", "A3", "16开", "8开" };
  188. // if (index >= 0 && index < group.Count)
  189. // {
  190. // return group[index];
  191. // }
  192. // else
  193. // {
  194. // return string.Empty;
  195. // }
  196. //}
  197. }
  198. }