瀏覽代碼

Merge commit 'e30db2566ed89e68f3bf9a1a39fe2baf8ff6889e' into 1.2.5.7

maziggy 1 天之前
父節點
當前提交
dc80b6a91b
共有 100 個文件被更改,包括 17 次插入 和 0 次删除
  1. 1 0
      CHANGELOG.md
  2. 0 0
      static/assets/ImagePreviewModal-DVcAB3r6.js
  3. 1 0
      static/assets/PdfPreviewModal-DW-KjtbY.js
  4. 1 0
      static/assets/SpreadsheetPreviewModal-DYu35yg4.js
  5. 1 0
      static/assets/chunk-aKtaBQYM.js
  6. 1 0
      static/assets/index-C1KHFEtQ.css
  7. 1 0
      static/assets/index-YqOmvWhY.js
  8. 二進制
      static/assets/occt-import-js-BhHfLpto.wasm
  9. 0 0
      static/assets/papaparse.min-CR43Mv99.js
  10. 0 0
      static/assets/pdf-CY2Z0IQS.js
  11. 0 0
      static/assets/pdf.worker.min-0idpi3xP.js
  12. 1 0
      static/assets/pdf.worker.min-DpOxPwGP.js
  13. 二進制
      static/assets/pdfjs/cmaps/78-EUC-H.bcmap
  14. 二進制
      static/assets/pdfjs/cmaps/78-EUC-V.bcmap
  15. 二進制
      static/assets/pdfjs/cmaps/78-H.bcmap
  16. 二進制
      static/assets/pdfjs/cmaps/78-RKSJ-H.bcmap
  17. 二進制
      static/assets/pdfjs/cmaps/78-RKSJ-V.bcmap
  18. 二進制
      static/assets/pdfjs/cmaps/78-V.bcmap
  19. 二進制
      static/assets/pdfjs/cmaps/78ms-RKSJ-H.bcmap
  20. 二進制
      static/assets/pdfjs/cmaps/78ms-RKSJ-V.bcmap
  21. 二進制
      static/assets/pdfjs/cmaps/83pv-RKSJ-H.bcmap
  22. 二進制
      static/assets/pdfjs/cmaps/90ms-RKSJ-H.bcmap
  23. 二進制
      static/assets/pdfjs/cmaps/90ms-RKSJ-V.bcmap
  24. 二進制
      static/assets/pdfjs/cmaps/90msp-RKSJ-H.bcmap
  25. 二進制
      static/assets/pdfjs/cmaps/90msp-RKSJ-V.bcmap
  26. 二進制
      static/assets/pdfjs/cmaps/90pv-RKSJ-H.bcmap
  27. 二進制
      static/assets/pdfjs/cmaps/90pv-RKSJ-V.bcmap
  28. 二進制
      static/assets/pdfjs/cmaps/Add-H.bcmap
  29. 二進制
      static/assets/pdfjs/cmaps/Add-RKSJ-H.bcmap
  30. 二進制
      static/assets/pdfjs/cmaps/Add-RKSJ-V.bcmap
  31. 二進制
      static/assets/pdfjs/cmaps/Add-V.bcmap
  32. 二進制
      static/assets/pdfjs/cmaps/Adobe-CNS1-0.bcmap
  33. 二進制
      static/assets/pdfjs/cmaps/Adobe-CNS1-1.bcmap
  34. 二進制
      static/assets/pdfjs/cmaps/Adobe-CNS1-2.bcmap
  35. 二進制
      static/assets/pdfjs/cmaps/Adobe-CNS1-3.bcmap
  36. 二進制
      static/assets/pdfjs/cmaps/Adobe-CNS1-4.bcmap
  37. 二進制
      static/assets/pdfjs/cmaps/Adobe-CNS1-5.bcmap
  38. 二進制
      static/assets/pdfjs/cmaps/Adobe-CNS1-6.bcmap
  39. 二進制
      static/assets/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap
  40. 二進制
      static/assets/pdfjs/cmaps/Adobe-GB1-0.bcmap
  41. 二進制
      static/assets/pdfjs/cmaps/Adobe-GB1-1.bcmap
  42. 二進制
      static/assets/pdfjs/cmaps/Adobe-GB1-2.bcmap
  43. 二進制
      static/assets/pdfjs/cmaps/Adobe-GB1-3.bcmap
  44. 二進制
      static/assets/pdfjs/cmaps/Adobe-GB1-4.bcmap
  45. 二進制
      static/assets/pdfjs/cmaps/Adobe-GB1-5.bcmap
  46. 二進制
      static/assets/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap
  47. 二進制
      static/assets/pdfjs/cmaps/Adobe-Japan1-0.bcmap
  48. 二進制
      static/assets/pdfjs/cmaps/Adobe-Japan1-1.bcmap
  49. 二進制
      static/assets/pdfjs/cmaps/Adobe-Japan1-2.bcmap
  50. 二進制
      static/assets/pdfjs/cmaps/Adobe-Japan1-3.bcmap
  51. 二進制
      static/assets/pdfjs/cmaps/Adobe-Japan1-4.bcmap
  52. 二進制
      static/assets/pdfjs/cmaps/Adobe-Japan1-5.bcmap
  53. 二進制
      static/assets/pdfjs/cmaps/Adobe-Japan1-6.bcmap
  54. 二進制
      static/assets/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap
  55. 二進制
      static/assets/pdfjs/cmaps/Adobe-Korea1-0.bcmap
  56. 二進制
      static/assets/pdfjs/cmaps/Adobe-Korea1-1.bcmap
  57. 二進制
      static/assets/pdfjs/cmaps/Adobe-Korea1-2.bcmap
  58. 二進制
      static/assets/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap
  59. 二進制
      static/assets/pdfjs/cmaps/B5-H.bcmap
  60. 二進制
      static/assets/pdfjs/cmaps/B5-V.bcmap
  61. 二進制
      static/assets/pdfjs/cmaps/B5pc-H.bcmap
  62. 二進制
      static/assets/pdfjs/cmaps/B5pc-V.bcmap
  63. 二進制
      static/assets/pdfjs/cmaps/CNS-EUC-H.bcmap
  64. 二進制
      static/assets/pdfjs/cmaps/CNS-EUC-V.bcmap
  65. 二進制
      static/assets/pdfjs/cmaps/CNS1-H.bcmap
  66. 二進制
      static/assets/pdfjs/cmaps/CNS1-V.bcmap
  67. 二進制
      static/assets/pdfjs/cmaps/CNS2-H.bcmap
  68. 3 0
      static/assets/pdfjs/cmaps/CNS2-V.bcmap
  69. 二進制
      static/assets/pdfjs/cmaps/ETHK-B5-H.bcmap
  70. 二進制
      static/assets/pdfjs/cmaps/ETHK-B5-V.bcmap
  71. 二進制
      static/assets/pdfjs/cmaps/ETen-B5-H.bcmap
  72. 二進制
      static/assets/pdfjs/cmaps/ETen-B5-V.bcmap
  73. 3 0
      static/assets/pdfjs/cmaps/ETenms-B5-H.bcmap
  74. 二進制
      static/assets/pdfjs/cmaps/ETenms-B5-V.bcmap
  75. 二進制
      static/assets/pdfjs/cmaps/EUC-H.bcmap
  76. 二進制
      static/assets/pdfjs/cmaps/EUC-V.bcmap
  77. 二進制
      static/assets/pdfjs/cmaps/Ext-H.bcmap
  78. 二進制
      static/assets/pdfjs/cmaps/Ext-RKSJ-H.bcmap
  79. 二進制
      static/assets/pdfjs/cmaps/Ext-RKSJ-V.bcmap
  80. 二進制
      static/assets/pdfjs/cmaps/Ext-V.bcmap
  81. 二進制
      static/assets/pdfjs/cmaps/GB-EUC-H.bcmap
  82. 二進制
      static/assets/pdfjs/cmaps/GB-EUC-V.bcmap
  83. 4 0
      static/assets/pdfjs/cmaps/GB-H.bcmap
  84. 二進制
      static/assets/pdfjs/cmaps/GB-V.bcmap
  85. 二進制
      static/assets/pdfjs/cmaps/GBK-EUC-H.bcmap
  86. 二進制
      static/assets/pdfjs/cmaps/GBK-EUC-V.bcmap
  87. 二進制
      static/assets/pdfjs/cmaps/GBK2K-H.bcmap
  88. 二進制
      static/assets/pdfjs/cmaps/GBK2K-V.bcmap
  89. 二進制
      static/assets/pdfjs/cmaps/GBKp-EUC-H.bcmap
  90. 二進制
      static/assets/pdfjs/cmaps/GBKp-EUC-V.bcmap
  91. 二進制
      static/assets/pdfjs/cmaps/GBT-EUC-H.bcmap
  92. 二進制
      static/assets/pdfjs/cmaps/GBT-EUC-V.bcmap
  93. 二進制
      static/assets/pdfjs/cmaps/GBT-H.bcmap
  94. 二進制
      static/assets/pdfjs/cmaps/GBT-V.bcmap
  95. 二進制
      static/assets/pdfjs/cmaps/GBTpc-EUC-H.bcmap
  96. 二進制
      static/assets/pdfjs/cmaps/GBTpc-EUC-V.bcmap
  97. 二進制
      static/assets/pdfjs/cmaps/GBpc-EUC-H.bcmap
  98. 二進制
      static/assets/pdfjs/cmaps/GBpc-EUC-V.bcmap
  99. 二進制
      static/assets/pdfjs/cmaps/H.bcmap
  100. 二進制
      static/assets/pdfjs/cmaps/HKdla-B5-H.bcmap

+ 1 - 0
CHANGELOG.md

@@ -5,6 +5,7 @@ All notable changes to Bambuddy will be documented in this file.
 ## [1.2.5.7] - Unreleased
 
 ### Added
+- **Combine several STLs, or several copies of one, onto one plate (#2999, requested by @Markus98, contributed by @adman234 in #3162)** — The slicer sidecar slices one model at a time, so putting separate STLs on one plate needed a desktop slicer to build the 3MF first. Select one or more STLs in the File Manager and click **Combine to 3MF**, set how many copies of each you want, and Bambuddy saves a new 3MF with every object on one plate, with a preview image. Tick **Open the slicer when done** to go straight to the Slice dialog with auto-arrange already on. The source STLs are left untouched. A plate holds at most 100 objects, and the selected STLs can be at most 300 MB and 5 million triangles in total; each STL is stored once however many copies you place.
 - **The API-key printer status carries layers, the job id, HMS faults and the serial (#2919, requested by @simplytoast1)** — `GET /api/v1/webhook/printer/{id}/status`, the compact status route polled by add-ons such as notify-bambuddy for iOS Live Activities, returned only state, progress and time remaining. It now also returns `layer_num` and `total_layers`, the printer's `subtask_id` for the running job (a new value means a new print, even between two polls; `null` when Bambu gives the job no id), the live `hms_errors` in the same shape as the printer status route (so a filament runout reads differently from a manual pause), and the printer's `serial_number`. `remaining_time` stays in minutes for existing clients; the new `remaining_seconds` gives the same estimate in seconds, the unit notifications use. Nothing existing changed, and the route still needs **Read Status** and honours a key's printer limits.
 - **Choose what goes on a spool label, see it before printing, and save labels as PNG (#2981, requested by @apizz)** — Spool labels always carried the same lines, and you only saw the result once the PDF opened. The label picker now has a checkbox for each line: brand, material and subtype, colour code, name, storage location, material number, nozzle temperature, net weight, note, date added, QR code and spool ID. Material number, temperature, weight, note and date were never printed before, and leaving out the QR code gives the text its space. A preview beside the options shows the first selected spool's label as it will print, and updates as you change them. Lines that don't fit on the chosen size are left out rather than printed over the spool ID. Labels can now also be saved as PNG at 203, 300 or 600 dpi for label printer software that takes images, such as Brother P-touch Editor: one label comes as a PNG, several as a ZIP. The picker remembers the size, the lines chosen for each size, monochrome and the output settings in your browser. Spoolman labels now carry the same data as built-in ones, including the subtype and the colour name you set, where before they showed neither.
 - **SSO logins can keep a user's Bambuddy groups in step with their groups at the identity provider (#3107, requested and contributed by @willuhmjs in #3122)** — Each OIDC provider in Settings → Authentication → SSO/OIDC gains a **Group Claim** (default `groups`) and a **Group Mapping**, a list of rows pairing an identity provider group with a Bambuddy group. On every SSO login, existing accounts included, the mapped Bambuddy groups follow the provider: joining a provider group grants its Bambuddy group, leaving it removes that group at the next login. Groups the mapping doesn't name are left alone, so a manual promotion sticks. This is the same rule the LDAP group mapping uses. Groups are read from the signed ID token, as a list or as a space- or comma-separated string, and matched ignoring case. Claims with a namespace such as `app/roles` work, for Auth0. A missing claim, or a sync that fails, never blocks the login; the user keeps the groups they had. The form offers only existing Bambuddy groups, flags a row pointing at a deleted group, and won't save a half-filled row or a second row for the same provider group. The provider card shows whether group sync is on. With no mapping, a provider behaves exactly as before. Docker and env-var setups use `BAMBUDDY_OIDC_GROUP_CLAIM` and `BAMBUDDY_OIDC_GROUP_MAPPING`, a JSON object whose values are Bambuddy group names. A mapping naming a group that doesn't exist, or one that isn't valid, is refused at startup with the reason in the log, and the app still starts.

文件差異過大導致無法顯示
+ 0 - 0
static/assets/ImagePreviewModal-DVcAB3r6.js


文件差異過大導致無法顯示
+ 1 - 0
static/assets/PdfPreviewModal-DW-KjtbY.js


文件差異過大導致無法顯示
+ 1 - 0
static/assets/SpreadsheetPreviewModal-DYu35yg4.js


+ 1 - 0
static/assets/chunk-aKtaBQYM.js

@@ -0,0 +1 @@
+var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),u=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});export{l as i,s as n,u as r,o as t};

文件差異過大導致無法顯示
+ 1 - 0
static/assets/index-C1KHFEtQ.css


文件差異過大導致無法顯示
+ 1 - 0
static/assets/index-YqOmvWhY.js


二進制
static/assets/occt-import-js-BhHfLpto.wasm


文件差異過大導致無法顯示
+ 0 - 0
static/assets/papaparse.min-CR43Mv99.js


文件差異過大導致無法顯示
+ 0 - 0
static/assets/pdf-CY2Z0IQS.js


文件差異過大導致無法顯示
+ 0 - 0
static/assets/pdf.worker.min-0idpi3xP.js


+ 1 - 0
static/assets/pdf.worker.min-DpOxPwGP.js

@@ -0,0 +1 @@
+var e=`/assets/pdf.worker.min-0idpi3xP.js`;export{e as default};

二進制
static/assets/pdfjs/cmaps/78-EUC-H.bcmap


二進制
static/assets/pdfjs/cmaps/78-EUC-V.bcmap


二進制
static/assets/pdfjs/cmaps/78-H.bcmap


二進制
static/assets/pdfjs/cmaps/78-RKSJ-H.bcmap


二進制
static/assets/pdfjs/cmaps/78-RKSJ-V.bcmap


二進制
static/assets/pdfjs/cmaps/78-V.bcmap


二進制
static/assets/pdfjs/cmaps/78ms-RKSJ-H.bcmap


二進制
static/assets/pdfjs/cmaps/78ms-RKSJ-V.bcmap


二進制
static/assets/pdfjs/cmaps/83pv-RKSJ-H.bcmap


二進制
static/assets/pdfjs/cmaps/90ms-RKSJ-H.bcmap


二進制
static/assets/pdfjs/cmaps/90ms-RKSJ-V.bcmap


二進制
static/assets/pdfjs/cmaps/90msp-RKSJ-H.bcmap


二進制
static/assets/pdfjs/cmaps/90msp-RKSJ-V.bcmap


二進制
static/assets/pdfjs/cmaps/90pv-RKSJ-H.bcmap


二進制
static/assets/pdfjs/cmaps/90pv-RKSJ-V.bcmap


二進制
static/assets/pdfjs/cmaps/Add-H.bcmap


二進制
static/assets/pdfjs/cmaps/Add-RKSJ-H.bcmap


二進制
static/assets/pdfjs/cmaps/Add-RKSJ-V.bcmap


二進制
static/assets/pdfjs/cmaps/Add-V.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-CNS1-0.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-CNS1-1.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-CNS1-2.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-CNS1-3.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-CNS1-4.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-CNS1-5.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-CNS1-6.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-GB1-0.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-GB1-1.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-GB1-2.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-GB1-3.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-GB1-4.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-GB1-5.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-Japan1-0.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-Japan1-1.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-Japan1-2.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-Japan1-3.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-Japan1-4.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-Japan1-5.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-Japan1-6.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-Korea1-0.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-Korea1-1.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-Korea1-2.bcmap


二進制
static/assets/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap


二進制
static/assets/pdfjs/cmaps/B5-H.bcmap


二進制
static/assets/pdfjs/cmaps/B5-V.bcmap


二進制
static/assets/pdfjs/cmaps/B5pc-H.bcmap


二進制
static/assets/pdfjs/cmaps/B5pc-V.bcmap


二進制
static/assets/pdfjs/cmaps/CNS-EUC-H.bcmap


二進制
static/assets/pdfjs/cmaps/CNS-EUC-V.bcmap


二進制
static/assets/pdfjs/cmaps/CNS1-H.bcmap


二進制
static/assets/pdfjs/cmaps/CNS1-V.bcmap


二進制
static/assets/pdfjs/cmaps/CNS2-H.bcmap


+ 3 - 0
static/assets/pdfjs/cmaps/CNS2-V.bcmap

@@ -0,0 +1,3 @@
+àRCopyright 1990-2009 Adobe Systems Incorporated.
+All rights reserved.
+See ./LICENSEáCNS2-H

二進制
static/assets/pdfjs/cmaps/ETHK-B5-H.bcmap


二進制
static/assets/pdfjs/cmaps/ETHK-B5-V.bcmap


二進制
static/assets/pdfjs/cmaps/ETen-B5-H.bcmap


二進制
static/assets/pdfjs/cmaps/ETen-B5-V.bcmap


+ 3 - 0
static/assets/pdfjs/cmaps/ETenms-B5-H.bcmap

@@ -0,0 +1,3 @@
+àRCopyright 1990-2009 Adobe Systems Incorporated.
+All rights reserved.
+See ./LICENSEá	ETen-B5-H` ^

二進制
static/assets/pdfjs/cmaps/ETenms-B5-V.bcmap


二進制
static/assets/pdfjs/cmaps/EUC-H.bcmap


二進制
static/assets/pdfjs/cmaps/EUC-V.bcmap


二進制
static/assets/pdfjs/cmaps/Ext-H.bcmap


二進制
static/assets/pdfjs/cmaps/Ext-RKSJ-H.bcmap


二進制
static/assets/pdfjs/cmaps/Ext-RKSJ-V.bcmap


二進制
static/assets/pdfjs/cmaps/Ext-V.bcmap


二進制
static/assets/pdfjs/cmaps/GB-EUC-H.bcmap


二進制
static/assets/pdfjs/cmaps/GB-EUC-V.bcmap


+ 4 - 0
static/assets/pdfjs/cmaps/GB-H.bcmap

@@ -0,0 +1,4 @@
+àRCopyright 1990-2009 Adobe Systems Incorporated.
+All rights reserved.
+See ./LICENSE!!�º]aX!!]`�21�>	�p�z�$]‚�"R‚d�-Uƒ7�*„
4„%�+ „Z „{�/…%…<�9K…b�1]†.�"‡‰`]‡,�"]ˆ
+�"]ˆh�"]‰F�"]Š$�"]‹�"]‹`�"]Œ>�"]��"]�z�"]ŽX�"]�6�"]��"]�r�"]‘P�"]’.�"]“�"]“j�"]”H�"]•&�"]–�"]–b�"]—@�"]˜�"]˜|�"]™Z�"]š8�"]›�"]›t�"]œR�"]�0�"]ž�"]žl�"]ŸJ�"] (�"]¡�"]¡d�"]¢B�"]£ �"X£~�']¤W�"]¥5�"]¦�"]¦q�"]§O�"]¨-�"]©�"]©i�"]ªG�"]«%�"]¬�"]¬a�"]­?�"]®�"]®{�"]¯Y�"]°7�"]±�"]±s�"]²Q�"]³/�"]´
�"]´k�"]µI�"]¶'�"]·�"]·c�"]¸A�"]¹�"]¹}�"]º[�"]»9

二進制
static/assets/pdfjs/cmaps/GB-V.bcmap


二進制
static/assets/pdfjs/cmaps/GBK-EUC-H.bcmap


二進制
static/assets/pdfjs/cmaps/GBK-EUC-V.bcmap


二進制
static/assets/pdfjs/cmaps/GBK2K-H.bcmap


二進制
static/assets/pdfjs/cmaps/GBK2K-V.bcmap


二進制
static/assets/pdfjs/cmaps/GBKp-EUC-H.bcmap


二進制
static/assets/pdfjs/cmaps/GBKp-EUC-V.bcmap


二進制
static/assets/pdfjs/cmaps/GBT-EUC-H.bcmap


二進制
static/assets/pdfjs/cmaps/GBT-EUC-V.bcmap


二進制
static/assets/pdfjs/cmaps/GBT-H.bcmap


二進制
static/assets/pdfjs/cmaps/GBT-V.bcmap


二進制
static/assets/pdfjs/cmaps/GBTpc-EUC-H.bcmap


二進制
static/assets/pdfjs/cmaps/GBTpc-EUC-V.bcmap


二進制
static/assets/pdfjs/cmaps/GBpc-EUC-H.bcmap


二進制
static/assets/pdfjs/cmaps/GBpc-EUC-V.bcmap


二進制
static/assets/pdfjs/cmaps/H.bcmap


二進制
static/assets/pdfjs/cmaps/HKdla-B5-H.bcmap


部分文件因文件數量過多而無法顯示