pdfjs_viewer 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +13 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +230 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +7 -0
  7. data/CHANGELOG.md +2 -0
  8. data/Gemfile +8 -0
  9. data/Gemfile.lock +67 -0
  10. data/LICENSE +204 -0
  11. data/README.md +128 -0
  12. data/Rakefile +6 -0
  13. data/app/controllers/pdfjs_viewer/assets_controller.rb +27 -0
  14. data/app/controllers/pdfjs_viewer/viewer_controller.rb +11 -0
  15. data/app/helpers/pdfjs_viewer/application_helper.rb +20 -0
  16. data/app/views/pdfjs_viewer/viewer/show.html.erb +775 -0
  17. data/bin/build_pdfjs +24 -0
  18. data/bin/console +14 -0
  19. data/bin/setup +8 -0
  20. data/config/routes.rb +11 -0
  21. data/lib/generators/pdfjs_viewer/install_generator.rb +20 -0
  22. data/lib/generators/pdfjs_viewer/templates/README +20 -0
  23. data/lib/generators/pdfjs_viewer/templates/pdfjs_viewer.rb +30 -0
  24. data/lib/pdfjs_viewer/configuration.rb +21 -0
  25. data/lib/pdfjs_viewer/engine.rb +19 -0
  26. data/lib/pdfjs_viewer/version.rb +7 -0
  27. data/lib/pdfjs_viewer.rb +22 -0
  28. data/pdfjs_viewer.gemspec +54 -0
  29. data/public/build/pdf.mjs +23371 -0
  30. data/public/build/pdf.mjs.map +1 -0
  31. data/public/build/pdf.sandbox.mjs +218 -0
  32. data/public/build/pdf.sandbox.mjs.map +1 -0
  33. data/public/build/pdf.worker.mjs +58148 -0
  34. data/public/build/pdf.worker.mjs.map +1 -0
  35. data/public/web/cmaps/78-EUC-H.bcmap +0 -0
  36. data/public/web/cmaps/78-EUC-V.bcmap +0 -0
  37. data/public/web/cmaps/78-H.bcmap +0 -0
  38. data/public/web/cmaps/78-RKSJ-H.bcmap +0 -0
  39. data/public/web/cmaps/78-RKSJ-V.bcmap +0 -0
  40. data/public/web/cmaps/78-V.bcmap +0 -0
  41. data/public/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
  42. data/public/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
  43. data/public/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
  44. data/public/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
  45. data/public/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
  46. data/public/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
  47. data/public/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
  48. data/public/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
  49. data/public/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
  50. data/public/web/cmaps/Add-H.bcmap +0 -0
  51. data/public/web/cmaps/Add-RKSJ-H.bcmap +0 -0
  52. data/public/web/cmaps/Add-RKSJ-V.bcmap +0 -0
  53. data/public/web/cmaps/Add-V.bcmap +0 -0
  54. data/public/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
  55. data/public/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
  56. data/public/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
  57. data/public/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
  58. data/public/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
  59. data/public/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
  60. data/public/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
  61. data/public/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  62. data/public/web/cmaps/Adobe-GB1-0.bcmap +0 -0
  63. data/public/web/cmaps/Adobe-GB1-1.bcmap +0 -0
  64. data/public/web/cmaps/Adobe-GB1-2.bcmap +0 -0
  65. data/public/web/cmaps/Adobe-GB1-3.bcmap +0 -0
  66. data/public/web/cmaps/Adobe-GB1-4.bcmap +0 -0
  67. data/public/web/cmaps/Adobe-GB1-5.bcmap +0 -0
  68. data/public/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  69. data/public/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
  70. data/public/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
  71. data/public/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
  72. data/public/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
  73. data/public/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
  74. data/public/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
  75. data/public/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
  76. data/public/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  77. data/public/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
  78. data/public/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
  79. data/public/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
  80. data/public/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  81. data/public/web/cmaps/B5-H.bcmap +0 -0
  82. data/public/web/cmaps/B5-V.bcmap +0 -0
  83. data/public/web/cmaps/B5pc-H.bcmap +0 -0
  84. data/public/web/cmaps/B5pc-V.bcmap +0 -0
  85. data/public/web/cmaps/CNS-EUC-H.bcmap +0 -0
  86. data/public/web/cmaps/CNS-EUC-V.bcmap +0 -0
  87. data/public/web/cmaps/CNS1-H.bcmap +0 -0
  88. data/public/web/cmaps/CNS1-V.bcmap +0 -0
  89. data/public/web/cmaps/CNS2-H.bcmap +0 -0
  90. data/public/web/cmaps/CNS2-V.bcmap +3 -0
  91. data/public/web/cmaps/ETHK-B5-H.bcmap +0 -0
  92. data/public/web/cmaps/ETHK-B5-V.bcmap +0 -0
  93. data/public/web/cmaps/ETen-B5-H.bcmap +0 -0
  94. data/public/web/cmaps/ETen-B5-V.bcmap +0 -0
  95. data/public/web/cmaps/ETenms-B5-H.bcmap +3 -0
  96. data/public/web/cmaps/ETenms-B5-V.bcmap +0 -0
  97. data/public/web/cmaps/EUC-H.bcmap +0 -0
  98. data/public/web/cmaps/EUC-V.bcmap +0 -0
  99. data/public/web/cmaps/Ext-H.bcmap +0 -0
  100. data/public/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
  101. data/public/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
  102. data/public/web/cmaps/Ext-V.bcmap +0 -0
  103. data/public/web/cmaps/GB-EUC-H.bcmap +0 -0
  104. data/public/web/cmaps/GB-EUC-V.bcmap +0 -0
  105. data/public/web/cmaps/GB-H.bcmap +4 -0
  106. data/public/web/cmaps/GB-V.bcmap +0 -0
  107. data/public/web/cmaps/GBK-EUC-H.bcmap +0 -0
  108. data/public/web/cmaps/GBK-EUC-V.bcmap +0 -0
  109. data/public/web/cmaps/GBK2K-H.bcmap +0 -0
  110. data/public/web/cmaps/GBK2K-V.bcmap +0 -0
  111. data/public/web/cmaps/GBKp-EUC-H.bcmap +0 -0
  112. data/public/web/cmaps/GBKp-EUC-V.bcmap +0 -0
  113. data/public/web/cmaps/GBT-EUC-H.bcmap +0 -0
  114. data/public/web/cmaps/GBT-EUC-V.bcmap +0 -0
  115. data/public/web/cmaps/GBT-H.bcmap +0 -0
  116. data/public/web/cmaps/GBT-V.bcmap +0 -0
  117. data/public/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
  118. data/public/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
  119. data/public/web/cmaps/GBpc-EUC-H.bcmap +0 -0
  120. data/public/web/cmaps/GBpc-EUC-V.bcmap +0 -0
  121. data/public/web/cmaps/H.bcmap +0 -0
  122. data/public/web/cmaps/HKdla-B5-H.bcmap +0 -0
  123. data/public/web/cmaps/HKdla-B5-V.bcmap +0 -0
  124. data/public/web/cmaps/HKdlb-B5-H.bcmap +0 -0
  125. data/public/web/cmaps/HKdlb-B5-V.bcmap +0 -0
  126. data/public/web/cmaps/HKgccs-B5-H.bcmap +0 -0
  127. data/public/web/cmaps/HKgccs-B5-V.bcmap +0 -0
  128. data/public/web/cmaps/HKm314-B5-H.bcmap +0 -0
  129. data/public/web/cmaps/HKm314-B5-V.bcmap +0 -0
  130. data/public/web/cmaps/HKm471-B5-H.bcmap +0 -0
  131. data/public/web/cmaps/HKm471-B5-V.bcmap +0 -0
  132. data/public/web/cmaps/HKscs-B5-H.bcmap +0 -0
  133. data/public/web/cmaps/HKscs-B5-V.bcmap +0 -0
  134. data/public/web/cmaps/Hankaku.bcmap +0 -0
  135. data/public/web/cmaps/Hiragana.bcmap +0 -0
  136. data/public/web/cmaps/KSC-EUC-H.bcmap +0 -0
  137. data/public/web/cmaps/KSC-EUC-V.bcmap +0 -0
  138. data/public/web/cmaps/KSC-H.bcmap +0 -0
  139. data/public/web/cmaps/KSC-Johab-H.bcmap +0 -0
  140. data/public/web/cmaps/KSC-Johab-V.bcmap +0 -0
  141. data/public/web/cmaps/KSC-V.bcmap +0 -0
  142. data/public/web/cmaps/KSCms-UHC-H.bcmap +0 -0
  143. data/public/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  144. data/public/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  145. data/public/web/cmaps/KSCms-UHC-V.bcmap +0 -0
  146. data/public/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
  147. data/public/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
  148. data/public/web/cmaps/Katakana.bcmap +0 -0
  149. data/public/web/cmaps/LICENSE +36 -0
  150. data/public/web/cmaps/NWP-H.bcmap +0 -0
  151. data/public/web/cmaps/NWP-V.bcmap +0 -0
  152. data/public/web/cmaps/RKSJ-H.bcmap +0 -0
  153. data/public/web/cmaps/RKSJ-V.bcmap +0 -0
  154. data/public/web/cmaps/Roman.bcmap +0 -0
  155. data/public/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  156. data/public/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  157. data/public/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  158. data/public/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  159. data/public/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  160. data/public/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  161. data/public/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  162. data/public/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  163. data/public/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
  164. data/public/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
  165. data/public/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
  166. data/public/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
  167. data/public/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
  168. data/public/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
  169. data/public/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
  170. data/public/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
  171. data/public/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  172. data/public/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  173. data/public/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  174. data/public/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  175. data/public/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  176. data/public/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  177. data/public/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  178. data/public/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  179. data/public/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  180. data/public/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  181. data/public/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  182. data/public/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  183. data/public/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  184. data/public/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  185. data/public/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  186. data/public/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  187. data/public/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  188. data/public/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  189. data/public/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  190. data/public/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  191. data/public/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  192. data/public/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  193. data/public/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  194. data/public/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
  195. data/public/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
  196. data/public/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
  197. data/public/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
  198. data/public/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
  199. data/public/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
  200. data/public/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
  201. data/public/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
  202. data/public/web/cmaps/V.bcmap +0 -0
  203. data/public/web/cmaps/WP-Symbol.bcmap +0 -0
  204. data/public/web/compressed.tracemonkey-pldi-09.pdf +0 -0
  205. data/public/web/debugger.css +114 -0
  206. data/public/web/debugger.mjs +627 -0
  207. data/public/web/iccs/CGATS001Compat-v2-micro.icc +0 -0
  208. data/public/web/iccs/LICENSE +116 -0
  209. data/public/web/images/altText_add.svg +3 -0
  210. data/public/web/images/altText_disclaimer.svg +3 -0
  211. data/public/web/images/altText_done.svg +3 -0
  212. data/public/web/images/altText_spinner.svg +30 -0
  213. data/public/web/images/altText_warning.svg +3 -0
  214. data/public/web/images/annotation-check.svg +11 -0
  215. data/public/web/images/annotation-comment.svg +16 -0
  216. data/public/web/images/annotation-help.svg +26 -0
  217. data/public/web/images/annotation-insert.svg +10 -0
  218. data/public/web/images/annotation-key.svg +11 -0
  219. data/public/web/images/annotation-newparagraph.svg +11 -0
  220. data/public/web/images/annotation-noicon.svg +7 -0
  221. data/public/web/images/annotation-note.svg +42 -0
  222. data/public/web/images/annotation-paperclip.svg +6 -0
  223. data/public/web/images/annotation-paragraph.svg +16 -0
  224. data/public/web/images/annotation-pushpin.svg +7 -0
  225. data/public/web/images/comment-actionsButton.svg +3 -0
  226. data/public/web/images/comment-closeButton.svg +3 -0
  227. data/public/web/images/comment-editButton.svg +3 -0
  228. data/public/web/images/cursor-editorFreeHighlight.svg +6 -0
  229. data/public/web/images/cursor-editorFreeText.svg +3 -0
  230. data/public/web/images/cursor-editorInk.svg +4 -0
  231. data/public/web/images/cursor-editorTextHighlight.svg +8 -0
  232. data/public/web/images/editor-toolbar-delete.svg +5 -0
  233. data/public/web/images/editor-toolbar-edit.svg +3 -0
  234. data/public/web/images/findbarButton-next.svg +3 -0
  235. data/public/web/images/findbarButton-previous.svg +3 -0
  236. data/public/web/images/gv-toolbarButton-download.svg +3 -0
  237. data/public/web/images/loading-icon.gif +0 -0
  238. data/public/web/images/loading.svg +1 -0
  239. data/public/web/images/messageBar_closingButton.svg +3 -0
  240. data/public/web/images/messageBar_info.svg +3 -0
  241. data/public/web/images/messageBar_warning.svg +3 -0
  242. data/public/web/images/secondaryToolbarButton-documentProperties.svg +3 -0
  243. data/public/web/images/secondaryToolbarButton-firstPage.svg +3 -0
  244. data/public/web/images/secondaryToolbarButton-handTool.svg +3 -0
  245. data/public/web/images/secondaryToolbarButton-lastPage.svg +3 -0
  246. data/public/web/images/secondaryToolbarButton-rotateCcw.svg +3 -0
  247. data/public/web/images/secondaryToolbarButton-rotateCw.svg +3 -0
  248. data/public/web/images/secondaryToolbarButton-scrollHorizontal.svg +3 -0
  249. data/public/web/images/secondaryToolbarButton-scrollPage.svg +3 -0
  250. data/public/web/images/secondaryToolbarButton-scrollVertical.svg +3 -0
  251. data/public/web/images/secondaryToolbarButton-scrollWrapped.svg +3 -0
  252. data/public/web/images/secondaryToolbarButton-selectTool.svg +3 -0
  253. data/public/web/images/secondaryToolbarButton-spreadEven.svg +3 -0
  254. data/public/web/images/secondaryToolbarButton-spreadNone.svg +3 -0
  255. data/public/web/images/secondaryToolbarButton-spreadOdd.svg +3 -0
  256. data/public/web/images/toolbarButton-bookmark.svg +3 -0
  257. data/public/web/images/toolbarButton-currentOutlineItem.svg +3 -0
  258. data/public/web/images/toolbarButton-download.svg +4 -0
  259. data/public/web/images/toolbarButton-editorFreeText.svg +5 -0
  260. data/public/web/images/toolbarButton-editorHighlight.svg +6 -0
  261. data/public/web/images/toolbarButton-editorInk.svg +4 -0
  262. data/public/web/images/toolbarButton-editorSignature.svg +6 -0
  263. data/public/web/images/toolbarButton-editorStamp.svg +8 -0
  264. data/public/web/images/toolbarButton-menuArrow.svg +3 -0
  265. data/public/web/images/toolbarButton-openFile.svg +3 -0
  266. data/public/web/images/toolbarButton-pageDown.svg +3 -0
  267. data/public/web/images/toolbarButton-pageUp.svg +3 -0
  268. data/public/web/images/toolbarButton-presentationMode.svg +3 -0
  269. data/public/web/images/toolbarButton-print.svg +3 -0
  270. data/public/web/images/toolbarButton-search.svg +3 -0
  271. data/public/web/images/toolbarButton-secondaryToolbarToggle.svg +3 -0
  272. data/public/web/images/toolbarButton-sidebarToggle.svg +3 -0
  273. data/public/web/images/toolbarButton-viewAttachments.svg +3 -0
  274. data/public/web/images/toolbarButton-viewLayers.svg +3 -0
  275. data/public/web/images/toolbarButton-viewOutline.svg +3 -0
  276. data/public/web/images/toolbarButton-viewThumbnail.svg +3 -0
  277. data/public/web/images/toolbarButton-zoomIn.svg +3 -0
  278. data/public/web/images/toolbarButton-zoomOut.svg +3 -0
  279. data/public/web/images/treeitem-collapsed.svg +1 -0
  280. data/public/web/images/treeitem-expanded.svg +1 -0
  281. data/public/web/locale/ach/viewer.ftl +275 -0
  282. data/public/web/locale/af/viewer.ftl +262 -0
  283. data/public/web/locale/an/viewer.ftl +307 -0
  284. data/public/web/locale/ar/viewer.ftl +627 -0
  285. data/public/web/locale/ast/viewer.ftl +251 -0
  286. data/public/web/locale/az/viewer.ftl +307 -0
  287. data/public/web/locale/be/viewer.ftl +618 -0
  288. data/public/web/locale/bg/viewer.ftl +451 -0
  289. data/public/web/locale/bn/viewer.ftl +297 -0
  290. data/public/web/locale/bo/viewer.ftl +297 -0
  291. data/public/web/locale/br/viewer.ftl +382 -0
  292. data/public/web/locale/brx/viewer.ftl +268 -0
  293. data/public/web/locale/bs/viewer.ftl +618 -0
  294. data/public/web/locale/ca/viewer.ftl +343 -0
  295. data/public/web/locale/cak/viewer.ftl +341 -0
  296. data/public/web/locale/ckb/viewer.ftl +292 -0
  297. data/public/web/locale/cs/viewer.ftl +621 -0
  298. data/public/web/locale/cy/viewer.ftl +627 -0
  299. data/public/web/locale/da/viewer.ftl +615 -0
  300. data/public/web/locale/de/viewer.ftl +615 -0
  301. data/public/web/locale/dsb/viewer.ftl +621 -0
  302. data/public/web/locale/el/viewer.ftl +615 -0
  303. data/public/web/locale/en-CA/viewer.ftl +615 -0
  304. data/public/web/locale/en-GB/viewer.ftl +615 -0
  305. data/public/web/locale/en-US/viewer.ftl +667 -0
  306. data/public/web/locale/eo/viewer.ftl +615 -0
  307. data/public/web/locale/es-AR/viewer.ftl +615 -0
  308. data/public/web/locale/es-CL/viewer.ftl +615 -0
  309. data/public/web/locale/es-ES/viewer.ftl +615 -0
  310. data/public/web/locale/es-MX/viewer.ftl +580 -0
  311. data/public/web/locale/et/viewer.ftl +319 -0
  312. data/public/web/locale/eu/viewer.ftl +619 -0
  313. data/public/web/locale/fa/viewer.ftl +378 -0
  314. data/public/web/locale/ff/viewer.ftl +297 -0
  315. data/public/web/locale/fi/viewer.ftl +615 -0
  316. data/public/web/locale/fr/viewer.ftl +611 -0
  317. data/public/web/locale/fur/viewer.ftl +615 -0
  318. data/public/web/locale/fy-NL/viewer.ftl +615 -0
  319. data/public/web/locale/ga-IE/viewer.ftl +263 -0
  320. data/public/web/locale/gd/viewer.ftl +343 -0
  321. data/public/web/locale/gl/viewer.ftl +615 -0
  322. data/public/web/locale/gn/viewer.ftl +614 -0
  323. data/public/web/locale/gu-IN/viewer.ftl +297 -0
  324. data/public/web/locale/he/viewer.ftl +615 -0
  325. data/public/web/locale/hi-IN/viewer.ftl +297 -0
  326. data/public/web/locale/hr/viewer.ftl +618 -0
  327. data/public/web/locale/hsb/viewer.ftl +621 -0
  328. data/public/web/locale/hu/viewer.ftl +615 -0
  329. data/public/web/locale/hy-AM/viewer.ftl +314 -0
  330. data/public/web/locale/hye/viewer.ftl +318 -0
  331. data/public/web/locale/ia/viewer.ftl +615 -0
  332. data/public/web/locale/id/viewer.ftl +603 -0
  333. data/public/web/locale/is/viewer.ftl +600 -0
  334. data/public/web/locale/it/viewer.ftl +623 -0
  335. data/public/web/locale/ja/viewer.ftl +603 -0
  336. data/public/web/locale/ka/viewer.ftl +615 -0
  337. data/public/web/locale/kab/viewer.ftl +595 -0
  338. data/public/web/locale/kk/viewer.ftl +603 -0
  339. data/public/web/locale/km/viewer.ftl +273 -0
  340. data/public/web/locale/kn/viewer.ftl +263 -0
  341. data/public/web/locale/ko/viewer.ftl +603 -0
  342. data/public/web/locale/lij/viewer.ftl +297 -0
  343. data/public/web/locale/lo/viewer.ftl +343 -0
  344. data/public/web/locale/locale.json +1 -0
  345. data/public/web/locale/lt/viewer.ftl +318 -0
  346. data/public/web/locale/ltg/viewer.ftl +296 -0
  347. data/public/web/locale/lv/viewer.ftl +297 -0
  348. data/public/web/locale/meh/viewer.ftl +137 -0
  349. data/public/web/locale/mk/viewer.ftl +265 -0
  350. data/public/web/locale/ml/viewer.ftl +524 -0
  351. data/public/web/locale/mr/viewer.ftl +289 -0
  352. data/public/web/locale/ms/viewer.ftl +297 -0
  353. data/public/web/locale/my/viewer.ftl +256 -0
  354. data/public/web/locale/nb-NO/viewer.ftl +615 -0
  355. data/public/web/locale/ne-NP/viewer.ftl +284 -0
  356. data/public/web/locale/nl/viewer.ftl +615 -0
  357. data/public/web/locale/nn-NO/viewer.ftl +609 -0
  358. data/public/web/locale/oc/viewer.ftl +436 -0
  359. data/public/web/locale/pa-IN/viewer.ftl +615 -0
  360. data/public/web/locale/pl/viewer.ftl +618 -0
  361. data/public/web/locale/pt-BR/viewer.ftl +615 -0
  362. data/public/web/locale/pt-PT/viewer.ftl +615 -0
  363. data/public/web/locale/rm/viewer.ftl +615 -0
  364. data/public/web/locale/ro/viewer.ftl +302 -0
  365. data/public/web/locale/ru/viewer.ftl +618 -0
  366. data/public/web/locale/sat/viewer.ftl +355 -0
  367. data/public/web/locale/sc/viewer.ftl +394 -0
  368. data/public/web/locale/scn/viewer.ftl +124 -0
  369. data/public/web/locale/sco/viewer.ftl +314 -0
  370. data/public/web/locale/si/viewer.ftl +301 -0
  371. data/public/web/locale/sk/viewer.ftl +621 -0
  372. data/public/web/locale/skr/viewer.ftl +524 -0
  373. data/public/web/locale/sl/viewer.ftl +621 -0
  374. data/public/web/locale/son/viewer.ftl +256 -0
  375. data/public/web/locale/sq/viewer.ftl +606 -0
  376. data/public/web/locale/sr/viewer.ftl +451 -0
  377. data/public/web/locale/sv-SE/viewer.ftl +615 -0
  378. data/public/web/locale/szl/viewer.ftl +307 -0
  379. data/public/web/locale/ta/viewer.ftl +273 -0
  380. data/public/web/locale/te/viewer.ftl +289 -0
  381. data/public/web/locale/tg/viewer.ftl +615 -0
  382. data/public/web/locale/th/viewer.ftl +603 -0
  383. data/public/web/locale/tl/viewer.ftl +307 -0
  384. data/public/web/locale/tr/viewer.ftl +615 -0
  385. data/public/web/locale/trs/viewer.ftl +247 -0
  386. data/public/web/locale/uk/viewer.ftl +618 -0
  387. data/public/web/locale/ur/viewer.ftl +298 -0
  388. data/public/web/locale/uz/viewer.ftl +237 -0
  389. data/public/web/locale/vi/viewer.ftl +603 -0
  390. data/public/web/locale/wo/viewer.ftl +177 -0
  391. data/public/web/locale/xh/viewer.ftl +262 -0
  392. data/public/web/locale/zh-CN/viewer.ftl +603 -0
  393. data/public/web/locale/zh-TW/viewer.ftl +603 -0
  394. data/public/web/standard_fonts/FoxitDingbats.pfb +0 -0
  395. data/public/web/standard_fonts/FoxitFixed.pfb +0 -0
  396. data/public/web/standard_fonts/FoxitFixedBold.pfb +0 -0
  397. data/public/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  398. data/public/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
  399. data/public/web/standard_fonts/FoxitSerif.pfb +0 -0
  400. data/public/web/standard_fonts/FoxitSerifBold.pfb +0 -0
  401. data/public/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  402. data/public/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
  403. data/public/web/standard_fonts/FoxitSymbol.pfb +0 -0
  404. data/public/web/standard_fonts/LICENSE_FOXIT +27 -0
  405. data/public/web/standard_fonts/LICENSE_LIBERATION +102 -0
  406. data/public/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
  407. data/public/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  408. data/public/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
  409. data/public/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
  410. data/public/web/viewer.css +6766 -0
  411. data/public/web/viewer.html +768 -0
  412. data/public/web/viewer.mjs +17445 -0
  413. data/public/web/viewer.mjs.map +1 -0
  414. data/public/web/wasm/LICENSE_OPENJPEG +39 -0
  415. data/public/web/wasm/LICENSE_PDFJS_OPENJPEG +22 -0
  416. data/public/web/wasm/LICENSE_PDFJS_QCMS +22 -0
  417. data/public/web/wasm/LICENSE_QCMS +21 -0
  418. data/public/web/wasm/openjpeg.wasm +0 -0
  419. data/public/web/wasm/openjpeg_nowasm_fallback.js +29 -0
  420. data/public/web/wasm/qcms_bg.wasm +0 -0
  421. metadata +526 -0
data/bin/build_pdfjs ADDED
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Copyright (c) 2014 - 2025 Salus. All rights reserved.
4
+
5
+ PDFJS_VERSION=${1}
6
+
7
+ set -euo pipefail
8
+
9
+ if [ -z "$PDFJS_VERSION" ]; then
10
+ echo "Usage: $0 <pdfjs-version>"
11
+ exit 1
12
+ fi
13
+
14
+ rm -rf tmp/pdfviewer
15
+ git clone --depth 5 --branch $PDFJS_VERSION https://github.com/mozilla/pdf.js.git tmp/pdfviewer
16
+
17
+
18
+ npm install --prefix tmp/pdfviewer
19
+ npx gulp --cwd tmp/pdfviewer generic
20
+
21
+ rm -rf public/web public/build
22
+ mv tmp/pdfviewer/build/generic/build public/
23
+ mv tmp/pdfviewer/build/generic/web public/
24
+ rm -rf tmp
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "pdfjs_viewer"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/config/routes.rb ADDED
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2014 - 2025 Salus. All rights reserved.
4
+
5
+ PdfjsViewer::Engine.routes.draw do
6
+ root to: 'viewer#show'
7
+
8
+ get '/', to: 'viewer#show'
9
+ get '/build/*path', to: 'assets#show'
10
+ get '/web/*path', to: 'assets#show'
11
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2014 - 2025 Salus. All rights reserved.
4
+
5
+ require 'rails/generators'
6
+
7
+ # PdfjsViewer Install Generator
8
+ class PdfjsViewer::Generators::InstallGenerator < Rails::Generators::Base
9
+ source_root File.expand_path('templates', __dir__)
10
+
11
+ desc 'Creates a PdfjsViewer initializer in your application.'
12
+
13
+ def copy_initializer_file
14
+ template 'pdfjs_viewer.rb', 'config/initializers/pdfjs_viewer.rb'
15
+ end
16
+
17
+ def show_readme
18
+ readme 'README' if behavior == :invoke
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ ===============================================================================
2
+
3
+ PdfjsViewer has been installed successfully!
4
+
5
+ The configuration file has been created at:
6
+ config/initializers/pdfjs_viewer.rb
7
+
8
+ You can customize the PDF.js viewer by editing this file to show/hide
9
+ various toolbar buttons and features.
10
+
11
+ To mount the PDF viewer in your application, add this to your routes.rb:
12
+
13
+ mount PdfjsViewer::Engine => "/pdfjs"
14
+
15
+ Then you can access the viewer at:
16
+ http://localhost:3000/pdfjs/viewer?file=path/to/your.pdf
17
+
18
+ For more information, visit: https://github.com/primeroIMS/pdfjs-viewer
19
+
20
+ ===============================================================================
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2014 - 2025 Salus. All rights reserved.
4
+
5
+ # PdfjsViewer Configuration
6
+ PdfjsViewer.configure do |config|
7
+ # Show/hide the highlight button in the toolbar
8
+ # config.show_highlight_button = true
9
+
10
+ # Show/hide the text annotation button in the toolbar
11
+ # config.show_text_button = true
12
+
13
+ # Show/hide the draw button in the toolbar
14
+ # config.show_draw_button = true
15
+
16
+ # Show/hide the add/edit image button in the toolbar
17
+ # config.show_add_edit_image_button = true
18
+
19
+ # Show/hide the print button in the toolbar
20
+ # config.show_print_button = true
21
+
22
+ # Show/hide the save/download button in the toolbar
23
+ # config.show_save_button = true
24
+
25
+ # Show/hide the open file button in the toolbar
26
+ # config.show_open_file_button = true
27
+
28
+ # Url path to viewer override CSS file (asset pipeline, cdn, public directory, etc.)
29
+ # config.stylesheet_path = '/pdf-viewer.css'
30
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2014 - 2025 Salus. All rights reserved.
4
+
5
+ # PdfjsViewer Configuration
6
+ class PdfjsViewer::Configuration
7
+ attr_accessor :show_highlight_button, :show_text_button, :show_draw_button, :show_add_edit_image_button,
8
+ :show_print_button, :show_save_button, :show_open_file_button,
9
+ :stylesheet_path
10
+
11
+ def initialize
12
+ @show_highlight_button = true
13
+ @show_text_button = true
14
+ @show_draw_button = true
15
+ @show_add_edit_image_button = true
16
+ @show_print_button = true
17
+ @show_save_button = true
18
+ @show_open_file_button = true
19
+ @stylesheet_path = nil
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2014 - 2025 Salus. All rights reserved.
4
+
5
+ # PdfjsViewer Engine
6
+ class PdfjsViewer::Engine < Rails::Engine
7
+ isolate_namespace PdfjsViewer
8
+
9
+ initializer 'pdfjs_viewer.mime_types' do |app|
10
+ Mime::Type.register 'application/javascript', :mjs
11
+ Rack::Mime::MIME_TYPES['.mjs'] = 'application/javascript'
12
+ Rack::Mime::MIME_TYPES['.wasm'] = 'application/wasm'
13
+ end
14
+
15
+ # Serve static files from engine's public directory
16
+ initializer 'pdfjs_viewer.static_files' do |app|
17
+ app.middleware.use ::ActionDispatch::Static, root.join('public').to_s
18
+ end
19
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2014 - 2025 Salus. All rights reserved.
4
+
5
+ module PdfjsViewer
6
+ VERSION = '0.1.0'
7
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2014 - 2025 Salus. All rights reserved.
4
+
5
+ require 'pdfjs_viewer/version'
6
+ require 'pdfjs_viewer/configuration'
7
+ require 'pdfjs_viewer/engine'
8
+
9
+ # Main module for PdfjsViewer
10
+ module PdfjsViewer
11
+ def self.configuration
12
+ @configuration ||= Configuration.new
13
+ end
14
+
15
+ def self.configure
16
+ yield(configuration)
17
+ end
18
+
19
+ def self.reset_configuration!
20
+ @configuration = Configuration.new
21
+ end
22
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'pdfjs_viewer/version'
6
+
7
+ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
8
+ spec.name = 'pdfjs_viewer'
9
+ spec.version = PdfjsViewer::VERSION
10
+ spec.authors = ['Joshua Toliver']
11
+ spec.email = ['salus-devops@quoininc.com']
12
+ spec.summary = "PdfjsViewer is a Rails engine that integrates Mozilla's PDF.js viewer into your Rails application."
13
+ spec.description = "PdfjsViewer provides a simple way to embed a PDF viewer in your Rails app using Mozilla's PDF.js library."
14
+ spec.homepage = 'https://github.com/primeroIMS/pdfjs-viewer'
15
+ spec.license = 'Apache-2.0'
16
+ spec.required_ruby_version = '>= 3.3.0'
17
+
18
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
19
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
20
+ if spec.respond_to?(:metadata)
21
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
22
+ spec.metadata['homepage_uri'] = spec.homepage
23
+ spec.metadata['source_code_uri'] = 'https://github.com/primeroIMS/pdfjs-viewer'
24
+ spec.metadata['changelog_uri'] = 'https://github.com/primeroIMS/pdfjs-viewer/blob/main/CHANGELOG.md'
25
+ spec.metadata['rubygems_mfa_required'] = 'true'
26
+ spec.metadata['pdfjs_version'] = 'v5.4.54'
27
+ else
28
+ raise 'RubyGems 2.0 or newer is required to protect against ' \
29
+ 'public gem pushes.'
30
+ end
31
+
32
+ # Specify which files should be added to the gem when it is released.
33
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
34
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
35
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } +
36
+ Dir[
37
+ 'lib/**/*',
38
+ 'app/**/*',
39
+ 'config/**/*',
40
+ 'public/**/*',
41
+ 'README.md'
42
+ ]
43
+ end
44
+ spec.bindir = 'exe'
45
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
46
+ spec.require_paths = ['lib']
47
+
48
+ # rubocop:disable Gemspec/DevelopmentDependencies
49
+ spec.add_development_dependency 'bundler', '~> 2.0'
50
+ spec.add_development_dependency 'rake', '~> 10.0'
51
+ spec.add_development_dependency 'rspec', '~> 3.0'
52
+ spec.add_development_dependency 'rubocop', '~> 1.79'
53
+ # rubocop:enable Gemspec/DevelopmentDependencies
54
+ end