exportPdf.js 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. $(document).ready(function() {
  2. // pdf容器contenterPdf
  3. var contenterPdf = $("#contenterPdf")
  4. var baseX = contenterPdf.offset().left
  5. var baseY = contenterPdf.offset().top
  6. // 每一页pdf
  7. var page_cell = contenterPdf.find(".page_cell")
  8. // pdf数据
  9. var pdfData = {
  10. "stdPoints":[],
  11. "titleInfo":{},
  12. "studentInfo":[],
  13. "studentNo":[],
  14. "noteInfo":[],
  15. "barCodeInfo":[],
  16. "missExamInfo":[],
  17. "objectiveQues":[]
  18. }
  19. Array.from(page_cell).forEach((item) => {
  20. console.log(item)
  21. // 标准点
  22. var std_points = $(".stdPoints")
  23. for(var i=0;i<std_points.length;i++){
  24. point = std_points.eq(i)
  25. console.log(point.offset(),2222222222)
  26. pdfData.stdPoints.push({
  27. x:point.offset().left-baseX,
  28. y:point.offset().top-baseY,
  29. w:point.width(),
  30. h:point.height()
  31. })
  32. }
  33. // 标题
  34. var titleInfo = $("#paperNameTextAreaTem")
  35. let pointObj = {}
  36. pointObj.x = titleInfo.offset().left-baseX
  37. pointObj.y = titleInfo.offset().top-baseY
  38. pointObj.w = titleInfo.width()
  39. pointObj.h = titleInfo.height()
  40. pdfData.titleInfo = pointObj
  41. // 考生信息
  42. let pointList = []
  43. // 姓名,下划线
  44. pointList.push({
  45. x:$("#name").offset().left-baseX,
  46. y:$("#name").offset().top-baseY,
  47. w:$("#name").width(),
  48. h:$("#name").height(),
  49. text:$("#name").text(),
  50. type:"text"
  51. })
  52. pointList.push({
  53. x:$("#nameLine").offset().left-baseX,
  54. y:$("#nameLine").offset().top-baseY,
  55. w:$("#nameLine").width(),
  56. h:$("#nameLine").height(),
  57. text:$("#nameLine").text(),
  58. type:"line"
  59. })
  60. // 班级,下划线
  61. pointList.push({
  62. x:$("#className").offset().left-baseX,
  63. y:$("#className").offset().top-baseY,
  64. w:$("#className").width(),
  65. h:$("#className").height(),
  66. text:$("#className").text()
  67. })
  68. pointList.push({
  69. x:$("#classNameLine").offset().left-baseX,
  70. y:$("#classNameLine").offset().top-baseY,
  71. w:$("#classNameLine").width(),
  72. h:$("#classNameLine").height(),
  73. text:$("#classNameLine").text(),
  74. type:"line"
  75. })
  76. // 考场号,下划线
  77. pointList.push({
  78. x:$("#kcNo").offset().left-baseX,
  79. y:$("#kcNo").offset().top-baseY,
  80. w:$("#kcNo").width(),
  81. h:$("#kcNo").height(),
  82. text:$("#kcNo").text()
  83. })
  84. pointList.push({
  85. x:$("#kcNoLine").offset().left-baseX,
  86. y:$("#kcNoLine").offset().top-baseY,
  87. w:$("#kcNoLine").width(),
  88. h:$("#kcNoLine").height(),
  89. text:$("#kcNoLine").text(),
  90. type:"line"
  91. })
  92. // 座位号,下划线
  93. pointList.push({
  94. x:$("#sitNo").offset().left-baseX,
  95. y:$("#sitNo").offset().top-baseY,
  96. w:$("#sitNo").width(),
  97. h:$("#sitNo").height(),
  98. text:$("#sitNo").text(),
  99. })
  100. pointList.push({
  101. x:$("#sitNoLine").offset().left-baseX,
  102. y:$("#sitNoLine").offset().top-baseY,
  103. w:$("#sitNoLine").width(),
  104. h:$("#sitNoLine").height(),
  105. text:$("#sitNoLine").text(),
  106. type:"line"
  107. })
  108. pdfData.studentInfo = pointList
  109. // 准考证号和填涂框
  110. pointList = []
  111. pointList.push({
  112. x:$("#zkzh").offset().left-baseX,
  113. y:$("#zkzh").offset().top-baseY,
  114. w:$("#zkzh").width(),
  115. h:$("#zkzh").height(),
  116. type:"text"
  117. })
  118. for(var i=0;i<$(".zkzh_rect").length;i++){
  119. pointList.push({
  120. x:$(".zkzh_rect").eq(i).offset().left-baseX,
  121. y:$(".zkzh_rect").eq(i).offset().top-baseY,
  122. w:$(".zkzh_rect").eq(i).width(),
  123. h:$(".zkzh_rect").eq(i).height(),
  124. type:"rect"
  125. })
  126. }
  127. pdfData.studentNo = pointList
  128. // 注意事项
  129. pointList = []
  130. pointList.push({
  131. x:$("#noteInfo").offset().left-baseX,
  132. y:$("#noteInfo").offset().top-baseY,
  133. w:$("#noteInfo").width(),
  134. h:$("#noteInfo").height(),
  135. type:"rect"
  136. })
  137. pointList.push({
  138. x:$("#noteInfo_title").offset().left-baseX,
  139. y:$("#noteInfo_title").offset().top-baseY,
  140. w:$("#noteInfo_title").width(),
  141. h:$("#noteInfo_title").height(),
  142. type:"text",
  143. text:$("#noteInfo_title").text()
  144. })
  145. for(var i=0;i<$(".noteInfo_desc").length;i++){
  146. pointList.push({
  147. x:$(".noteInfo_desc").eq(i).offset().left-baseX,
  148. y:$(".noteInfo_desc").eq(i).offset().top-baseY,
  149. w:$(".noteInfo_desc").eq(i).width(),
  150. h:$(".noteInfo_desc").eq(i).height(),
  151. type:"text",
  152. text:$(".noteInfo_desc").eq(i).text()
  153. })
  154. }
  155. pdfData.noteInfo = pointList
  156. // 条形码区域
  157. pointList = []
  158. pointList.push({
  159. x:$("#barCodeRect").offset().left-baseX,
  160. y:$("#barCodeRect").offset().top-baseY,
  161. w:$("#barCodeRect").width(),
  162. h:$("#barCodeRect").height(),
  163. type:"rect"
  164. })
  165. pointList.push({
  166. x:$("#barCodeTitle").offset().left-baseX,
  167. y:$("#barCodeTitle").offset().top-baseY,
  168. w:$("#barCodeTitle").width(),
  169. h:$("#barCodeTitle").height(),
  170. type:"text",
  171. text:$("#barCodeTitle").text()
  172. })
  173. pointList.push({
  174. x:$("#barCodeNote").offset().left-baseX,
  175. y:$("#barCodeNote").offset().top-baseY,
  176. w:$("#barCodeNote").width(),
  177. h:$("#barCodeNote").height(),
  178. type:"text",
  179. text:$("#barCodeNote").text()
  180. })
  181. pdfData.barCodeInfo = pointList
  182. // 缺考标记
  183. pointList = []
  184. pointList.push({
  185. x:$("#missExamRect").offset().left-baseX,
  186. y:$("#missExamRect").offset().top-baseY,
  187. w:$("#missExamRect").width(),
  188. h:$("#missExamRect").height(),
  189. type:"rect"
  190. })
  191. pointList.push({
  192. x:$("#exactFill").offset().left-baseX,
  193. y:$("#exactFill").offset().top-baseY,
  194. w:$("#exactFill").width(),
  195. h:$("#exactFill").height(),
  196. type:"text",
  197. text:$("#exactFill").text()
  198. })
  199. pointList.push({
  200. x:$("#exactFillRect").offset().left-baseX,
  201. y:$("#exactFillRect").offset().top-baseY,
  202. w:$("#exactFillRect").width(),
  203. h:$("#exactFillRect").height(),
  204. type:"rect",
  205. })
  206. pointList.push({
  207. x:$("#missExamFill").offset().left-baseX,
  208. y:$("#missExamFill").offset().top-baseY,
  209. w:$("#missExamFill").width(),
  210. h:$("#missExamFill").height(),
  211. type:"text",
  212. text:$("#missExamFill").text()
  213. })
  214. pointList.push({
  215. x:$("#missExamFillRect").offset().left-baseX,
  216. y:$("#missExamFillRect").offset().top-baseY,
  217. w:$("#missExamFillRect").width(),
  218. h:$("#missExamFillRect").height(),
  219. type:"rect"
  220. })
  221. pdfData.missExamInfo = pointList
  222. // 客观题
  223. pointList = []
  224. // 客观题标题
  225. pointList.push({
  226. x:$("#page_objective_title").offset().left-baseX,
  227. y:$("#page_objective_title").offset().top-baseY,
  228. w:$("#page_objective_title").width(),
  229. h:$("#page_objective_title").height(),
  230. type:"text",
  231. text:$("#page_objective_title").text()
  232. })
  233. // 客观题矩形区域
  234. pointList.push({
  235. x:$("#page_objective_rect").offset().left-baseX,
  236. y:$("#page_objective_rect").offset().top-baseY,
  237. w:$("#page_objective_rect").width(),
  238. h:$("#page_objective_rect").height(),
  239. type:"rext"
  240. })
  241. // 客观题选项
  242. $(".page_objective_ques").forEach(item=>{
  243. let tmid = $(item).find(".page_cell_tm_id").eq(0);
  244. let tmoptions = $(item).find(".page_cell_tm_id");
  245. pointList.push({
  246. x:tmid.offset().left-baseX,
  247. y:tmid.offset().top-baseY,
  248. w:tmid.width(),
  249. h:tmid.height(),
  250. type:"text",
  251. text:tmid.text()
  252. })
  253. for(var i=0;i<tmoptions.length;i++){
  254. pointList.push({
  255. x:tmoptions.eq(i).offset().left-baseX,
  256. y:tmoptions.eq(i).offset().top-baseY,
  257. w:tmoptions.eq(i).width(),
  258. h:tmoptions.eq(i).height(),
  259. type:"rext"
  260. })
  261. }
  262. })
  263. pdfData.objectiveQues = pointList
  264. });
  265. console.log(pdfData,33333333333333)
  266. })