company_contact.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. $(function() {
  2. let data = [{
  3. "personName": "zhang123",
  4. "title": "manager",
  5. "region": "China",
  6. "contactNumber": "199 0989 6789",
  7. "contactEmail": "zhang@gmail.com",
  8. "contactNumberSelect": "+88"
  9. },
  10. {
  11. "personName": "zhang456",
  12. "title": "manager",
  13. "region": "China",
  14. "contactNumber": "199 0989 6789",
  15. "contactEmail": "zhang@gmail.com",
  16. "contactNumberSelect": "+88"
  17. },
  18. {
  19. "personName": "zhang789",
  20. "title": "manager",
  21. "region": "China",
  22. "contactNumber": "199 0989 6789",
  23. "contactEmail": "zhang@gmail.com",
  24. "contactNumberSelect": "+88"
  25. }
  26. ];
  27. var loginCompany = window.localStorage.getItem("loginCompany");
  28. if (loginCompany) {
  29. loginCompany = JSON.parse(loginCompany)
  30. data = loginCompany.contacters;
  31. $("#Disciplines").text(loginCompany.Disciplines)
  32. $("#introduction").text(loginCompany.introduction)
  33. $("#companyName").text(loginCompany.companyName)
  34. $("#logo").attr('src', loginCompany.logo)
  35. }
  36. const tmphtml = template("list-contacts", {
  37. contacts: data
  38. });
  39. $(".contact-dtl").append(tmphtml);
  40. const {
  41. jsPDF
  42. } = window.jspdf
  43. $("#down").click(function() {
  44. // var doc = new jsPDF();
  45. // doc.text(20, 20, 'Hello world.');
  46. // doc.save('Test.pdf');
  47. setTimeout(function(){
  48. downloadPdf()
  49. }, 500);
  50. })
  51. function downloadPdf() {
  52. var filename = "company_contact.pdf";
  53. // 将 id 为 content_kong 的 div 渲染成 canvas
  54. html2canvas(document.getElementById("print"), {
  55. // 渲染完成时调用,获得 canvas
  56. onrendered: function(canvas) {
  57. // 从 canvas 提取图片数据
  58. var imgData = canvas.toDataURL('image/jpeg', 1);
  59. var canWidth = canvas.width;
  60. var canHeight = canvas.height;
  61. //一页pdf显示html页面生成的canvas高度;
  62. var pageHeight = canWidth / 592.28 * 841.89;
  63. //未生成pdf的html页面高度
  64. var leftHeight = canHeight;
  65. //pdf页面偏移
  66. var position = 0;
  67. //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高
  68. var imgWidth = 595.28;
  69. var imgHeight = 592.28 / canWidth * canHeight;
  70. //l:横向, p:纵向
  71. // var doc = new jsPDF("p", "mm", "a4");
  72. var doc = new jsPDF("p", "pt", "a4");
  73. //var doc = new jsPDF('', 'in', [(canWidth+10)/dpiX,(canHeight+10)/dpiY]);//设置PDF宽高为要显示的元素的宽高,将像素转化为英寸
  74. //doc.addImage(imgData, 'JPEG', 0, 0,0,0);
  75. //doc.addImage(imgData, 'JPEG', 0, 0,dpiX,dpiY);
  76. if (leftHeight < pageHeight) {
  77. doc.addImage(imgData, 'JPEG', 0, 0, imgWidth, imgHeight);
  78. } else {
  79. while (leftHeight > 0) {
  80. doc.addImage(pageData, 'JPEG', 0, position + 0, imgWidth, imgHeight);
  81. leftHeight -= pageHeight;
  82. position -= 841.89;
  83. //避免添加空白页
  84. if (leftHeight > 0) {
  85. doc.addPage();
  86. };
  87. };
  88. }
  89. doc.save(filename);
  90. },
  91. background: "#ffffff" //设置PDF背景色(默认透明,实际显示为黑色)
  92. });
  93. }
  94. })