index.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <meta name="keywords" content="pdfh5.js,pdf.js,gjTool,gjtool.cn,www.gjtool.cn,gjTool.js,移动端展示预览打开pdf,手机端展示预览打开pd" />
  8. <meta name="description" content="pdf.js移动端展示预览打开pdf-pdfh5.js" />
  9. <title>pdf.js移动端展示预览打开pdf-pdfh5.js</title>
  10. <link rel="stylesheet" href="css/style.css" />
  11. <link href="//www.gjtool.cn/download/pdfh5.png" type="image/x-icon" rel="shortcut icon" />
  12. <style>
  13. html,
  14. body {
  15. width: 100%;
  16. height: 100%;
  17. }
  18. .docs-header-content {
  19. max-width: 388px;
  20. float: left;
  21. position: relative;
  22. padding: 50px 10px;
  23. text-align: center;
  24. -webkit-animation-name: fadeintext;
  25. -moz-animation-name: fadeintext;
  26. animation-name: fadeintext;
  27. -webkit-animation-duration: 2s;
  28. -moz-animation-duration: 2s;
  29. animation-duration: 2s;
  30. background: #fff;
  31. }
  32. .docs-subtitle {
  33. max-width: 750px;
  34. margin: 0 auto 20px;
  35. font-size: 28px;
  36. font-weight: 300;
  37. line-height: 38px;
  38. color: #d64c28;
  39. margin-bottom: 30px;
  40. font-size: 41px;
  41. line-height: 60px;
  42. }
  43. .github-btn {
  44. overflow: hidden;
  45. border: 0;
  46. }
  47. .phone {
  48. margin: 10px auto;
  49. position: relative;
  50. background: #111;
  51. border-radius: 55px;
  52. box-shadow: 0px 0px 0px 2px #aaa;
  53. width: 270px;
  54. height: 358px;
  55. padding: 105px 25px;
  56. -webkit-box-sizing: content-box;
  57. box-sizing: content-box;
  58. float: right;
  59. transform: translateX(-8%);
  60. }
  61. .phone iframe {
  62. width: 270px;
  63. height: 100%;
  64. display: block;
  65. width: 100%;
  66. margin-top: 15px;
  67. }
  68. .phone:before {
  69. content: '';
  70. width: 60px;
  71. height: 10px;
  72. border-radius: 10px;
  73. position: absolute;
  74. left: 50%;
  75. margin-left: -30px;
  76. background: #333;
  77. top: 50px;
  78. }
  79. .phone:after {
  80. content: '';
  81. position: absolute;
  82. width: 60px;
  83. height: 60px;
  84. left: 50%;
  85. margin-left: -30px;
  86. bottom: 20px;
  87. border-radius: 100%;
  88. box-sizing: border-box;
  89. border: 5px solid #333;
  90. }
  91. .phone .statusbar {
  92. position: absolute;
  93. width: 270px;
  94. height: 15px;
  95. background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAAoCAIAAADhf9zeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6REEyN0EzRUU1QzM3MTFFNEE1ODA5RkNEOEU4MEU4ODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REEyN0EzRUY1QzM3MTFFNEE1ODA5RkNEOEU4MEU4ODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEQTI3QTNFQzVDMzcxMUU0QTU4MDlGQ0Q4RTgwRTg4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEQTI3QTNFRDVDMzcxMUU0QTU4MDlGQ0Q4RTgwRTg4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuHAU7gAAA6nSURBVHja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');
  96. left: 50%;
  97. margin-left: -135px;
  98. top: 104px;
  99. -webkit-background-size: 100% auto;
  100. background-size: 100% auto;
  101. }
  102. :before,
  103. :after {
  104. -webkit-box-sizing: border-box;
  105. -moz-box-sizing: border-box;
  106. box-sizing: border-box;
  107. }
  108. .phone-link {
  109. position: absolute;
  110. width: 100%;
  111. top: 100%;
  112. left: 0;
  113. text-align: center;
  114. margin-top: 25px;
  115. margin-bottom: 25px;
  116. }
  117. a,
  118. a:focus,
  119. a:active,
  120. a:visited {
  121. color: #018efb;
  122. text-decoration: underline;
  123. }
  124. ol {
  125. width: 90%;
  126. margin-left: 40px;
  127. list-style: decimal;
  128. text-align: left;
  129. }
  130. ol li {
  131. margin: 10px 0;
  132. }
  133. </style>
  134. </head>
  135. <body>
  136. <div style="max-width:1024px;margin:0 auto;">
  137. <div class="docs-header-content" style="transform:none;-webkit-transform:none;">
  138. <p class="docs-subtitle">pdfh5.js - 移动端预览PDF插件,基于pdf.js和jQuery</p>
  139. <a href="//github.com/gjTool/pdfh5"
  140. style="display:block;margin-bottom:30px;">
  141. <div id="code"></div>
  142. </a>
  143. <iframe class="github-btn"
  144. src="//ghbtns.com/github-btn.html?user=gjtool&amp;repo=pdfh5&amp;type=watch&amp;count=true" width="100"
  145. height="20">
  146. </iframe>
  147. <iframe class="github-btn"
  148. src="//ghbtns.com/github-btn.html?user=gjtool&amp;repo=pdfh5&amp;type=fork&amp;count=true" width="100"
  149. height="20">
  150. </iframe>
  151. <p style="text-align: left;margin-top: 20px;">本插件所需文件如下:</p>
  152. <ol>
  153. <li><a target="_blank" download="cmaps.zip"
  154. href="//www.gjtool.cn/download/cmaps.zip">cmaps文件夹-解决字体不全问题(下载压缩包解压) 下载大小:969kb</a></li>
  155. <li><a target="_blank" download="pdf.js" href="//www.gjtool.cn/pdfh5/js/pdf.js">pdf.js 下载大小:317kb</a></li>
  156. <li><a target="_blank" download="pdf.worker.js" href="//www.gjtool.cn/pdfh5/js/pdf.worker.js">pdf.worker.js
  157. 下载大小:749kb</a></li>
  158. <li><a target="_blank" download="js"
  159. href="//www.gjtool.cn/pdfh5/js/jquery-2.1.1.min.js">jquery-2.1.1.min.js 下载大小:94kb</a></li>
  160. <li><a target="_blank" download="pdfh5.js" href="//www.gjtool.cn/pdfh5/js/pdfh5.js">pdfh5.js 下载大小:22kb</a>
  161. </li>
  162. <li><a target="_blank" download="pdfh5.css" href="//www.gjtool.cn/pdfh5/css/pdfh5.css">pdfh5.css 下载大小:9kb</a>
  163. </li>
  164. </ol>
  165. </div>
  166. <p style="text-align: left;margin-top: 20px;padding-left: 10px;">pdfh5支持在线预览,修改地址栏file=后的地址就行,如果不填写,就在实例化的时候传入pdf地址:</p>
  167. <a target="_blank"
  168. href="//www.gjtool.cn/pdfh5/pdf.html?file=//www.gjtool.cn/pdfh5/test.pdf" style="padding-left: 10px;">http://www.gjtool.cn/pdfh5/pdf.html?file=//www.gjtool.cn/pdfh5/test.pdf</a>
  169. <p style="text-align: left;margin-top: 20px;padding-left: 10px;">
  170. 默认优先获取浏览器地址栏?file=后面的地址,如果地址栏没有,再拿配置项的pdfurl或者data来渲染pdf。pdfh5实例初始化:</p>
  171. <pre style="text-align: left;margin-top: 20px;background: #111;color:aqua">
  172. var pdfh5 = new Pdfh5('.pdfjs', {
  173. pdfurl: 'default.pdf'
  174. });
  175. </pre>
  176. <div class="phone">
  177. <iframe src="pdf.html" frameborder="0" scrolling="no"></iframe>
  178. <div class="statusbar"></div>
  179. <a href="pdf.html" target="_blank"
  180. style="display:block;width:60px;height:60px;position: absolute;bottom:20PX;left:50%;margin-left: -30px;z-index:100;"></a>
  181. <p class="phone-link">
  182. <a target="_blank" href="pdf.html">Open it in a new page</a>
  183. </p>
  184. <p style="position: absolute;bottom: -96px;left: 0;color: #777;font-size: 14px;
  185. text-indent: 70px;">鄂ICP备19002193号-1</p>
  186. </div>
  187. </div>
  188. <script src="js/jquery-2.1.1.min.js"></script>
  189. <script src="js/jquery.qrcode.min.js"></script>
  190. <script>
  191. $('#code').qrcode(location.href);
  192. var _hmt = _hmt || [];
  193. (function () {
  194. var hm = document.createElement("script");
  195. hm.src = "https://hm.baidu.com/hm.js?d924028c274d650b6f12d391ec251143";
  196. var s = document.getElementsByTagName("script")[0];
  197. s.parentNode.insertBefore(hm, s);
  198. })();
  199. (function () {
  200. var bp = document.createElement('script');
  201. var curProtocol = window.location.protocol.split(':')[0];
  202. if (curProtocol === 'https') {
  203. bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
  204. }
  205. else {
  206. bp.src = 'http://push.zhanzhang.baidu.com/push.js';
  207. }
  208. var s = document.getElementsByTagName("script")[0];
  209. s.parentNode.insertBefore(bp, s);
  210. })();
  211. </script>
  212. </body>
  213. </html>