├── .gitignore
├── client
├── .gitignore
├── .vscode
│ └── extensions.json
├── index.html
├── package.json
├── pnpm-lock.yaml
├── public
│ ├── docx
│ │ ├── docx-preview.js
│ │ ├── index.html
│ │ ├── jszip.min.js
│ │ └── polyfill.min.js
│ ├── epub
│ │ ├── epub.js
│ │ ├── examples.css
│ │ ├── index.html
│ │ └── jszip.min.js
│ ├── md
│ │ └── index.html
│ ├── pdfjs
│ │ ├── LICENSE
│ │ ├── build
│ │ │ ├── pdf.js
│ │ │ ├── pdf.js.map
│ │ │ ├── pdf.sandbox.js
│ │ │ ├── pdf.sandbox.js.map
│ │ │ ├── pdf.worker.js
│ │ │ └── pdf.worker.js.map
│ │ └── web
│ │ │ ├── cmaps
│ │ │ ├── 78-EUC-H.bcmap
│ │ │ ├── 78-EUC-V.bcmap
│ │ │ ├── 78-H.bcmap
│ │ │ ├── 78-RKSJ-H.bcmap
│ │ │ ├── 78-RKSJ-V.bcmap
│ │ │ ├── 78-V.bcmap
│ │ │ ├── 78ms-RKSJ-H.bcmap
│ │ │ ├── 78ms-RKSJ-V.bcmap
│ │ │ ├── 83pv-RKSJ-H.bcmap
│ │ │ ├── 90ms-RKSJ-H.bcmap
│ │ │ ├── 90ms-RKSJ-V.bcmap
│ │ │ ├── 90msp-RKSJ-H.bcmap
│ │ │ ├── 90msp-RKSJ-V.bcmap
│ │ │ ├── 90pv-RKSJ-H.bcmap
│ │ │ ├── 90pv-RKSJ-V.bcmap
│ │ │ ├── Add-H.bcmap
│ │ │ ├── Add-RKSJ-H.bcmap
│ │ │ ├── Add-RKSJ-V.bcmap
│ │ │ ├── Add-V.bcmap
│ │ │ ├── Adobe-CNS1-0.bcmap
│ │ │ ├── Adobe-CNS1-1.bcmap
│ │ │ ├── Adobe-CNS1-2.bcmap
│ │ │ ├── Adobe-CNS1-3.bcmap
│ │ │ ├── Adobe-CNS1-4.bcmap
│ │ │ ├── Adobe-CNS1-5.bcmap
│ │ │ ├── Adobe-CNS1-6.bcmap
│ │ │ ├── Adobe-CNS1-UCS2.bcmap
│ │ │ ├── Adobe-GB1-0.bcmap
│ │ │ ├── Adobe-GB1-1.bcmap
│ │ │ ├── Adobe-GB1-2.bcmap
│ │ │ ├── Adobe-GB1-3.bcmap
│ │ │ ├── Adobe-GB1-4.bcmap
│ │ │ ├── Adobe-GB1-5.bcmap
│ │ │ ├── Adobe-GB1-UCS2.bcmap
│ │ │ ├── Adobe-Japan1-0.bcmap
│ │ │ ├── Adobe-Japan1-1.bcmap
│ │ │ ├── Adobe-Japan1-2.bcmap
│ │ │ ├── Adobe-Japan1-3.bcmap
│ │ │ ├── Adobe-Japan1-4.bcmap
│ │ │ ├── Adobe-Japan1-5.bcmap
│ │ │ ├── Adobe-Japan1-6.bcmap
│ │ │ ├── Adobe-Japan1-UCS2.bcmap
│ │ │ ├── Adobe-Korea1-0.bcmap
│ │ │ ├── Adobe-Korea1-1.bcmap
│ │ │ ├── Adobe-Korea1-2.bcmap
│ │ │ ├── Adobe-Korea1-UCS2.bcmap
│ │ │ ├── B5-H.bcmap
│ │ │ ├── B5-V.bcmap
│ │ │ ├── B5pc-H.bcmap
│ │ │ ├── B5pc-V.bcmap
│ │ │ ├── CNS-EUC-H.bcmap
│ │ │ ├── CNS-EUC-V.bcmap
│ │ │ ├── CNS1-H.bcmap
│ │ │ ├── CNS1-V.bcmap
│ │ │ ├── CNS2-H.bcmap
│ │ │ ├── CNS2-V.bcmap
│ │ │ ├── ETHK-B5-H.bcmap
│ │ │ ├── ETHK-B5-V.bcmap
│ │ │ ├── ETen-B5-H.bcmap
│ │ │ ├── ETen-B5-V.bcmap
│ │ │ ├── ETenms-B5-H.bcmap
│ │ │ ├── ETenms-B5-V.bcmap
│ │ │ ├── EUC-H.bcmap
│ │ │ ├── EUC-V.bcmap
│ │ │ ├── Ext-H.bcmap
│ │ │ ├── Ext-RKSJ-H.bcmap
│ │ │ ├── Ext-RKSJ-V.bcmap
│ │ │ ├── Ext-V.bcmap
│ │ │ ├── GB-EUC-H.bcmap
│ │ │ ├── GB-EUC-V.bcmap
│ │ │ ├── GB-H.bcmap
│ │ │ ├── GB-V.bcmap
│ │ │ ├── GBK-EUC-H.bcmap
│ │ │ ├── GBK-EUC-V.bcmap
│ │ │ ├── GBK2K-H.bcmap
│ │ │ ├── GBK2K-V.bcmap
│ │ │ ├── GBKp-EUC-H.bcmap
│ │ │ ├── GBKp-EUC-V.bcmap
│ │ │ ├── GBT-EUC-H.bcmap
│ │ │ ├── GBT-EUC-V.bcmap
│ │ │ ├── GBT-H.bcmap
│ │ │ ├── GBT-V.bcmap
│ │ │ ├── GBTpc-EUC-H.bcmap
│ │ │ ├── GBTpc-EUC-V.bcmap
│ │ │ ├── GBpc-EUC-H.bcmap
│ │ │ ├── GBpc-EUC-V.bcmap
│ │ │ ├── H.bcmap
│ │ │ ├── HKdla-B5-H.bcmap
│ │ │ ├── HKdla-B5-V.bcmap
│ │ │ ├── HKdlb-B5-H.bcmap
│ │ │ ├── HKdlb-B5-V.bcmap
│ │ │ ├── HKgccs-B5-H.bcmap
│ │ │ ├── HKgccs-B5-V.bcmap
│ │ │ ├── HKm314-B5-H.bcmap
│ │ │ ├── HKm314-B5-V.bcmap
│ │ │ ├── HKm471-B5-H.bcmap
│ │ │ ├── HKm471-B5-V.bcmap
│ │ │ ├── HKscs-B5-H.bcmap
│ │ │ ├── HKscs-B5-V.bcmap
│ │ │ ├── Hankaku.bcmap
│ │ │ ├── Hiragana.bcmap
│ │ │ ├── KSC-EUC-H.bcmap
│ │ │ ├── KSC-EUC-V.bcmap
│ │ │ ├── KSC-H.bcmap
│ │ │ ├── KSC-Johab-H.bcmap
│ │ │ ├── KSC-Johab-V.bcmap
│ │ │ ├── KSC-V.bcmap
│ │ │ ├── KSCms-UHC-H.bcmap
│ │ │ ├── KSCms-UHC-HW-H.bcmap
│ │ │ ├── KSCms-UHC-HW-V.bcmap
│ │ │ ├── KSCms-UHC-V.bcmap
│ │ │ ├── KSCpc-EUC-H.bcmap
│ │ │ ├── KSCpc-EUC-V.bcmap
│ │ │ ├── Katakana.bcmap
│ │ │ ├── LICENSE
│ │ │ ├── NWP-H.bcmap
│ │ │ ├── NWP-V.bcmap
│ │ │ ├── RKSJ-H.bcmap
│ │ │ ├── RKSJ-V.bcmap
│ │ │ ├── Roman.bcmap
│ │ │ ├── UniCNS-UCS2-H.bcmap
│ │ │ ├── UniCNS-UCS2-V.bcmap
│ │ │ ├── UniCNS-UTF16-H.bcmap
│ │ │ ├── UniCNS-UTF16-V.bcmap
│ │ │ ├── UniCNS-UTF32-H.bcmap
│ │ │ ├── UniCNS-UTF32-V.bcmap
│ │ │ ├── UniCNS-UTF8-H.bcmap
│ │ │ ├── UniCNS-UTF8-V.bcmap
│ │ │ ├── UniGB-UCS2-H.bcmap
│ │ │ ├── UniGB-UCS2-V.bcmap
│ │ │ ├── UniGB-UTF16-H.bcmap
│ │ │ ├── UniGB-UTF16-V.bcmap
│ │ │ ├── UniGB-UTF32-H.bcmap
│ │ │ ├── UniGB-UTF32-V.bcmap
│ │ │ ├── UniGB-UTF8-H.bcmap
│ │ │ ├── UniGB-UTF8-V.bcmap
│ │ │ ├── UniJIS-UCS2-H.bcmap
│ │ │ ├── UniJIS-UCS2-HW-H.bcmap
│ │ │ ├── UniJIS-UCS2-HW-V.bcmap
│ │ │ ├── UniJIS-UCS2-V.bcmap
│ │ │ ├── UniJIS-UTF16-H.bcmap
│ │ │ ├── UniJIS-UTF16-V.bcmap
│ │ │ ├── UniJIS-UTF32-H.bcmap
│ │ │ ├── UniJIS-UTF32-V.bcmap
│ │ │ ├── UniJIS-UTF8-H.bcmap
│ │ │ ├── UniJIS-UTF8-V.bcmap
│ │ │ ├── UniJIS2004-UTF16-H.bcmap
│ │ │ ├── UniJIS2004-UTF16-V.bcmap
│ │ │ ├── UniJIS2004-UTF32-H.bcmap
│ │ │ ├── UniJIS2004-UTF32-V.bcmap
│ │ │ ├── UniJIS2004-UTF8-H.bcmap
│ │ │ ├── UniJIS2004-UTF8-V.bcmap
│ │ │ ├── UniJISPro-UCS2-HW-V.bcmap
│ │ │ ├── UniJISPro-UCS2-V.bcmap
│ │ │ ├── UniJISPro-UTF8-V.bcmap
│ │ │ ├── UniJISX0213-UTF32-H.bcmap
│ │ │ ├── UniJISX0213-UTF32-V.bcmap
│ │ │ ├── UniJISX02132004-UTF32-H.bcmap
│ │ │ ├── UniJISX02132004-UTF32-V.bcmap
│ │ │ ├── UniKS-UCS2-H.bcmap
│ │ │ ├── UniKS-UCS2-V.bcmap
│ │ │ ├── UniKS-UTF16-H.bcmap
│ │ │ ├── UniKS-UTF16-V.bcmap
│ │ │ ├── UniKS-UTF32-H.bcmap
│ │ │ ├── UniKS-UTF32-V.bcmap
│ │ │ ├── UniKS-UTF8-H.bcmap
│ │ │ ├── UniKS-UTF8-V.bcmap
│ │ │ ├── V.bcmap
│ │ │ └── WP-Symbol.bcmap
│ │ │ ├── compressed.tracemonkey-pldi-09.pdf
│ │ │ ├── debugger.css
│ │ │ ├── debugger.js
│ │ │ ├── images
│ │ │ ├── annotation-check.svg
│ │ │ ├── annotation-comment.svg
│ │ │ ├── annotation-help.svg
│ │ │ ├── annotation-insert.svg
│ │ │ ├── annotation-key.svg
│ │ │ ├── annotation-newparagraph.svg
│ │ │ ├── annotation-noicon.svg
│ │ │ ├── annotation-note.svg
│ │ │ ├── annotation-paperclip.svg
│ │ │ ├── annotation-paragraph.svg
│ │ │ ├── annotation-pushpin.svg
│ │ │ ├── cursor-editorFreeText.svg
│ │ │ ├── cursor-editorInk.svg
│ │ │ ├── findbarButton-next.svg
│ │ │ ├── findbarButton-previous.svg
│ │ │ ├── loading-dark.svg
│ │ │ ├── loading-icon.gif
│ │ │ ├── loading.svg
│ │ │ ├── secondaryToolbarButton-documentProperties.svg
│ │ │ ├── secondaryToolbarButton-firstPage.svg
│ │ │ ├── secondaryToolbarButton-handTool.svg
│ │ │ ├── secondaryToolbarButton-lastPage.svg
│ │ │ ├── secondaryToolbarButton-rotateCcw.svg
│ │ │ ├── secondaryToolbarButton-rotateCw.svg
│ │ │ ├── secondaryToolbarButton-scrollHorizontal.svg
│ │ │ ├── secondaryToolbarButton-scrollPage.svg
│ │ │ ├── secondaryToolbarButton-scrollVertical.svg
│ │ │ ├── secondaryToolbarButton-scrollWrapped.svg
│ │ │ ├── secondaryToolbarButton-selectTool.svg
│ │ │ ├── secondaryToolbarButton-spreadEven.svg
│ │ │ ├── secondaryToolbarButton-spreadNone.svg
│ │ │ ├── secondaryToolbarButton-spreadOdd.svg
│ │ │ ├── toolbarButton-bookmark.svg
│ │ │ ├── toolbarButton-currentOutlineItem.svg
│ │ │ ├── toolbarButton-download.svg
│ │ │ ├── toolbarButton-editorFreeText.svg
│ │ │ ├── toolbarButton-editorInk.svg
│ │ │ ├── toolbarButton-menuArrow.svg
│ │ │ ├── toolbarButton-openFile.svg
│ │ │ ├── toolbarButton-pageDown.svg
│ │ │ ├── toolbarButton-pageUp.svg
│ │ │ ├── toolbarButton-presentationMode.svg
│ │ │ ├── toolbarButton-print.svg
│ │ │ ├── toolbarButton-search.svg
│ │ │ ├── toolbarButton-secondaryToolbarToggle.svg
│ │ │ ├── toolbarButton-sidebarToggle.svg
│ │ │ ├── toolbarButton-viewAttachments.svg
│ │ │ ├── toolbarButton-viewLayers.svg
│ │ │ ├── toolbarButton-viewOutline.svg
│ │ │ ├── toolbarButton-viewThumbnail.svg
│ │ │ ├── toolbarButton-zoomIn.svg
│ │ │ ├── toolbarButton-zoomOut.svg
│ │ │ ├── treeitem-collapsed.svg
│ │ │ └── treeitem-expanded.svg
│ │ │ ├── locale
│ │ │ ├── ach
│ │ │ │ └── viewer.properties
│ │ │ ├── af
│ │ │ │ └── viewer.properties
│ │ │ ├── an
│ │ │ │ └── viewer.properties
│ │ │ ├── ar
│ │ │ │ └── viewer.properties
│ │ │ ├── ast
│ │ │ │ └── viewer.properties
│ │ │ ├── az
│ │ │ │ └── viewer.properties
│ │ │ ├── be
│ │ │ │ └── viewer.properties
│ │ │ ├── bg
│ │ │ │ └── viewer.properties
│ │ │ ├── bn
│ │ │ │ └── viewer.properties
│ │ │ ├── bo
│ │ │ │ └── viewer.properties
│ │ │ ├── br
│ │ │ │ └── viewer.properties
│ │ │ ├── brx
│ │ │ │ └── viewer.properties
│ │ │ ├── bs
│ │ │ │ └── viewer.properties
│ │ │ ├── ca
│ │ │ │ └── viewer.properties
│ │ │ ├── cak
│ │ │ │ └── viewer.properties
│ │ │ ├── ckb
│ │ │ │ └── viewer.properties
│ │ │ ├── cs
│ │ │ │ └── viewer.properties
│ │ │ ├── cy
│ │ │ │ └── viewer.properties
│ │ │ ├── da
│ │ │ │ └── viewer.properties
│ │ │ ├── de
│ │ │ │ └── viewer.properties
│ │ │ ├── dsb
│ │ │ │ └── viewer.properties
│ │ │ ├── el
│ │ │ │ └── viewer.properties
│ │ │ ├── en-CA
│ │ │ │ └── viewer.properties
│ │ │ ├── en-GB
│ │ │ │ └── viewer.properties
│ │ │ ├── en-US
│ │ │ │ └── viewer.properties
│ │ │ ├── eo
│ │ │ │ └── viewer.properties
│ │ │ ├── es-AR
│ │ │ │ └── viewer.properties
│ │ │ ├── es-CL
│ │ │ │ └── viewer.properties
│ │ │ ├── es-ES
│ │ │ │ └── viewer.properties
│ │ │ ├── es-MX
│ │ │ │ └── viewer.properties
│ │ │ ├── et
│ │ │ │ └── viewer.properties
│ │ │ ├── eu
│ │ │ │ └── viewer.properties
│ │ │ ├── fa
│ │ │ │ └── viewer.properties
│ │ │ ├── ff
│ │ │ │ └── viewer.properties
│ │ │ ├── fi
│ │ │ │ └── viewer.properties
│ │ │ ├── fr
│ │ │ │ └── viewer.properties
│ │ │ ├── fur
│ │ │ │ └── viewer.properties
│ │ │ ├── fy-NL
│ │ │ │ └── viewer.properties
│ │ │ ├── ga-IE
│ │ │ │ └── viewer.properties
│ │ │ ├── gd
│ │ │ │ └── viewer.properties
│ │ │ ├── gl
│ │ │ │ └── viewer.properties
│ │ │ ├── gn
│ │ │ │ └── viewer.properties
│ │ │ ├── gu-IN
│ │ │ │ └── viewer.properties
│ │ │ ├── he
│ │ │ │ └── viewer.properties
│ │ │ ├── hi-IN
│ │ │ │ └── viewer.properties
│ │ │ ├── hr
│ │ │ │ └── viewer.properties
│ │ │ ├── hsb
│ │ │ │ └── viewer.properties
│ │ │ ├── hu
│ │ │ │ └── viewer.properties
│ │ │ ├── hy-AM
│ │ │ │ └── viewer.properties
│ │ │ ├── hye
│ │ │ │ └── viewer.properties
│ │ │ ├── ia
│ │ │ │ └── viewer.properties
│ │ │ ├── id
│ │ │ │ └── viewer.properties
│ │ │ ├── is
│ │ │ │ └── viewer.properties
│ │ │ ├── it
│ │ │ │ └── viewer.properties
│ │ │ ├── ja
│ │ │ │ └── viewer.properties
│ │ │ ├── ka
│ │ │ │ └── viewer.properties
│ │ │ ├── kab
│ │ │ │ └── viewer.properties
│ │ │ ├── kk
│ │ │ │ └── viewer.properties
│ │ │ ├── km
│ │ │ │ └── viewer.properties
│ │ │ ├── kn
│ │ │ │ └── viewer.properties
│ │ │ ├── ko
│ │ │ │ └── viewer.properties
│ │ │ ├── lij
│ │ │ │ └── viewer.properties
│ │ │ ├── lo
│ │ │ │ └── viewer.properties
│ │ │ ├── locale.properties
│ │ │ ├── lt
│ │ │ │ └── viewer.properties
│ │ │ ├── ltg
│ │ │ │ └── viewer.properties
│ │ │ ├── lv
│ │ │ │ └── viewer.properties
│ │ │ ├── meh
│ │ │ │ └── viewer.properties
│ │ │ ├── mk
│ │ │ │ └── viewer.properties
│ │ │ ├── mr
│ │ │ │ └── viewer.properties
│ │ │ ├── ms
│ │ │ │ └── viewer.properties
│ │ │ ├── my
│ │ │ │ └── viewer.properties
│ │ │ ├── nb-NO
│ │ │ │ └── viewer.properties
│ │ │ ├── ne-NP
│ │ │ │ └── viewer.properties
│ │ │ ├── nl
│ │ │ │ └── viewer.properties
│ │ │ ├── nn-NO
│ │ │ │ └── viewer.properties
│ │ │ ├── oc
│ │ │ │ └── viewer.properties
│ │ │ ├── pa-IN
│ │ │ │ └── viewer.properties
│ │ │ ├── pl
│ │ │ │ └── viewer.properties
│ │ │ ├── pt-BR
│ │ │ │ └── viewer.properties
│ │ │ ├── pt-PT
│ │ │ │ └── viewer.properties
│ │ │ ├── rm
│ │ │ │ └── viewer.properties
│ │ │ ├── ro
│ │ │ │ └── viewer.properties
│ │ │ ├── ru
│ │ │ │ └── viewer.properties
│ │ │ ├── sat
│ │ │ │ └── viewer.properties
│ │ │ ├── sc
│ │ │ │ └── viewer.properties
│ │ │ ├── scn
│ │ │ │ └── viewer.properties
│ │ │ ├── sco
│ │ │ │ └── viewer.properties
│ │ │ ├── si
│ │ │ │ └── viewer.properties
│ │ │ ├── sk
│ │ │ │ └── viewer.properties
│ │ │ ├── skr
│ │ │ │ └── viewer.properties
│ │ │ ├── sl
│ │ │ │ └── viewer.properties
│ │ │ ├── son
│ │ │ │ └── viewer.properties
│ │ │ ├── sq
│ │ │ │ └── viewer.properties
│ │ │ ├── sr
│ │ │ │ └── viewer.properties
│ │ │ ├── sv-SE
│ │ │ │ └── viewer.properties
│ │ │ ├── szl
│ │ │ │ └── viewer.properties
│ │ │ ├── ta
│ │ │ │ └── viewer.properties
│ │ │ ├── te
│ │ │ │ └── viewer.properties
│ │ │ ├── tg
│ │ │ │ └── viewer.properties
│ │ │ ├── th
│ │ │ │ └── viewer.properties
│ │ │ ├── tl
│ │ │ │ └── viewer.properties
│ │ │ ├── tr
│ │ │ │ └── viewer.properties
│ │ │ ├── trs
│ │ │ │ └── viewer.properties
│ │ │ ├── uk
│ │ │ │ └── viewer.properties
│ │ │ ├── ur
│ │ │ │ └── viewer.properties
│ │ │ ├── uz
│ │ │ │ └── viewer.properties
│ │ │ ├── vi
│ │ │ │ └── viewer.properties
│ │ │ ├── wo
│ │ │ │ └── viewer.properties
│ │ │ ├── xh
│ │ │ │ └── viewer.properties
│ │ │ ├── zh-CN
│ │ │ │ └── viewer.properties
│ │ │ └── zh-TW
│ │ │ │ └── viewer.properties
│ │ │ ├── standard_fonts
│ │ │ ├── FoxitDingbats.pfb
│ │ │ ├── FoxitFixed.pfb
│ │ │ ├── FoxitFixedBold.pfb
│ │ │ ├── FoxitFixedBoldItalic.pfb
│ │ │ ├── FoxitFixedItalic.pfb
│ │ │ ├── FoxitSans.pfb
│ │ │ ├── FoxitSansBold.pfb
│ │ │ ├── FoxitSansBoldItalic.pfb
│ │ │ ├── FoxitSansItalic.pfb
│ │ │ ├── FoxitSerif.pfb
│ │ │ ├── FoxitSerifBold.pfb
│ │ │ ├── FoxitSerifBoldItalic.pfb
│ │ │ ├── FoxitSerifItalic.pfb
│ │ │ ├── FoxitSymbol.pfb
│ │ │ ├── LICENSE_FOXIT
│ │ │ ├── LICENSE_LIBERATION
│ │ │ ├── LiberationSans-Bold.ttf
│ │ │ ├── LiberationSans-BoldItalic.ttf
│ │ │ ├── LiberationSans-Italic.ttf
│ │ │ └── LiberationSans-Regular.ttf
│ │ │ ├── viewer.css
│ │ │ ├── viewer.html
│ │ │ ├── viewer.js
│ │ │ └── viewer.js.map
│ └── spinner.css
├── src
│ ├── App.vue
│ ├── api.js
│ ├── assets
│ │ ├── loading.svg
│ │ └── send.svg
│ ├── main.js
│ ├── style.css
│ ├── utils.js
│ └── views
│ │ ├── AddLink.vue
│ │ └── Upload.vue
├── start
└── vite.config.js
├── docker-compose.yml
├── preview.png
├── readme.md
└── server
├── consts.py
├── database.db
├── db_docs.py
├── db_init.py
├── db_msg.py
├── doc_util.py
├── download_website.py
├── main.py
├── requirements.txt
└── start
/.gitignore:
--------------------------------------------------------------------------------
1 | server/data
2 | server/database.db
3 | client/.pnpm-store/
4 |
5 | server/__pycache__/
6 |
--------------------------------------------------------------------------------
/client/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/client/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
3 | }
4 |
--------------------------------------------------------------------------------
/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | ChatDoc
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/client/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "client",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite --host",
8 | "build": "vite build",
9 | "preview": "vite preview"
10 | },
11 | "dependencies": {
12 | "@element-plus/icons-vue": "^2.1.0",
13 | "@tato30/vue-pdf": "^1.3.4",
14 | "element-plus": "^2.3.1",
15 | "normalize.css": "^8.0.1",
16 | "vite-svg-loader": "^4.0.0",
17 | "vue": "^3.2.47",
18 | "vue-pdf": "^4.3.0"
19 | },
20 | "devDependencies": {
21 | "@vitejs/plugin-vue": "^4.1.0",
22 | "sass": "^1.60.0",
23 | "vite": "^4.2.0"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/client/public/docx/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Document
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
35 |
36 |
--------------------------------------------------------------------------------
/client/public/docx/polyfill.min.js:
--------------------------------------------------------------------------------
1 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";function e(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){return t.reject(n)})})}function t(e){return new this(function(t,n){function r(e,n){if(n&&("object"==typeof n||"function"==typeof n)){var f=n.then;if("function"==typeof f)return void f.call(n,function(t){r(e,t)},function(n){o[e]={status:"rejected",reason:n},0==--i&&t(o)})}o[e]={status:"fulfilled",value:n},0==--i&&t(o)}if(!e||"undefined"==typeof e.length)return n(new TypeError(typeof e+" "+e+" is not iterable(cannot read property Symbol(Symbol.iterator))"));var o=Array.prototype.slice.call(e);if(0===o.length)return t([]);for(var i=o.length,f=0;o.length>f;f++)r(f,o[f])})}function n(e,t){this.name="AggregateError",this.errors=e,this.message=t||""}function r(e){var t=this;return new t(function(r,o){if(!e||"undefined"==typeof e.length)return o(new TypeError("Promise.any accepts an array"));var i=Array.prototype.slice.call(e);if(0===i.length)return o();for(var f=[],u=0;i.length>u;u++)try{t.resolve(i[u]).then(r)["catch"](function(e){f.push(e),f.length===i.length&&o(new n(f,"All promises were rejected"))})}catch(c){o(c)}})}function o(e){return!(!e||"undefined"==typeof e.length)}function i(){}function f(e){if(!(this instanceof f))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=undefined,this._deferreds=[],s(e,this)}function u(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,f._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var r;try{r=n(e._value)}catch(o){return void a(t.promise,o)}c(t.promise,r)}else(1===e._state?c:a)(t.promise,e._value)})):e._deferreds.push(t)}function c(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof f)return e._state=3,e._value=t,void l(e);if("function"==typeof n)return void s(function(e,t){return function(){e.apply(t,arguments)}}(n,t),e)}e._state=1,e._value=t,l(e)}catch(r){a(e,r)}}function a(e,t){e._state=2,e._value=t,l(e)}function l(e){2===e._state&&0===e._deferreds.length&&f._immediateFn(function(){e._handled||f._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;n>t;t++)u(e,e._deferreds[t]);e._deferreds=null}function s(e,t){var n=!1;try{e(function(e){n||(n=!0,c(t,e))},function(e){n||(n=!0,a(t,e))})}catch(r){if(n)return;n=!0,a(t,r)}}n.prototype=Error.prototype;var d=setTimeout;f.prototype["catch"]=function(e){return this.then(null,e)},f.prototype.then=function(e,t){var n=new this.constructor(i);return u(this,new function(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}(e,t,n)),n},f.prototype["finally"]=e,f.all=function(e){return new f(function(t,n){function r(e,o){try{if(o&&("object"==typeof o||"function"==typeof o)){var u=o.then;if("function"==typeof u)return void u.call(o,function(t){r(e,t)},n)}i[e]=o,0==--f&&t(i)}catch(c){n(c)}}if(!o(e))return n(new TypeError("Promise.all accepts an array"));var i=Array.prototype.slice.call(e);if(0===i.length)return t([]);for(var f=i.length,u=0;i.length>u;u++)r(u,i[u])})},f.any=r,f.allSettled=t,f.resolve=function(e){return e&&"object"==typeof e&&e.constructor===f?e:new f(function(t){t(e)})},f.reject=function(e){return new f(function(t,n){n(e)})},f.race=function(e){return new f(function(t,n){if(!o(e))return n(new TypeError("Promise.race accepts an array"));for(var r=0,i=e.length;i>r;r++)f.resolve(e[r]).then(t,n)})},f._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){d(e,0)},f._unhandledRejectionFn=function(e){void 0!==console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)};var p=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw Error("unable to locate global object")}();"function"!=typeof p.Promise?p.Promise=f:(p.Promise.prototype["finally"]||(p.Promise.prototype["finally"]=e),p.Promise.allSettled||(p.Promise.allSettled=t),p.Promise.any||(p.Promise.any=r))});
2 |
--------------------------------------------------------------------------------
/client/public/epub/examples.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | background: #fafafa;
4 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
5 | color: #333;
6 |
7 | position: absolute;
8 | height: 100%;
9 | width: 100%;
10 | min-height: 800px;
11 | }
12 |
13 | #title {
14 | width: 900px;
15 | min-height: 18px;
16 | margin: 10px auto;
17 | text-align: center;
18 | font-size: 16px;
19 | color: #E2E2E2;
20 | font-weight: 400;
21 | }
22 |
23 | #title:hover {
24 | color: #777;
25 | }
26 |
27 | #viewer.spreads {
28 | width: 900px;
29 | height: 600px;
30 | box-shadow: 0 0 4px #ccc;
31 | border-radius: 5px;
32 | padding: 0;
33 | position: relative;
34 | margin: 10px auto;
35 | background: white url('ajax-loader.gif') center center no-repeat;
36 | top: calc(50vh - 400px);
37 | }
38 |
39 | #viewer.spreads .epub-view > iframe {
40 | background: white;
41 | }
42 |
43 | #viewer.scrolled {
44 | overflow: hidden;
45 | width: 800px;
46 | margin: 0 auto;
47 | position: relative;
48 | background: url('ajax-loader.gif') center center no-repeat;
49 |
50 | }
51 |
52 | #viewer.scrolled .epub-container {
53 | background: white;
54 | box-shadow: 0 0 4px #ccc;
55 | margin: 10px;
56 | padding: 20px;
57 | }
58 |
59 | #viewer.scrolled .epub-view > iframe {
60 | background: white;
61 | }
62 |
63 | #prev {
64 | left: 0;
65 | }
66 |
67 | #next {
68 | right: 0;
69 | }
70 |
71 | #toc {
72 | display: block;
73 | margin: 10px auto;
74 | }
75 |
76 | @media (min-width: 1000px) {
77 | #viewer.spreads:after {
78 | position: absolute;
79 | width: 1px;
80 | border-right: 1px #000 solid;
81 | height: 90%;
82 | z-index: 1;
83 | left: 50%;
84 | margin-left: -1px;
85 | top: 5%;
86 | opacity: .15;
87 | box-shadow: -2px 0 15px rgba(0, 0, 0, 1);
88 | content: "";
89 | }
90 |
91 | #viewer.spreads.single:after {
92 | display: none;
93 | }
94 |
95 | #prev {
96 | left: 40px;
97 | }
98 |
99 | #next {
100 | right: 40px;
101 | }
102 | }
103 |
104 | .arrow {
105 | position: fixed;
106 | top: 50%;
107 | margin-top: -32px;
108 | font-size: 64px;
109 | color: #E2E2E2;
110 | font-family: arial, sans-serif;
111 | font-weight: bold;
112 | cursor: pointer;
113 | -webkit-user-select: none;
114 | -moz-user-select: none;
115 | user-select: none;
116 | text-decoration: none;
117 | }
118 |
119 | .navlink {
120 | margin: 14px;
121 | display: block;
122 | text-align: center;
123 | text-decoration: none;
124 | color: #ccc;
125 | }
126 |
127 | .arrow:hover, .navlink:hover {
128 | color: #777;
129 | }
130 |
131 | .arrow:active, .navlink:hover {
132 | color: #000;
133 | }
134 |
135 | #book-wrapper {
136 | width: 480px;
137 | height: 640px;
138 | overflow: hidden;
139 | border: 1px solid #ccc;
140 | margin: 28px auto;
141 | background: #fff;
142 | border-radius: 0 5px 5px 0;
143 | position: absolute;
144 | }
145 |
146 | #book-viewer {
147 | width: 480px;
148 | height: 660px;
149 | margin: -30px auto;
150 | -moz-box-shadow: inset 10px 0 20px rgba(0,0,0,.1);
151 | -webkit-box-shadow: inset 10px 0 20px rgba(0,0,0,.1);
152 | box-shadow: inset 10px 0 20px rgba(0,0,0,.1);
153 | }
154 |
155 | #book-viewer iframe {
156 | padding: 40px 40px;
157 | }
158 |
159 | #controls {
160 | position: absolute;
161 | bottom: 16px;
162 | left: 50%;
163 | width: 400px;
164 | margin-left: -200px;
165 | text-align: center;
166 | display: none;
167 | }
168 |
169 | #controls > input[type=range] {
170 | width: 400px;
171 | }
172 |
173 | #navigation {
174 | width: 400px;
175 | height: 100vh;
176 | position: absolute;
177 | overflow: auto;
178 | top: 0;
179 | left: 0;
180 | background: #777;
181 | -webkit-transition: -webkit-transform .25s ease-out;
182 | -moz-transition: -moz-transform .25s ease-out;
183 | -ms-transition: -moz-transform .25s ease-out;
184 | transition: transform .25s ease-out;
185 |
186 | }
187 |
188 | #navigation.fixed {
189 | position: fixed;
190 | }
191 |
192 | #navigation h1 {
193 | width: 200px;
194 | font-size: 16px;
195 | font-weight: normal;
196 | color: #fff;
197 | margin-bottom: 10px;
198 | }
199 |
200 | #navigation h2 {
201 | font-size: 14px;
202 | font-weight: normal;
203 | color: #B0B0B0;
204 | margin-bottom: 20px;
205 | }
206 |
207 | #navigation ul {
208 | padding-left: 36px;
209 | margin-left: 0;
210 | margin-top: 12px;
211 | margin-bottom: 12px;
212 | width: 340px;
213 | }
214 |
215 | #navigation ul li {
216 | list-style: decimal;
217 | margin-bottom: 10px;
218 | color: #cccddd;
219 | font-size: 12px;
220 | padding-left: 0;
221 | margin-left: 0;
222 | }
223 |
224 | #navigation ul li a {
225 | color: #ccc;
226 | text-decoration: none;
227 | }
228 |
229 | #navigation ul li a:hover {
230 | color: #fff;
231 | text-decoration: underline;
232 | }
233 |
234 | #navigation ul li a.active {
235 | color: #fff;
236 | }
237 |
238 | #navigation #cover {
239 | display: block;
240 | margin: 24px auto;
241 | }
242 |
243 | #navigation #closer {
244 | position: absolute;
245 | top: 0;
246 | right: 0;
247 | padding: 12px;
248 | color: #cccddd;
249 | width: 24px;
250 | }
251 |
252 | #navigation.closed {
253 | -webkit-transform: translate(-400px, 0);
254 | -moz-transform: translate(-400px, 0);
255 | -ms-transform: translate(-400px, 0);
256 | }
257 |
258 | svg {
259 | display: block;
260 | }
261 |
262 | .close-x {
263 | stroke: #cccddd;
264 | fill: transparent;
265 | stroke-linecap: round;
266 | stroke-width: 5;
267 | }
268 |
269 | .close-x:hover {
270 | stroke: #fff;
271 | }
272 |
273 | #opener {
274 | position: absolute;
275 | top: 0;
276 | left: 0;
277 | padding: 10px;
278 | stroke: #E2E2E2;
279 | fill: #E2E2E2;
280 |
281 | }
282 |
283 | #opener:hover {
284 | stroke: #777;
285 | fill: #777;
286 | }
287 |
--------------------------------------------------------------------------------
/client/public/epub/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | ‹
17 | ›
18 |
19 |
150 |
151 |
152 |
153 |
--------------------------------------------------------------------------------
/client/public/md/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Marked in the browser
7 |
8 |
9 |
10 |
11 |
12 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/78-EUC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/78-EUC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/78-EUC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/78-EUC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/78-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/78-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/78-RKSJ-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/78-RKSJ-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/78-RKSJ-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/78-RKSJ-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/78-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/78-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Add-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Add-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Add-RKSJ-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Add-RKSJ-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Add-RKSJ-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Add-RKSJ-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Add-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Add-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-GB1-0.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-GB1-0.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-GB1-1.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-GB1-1.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-GB1-2.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-GB1-2.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-GB1-3.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-GB1-3.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-GB1-4.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-GB1-4.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-GB1-5.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-GB1-5.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/B5-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/B5-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/B5-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/B5-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/B5pc-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/B5pc-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/B5pc-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/B5pc-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/CNS-EUC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/CNS-EUC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/CNS-EUC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/CNS-EUC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/CNS1-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/CNS1-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/CNS1-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/CNS1-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/CNS2-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/CNS2-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/CNS2-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/CNS2-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/ETHK-B5-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/ETHK-B5-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/ETHK-B5-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/ETHK-B5-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/ETen-B5-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/ETen-B5-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/ETen-B5-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/ETen-B5-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/ETenms-B5-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/ETenms-B5-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/ETenms-B5-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/ETenms-B5-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/EUC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/EUC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/EUC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/EUC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Ext-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Ext-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Ext-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Ext-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GB-EUC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GB-EUC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GB-EUC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GB-EUC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GB-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GB-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GB-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GB-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBK-EUC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBK-EUC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBK-EUC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBK-EUC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBK2K-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBK2K-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBK2K-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBK2K-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBKp-EUC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBKp-EUC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBKp-EUC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBKp-EUC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBT-EUC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBT-EUC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBT-EUC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBT-EUC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBT-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBT-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBT-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBT-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBpc-EUC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBpc-EUC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/GBpc-EUC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/GBpc-EUC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/HKdla-B5-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/HKdla-B5-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/HKdla-B5-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/HKdla-B5-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/HKdlb-B5-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/HKdlb-B5-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/HKdlb-B5-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/HKdlb-B5-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/HKgccs-B5-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/HKgccs-B5-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/HKgccs-B5-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/HKgccs-B5-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/HKm314-B5-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/HKm314-B5-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/HKm314-B5-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/HKm314-B5-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/HKm471-B5-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/HKm471-B5-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/HKm471-B5-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/HKm471-B5-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/HKscs-B5-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/HKscs-B5-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/HKscs-B5-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/HKscs-B5-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Hankaku.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Hankaku.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Hiragana.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Hiragana.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/KSC-EUC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/KSC-EUC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/KSC-EUC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/KSC-EUC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/KSC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/KSC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/KSC-Johab-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/KSC-Johab-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/KSC-Johab-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/KSC-Johab-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/KSC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/KSC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/KSCms-UHC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/KSCms-UHC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/KSCms-UHC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/KSCms-UHC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Katakana.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Katakana.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/LICENSE:
--------------------------------------------------------------------------------
1 | %%Copyright: -----------------------------------------------------------
2 | %%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
3 | %%Copyright: All rights reserved.
4 | %%Copyright:
5 | %%Copyright: Redistribution and use in source and binary forms, with or
6 | %%Copyright: without modification, are permitted provided that the
7 | %%Copyright: following conditions are met:
8 | %%Copyright:
9 | %%Copyright: Redistributions of source code must retain the above
10 | %%Copyright: copyright notice, this list of conditions and the following
11 | %%Copyright: disclaimer.
12 | %%Copyright:
13 | %%Copyright: Redistributions in binary form must reproduce the above
14 | %%Copyright: copyright notice, this list of conditions and the following
15 | %%Copyright: disclaimer in the documentation and/or other materials
16 | %%Copyright: provided with the distribution.
17 | %%Copyright:
18 | %%Copyright: Neither the name of Adobe Systems Incorporated nor the names
19 | %%Copyright: of its contributors may be used to endorse or promote
20 | %%Copyright: products derived from this software without specific prior
21 | %%Copyright: written permission.
22 | %%Copyright:
23 | %%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
24 | %%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
25 | %%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 | %%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 | %%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
28 | %%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29 | %%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 | %%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
31 | %%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32 | %%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 | %%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
34 | %%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35 | %%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 | %%Copyright: -----------------------------------------------------------
37 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/NWP-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/NWP-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/NWP-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/NWP-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/RKSJ-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/RKSJ-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/RKSJ-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/RKSJ-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/Roman.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/Roman.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/V.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/V.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/cmaps/WP-Symbol.bcmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/cmaps/WP-Symbol.bcmap
--------------------------------------------------------------------------------
/client/public/pdfjs/web/compressed.tracemonkey-pldi-09.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/compressed.tracemonkey-pldi-09.pdf
--------------------------------------------------------------------------------
/client/public/pdfjs/web/debugger.css:
--------------------------------------------------------------------------------
1 | /* Copyright 2014 Mozilla Foundation
2 | *
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | #PDFBug,
17 | #PDFBug input,
18 | #PDFBug button,
19 | #PDFBug select {
20 | font: message-box;
21 | }
22 | #PDFBug {
23 | background-color: rgba(255, 255, 255, 1);
24 | border: 1px solid rgba(102, 102, 102, 1);
25 | position: fixed;
26 | top: 32px;
27 | right: 0;
28 | bottom: 0;
29 | font-size: 10px;
30 | padding: 0;
31 | width: 300px;
32 | }
33 | #PDFBug .controls {
34 | background: rgba(238, 238, 238, 1);
35 | border-bottom: 1px solid rgba(102, 102, 102, 1);
36 | padding: 3px;
37 | }
38 | #PDFBug .panels {
39 | bottom: 0;
40 | left: 0;
41 | overflow: auto;
42 | position: absolute;
43 | right: 0;
44 | top: 27px;
45 | }
46 | #PDFBug .panels > div {
47 | padding: 5px;
48 | }
49 | #PDFBug button.active {
50 | font-weight: bold;
51 | }
52 | .debuggerShowText,
53 | .debuggerHideText:hover {
54 | background-color: rgba(255, 255, 0, 1);
55 | }
56 | #PDFBug .stats {
57 | font-family: courier;
58 | font-size: 10px;
59 | white-space: pre;
60 | }
61 | #PDFBug .stats .title {
62 | font-weight: bold;
63 | }
64 | #PDFBug table {
65 | font-size: 10px;
66 | white-space: pre;
67 | }
68 | #PDFBug table.showText {
69 | border-collapse: collapse;
70 | text-align: center;
71 | }
72 | #PDFBug table.showText,
73 | #PDFBug table.showText tr,
74 | #PDFBug table.showText td {
75 | border: 1px solid black;
76 | padding: 1px;
77 | }
78 | #PDFBug table.showText td.advance {
79 | color: grey;
80 | }
81 |
82 | #viewer.textLayer-visible .textLayer {
83 | opacity: 1;
84 | }
85 |
86 | #viewer.textLayer-visible .canvasWrapper {
87 | background-color: rgba(128, 255, 128, 1);
88 | }
89 |
90 | #viewer.textLayer-visible .canvasWrapper canvas {
91 | mix-blend-mode: screen;
92 | }
93 |
94 | #viewer.textLayer-visible .textLayer span {
95 | background-color: rgba(255, 255, 0, 0.1);
96 | color: rgba(0, 0, 0, 1);
97 | border: solid 1px rgba(255, 0, 0, 0.5);
98 | box-sizing: border-box;
99 | }
100 |
101 | #viewer.textLayer-visible .textLayer span[aria-owns] {
102 | background-color: rgba(255, 0, 0, 0.3);
103 | }
104 |
105 | #viewer.textLayer-hover .textLayer span:hover {
106 | background-color: rgba(255, 255, 255, 1);
107 | color: rgba(0, 0, 0, 1);
108 | }
109 |
110 | #viewer.textLayer-shadow .textLayer span {
111 | background-color: rgba(255, 255, 255, 0.6);
112 | color: rgba(0, 0, 0, 1);
113 | }
114 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/annotation-check.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/annotation-comment.svg:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/annotation-help.svg:
--------------------------------------------------------------------------------
1 |
2 |
27 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/annotation-insert.svg:
--------------------------------------------------------------------------------
1 |
2 |
11 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/annotation-key.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/annotation-newparagraph.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/annotation-noicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/annotation-note.svg:
--------------------------------------------------------------------------------
1 |
2 |
43 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/annotation-paperclip.svg:
--------------------------------------------------------------------------------
1 |
4 |
7 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/annotation-paragraph.svg:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/annotation-pushpin.svg:
--------------------------------------------------------------------------------
1 |
4 |
8 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/cursor-editorFreeText.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/cursor-editorInk.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/findbarButton-next.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/findbarButton-previous.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/loading-dark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/loading-icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/images/loading-icon.gif
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/loading.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-documentProperties.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-firstPage.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-handTool.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-lastPage.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-rotateCw.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-scrollPage.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-selectTool.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-spreadEven.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-spreadNone.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-bookmark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-currentOutlineItem.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-download.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-editorFreeText.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-editorInk.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-menuArrow.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-openFile.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-pageDown.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-pageUp.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-presentationMode.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-print.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-search.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-sidebarToggle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-viewAttachments.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-viewLayers.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-viewOutline.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-viewThumbnail.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-zoomIn.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/toolbarButton-zoomOut.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/treeitem-collapsed.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/images/treeitem-expanded.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/locale/lo/viewer.properties:
--------------------------------------------------------------------------------
1 | # Copyright 2012 Mozilla Foundation
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | # Main toolbar buttons (tooltips and alt text for images)
16 | previous.title=ຫນ້າກ່ອນຫນ້າ
17 | previous_label=ກ່ອນຫນ້າ
18 | next.title=ຫນ້າຖັດໄປ
19 | next_label=ຖັດໄປ
20 |
21 | # LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
22 | page.title=ຫນ້າ
23 | # LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
24 | # representing the total number of pages in the document.
25 | of_pages=ຈາກ {{pagesCount}}
26 | # LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
27 | # will be replaced by a number representing the currently visible page,
28 | # respectively a number representing the total number of pages in the document.
29 | page_of_pages=({{pageNumber}} ຈາກ {{pagesCount}})
30 |
31 | zoom_out.title=ຂະຫຍາຍອອກ
32 | zoom_out_label=ຂະຫຍາຍອອກ
33 | zoom_in.title=ຂະຫຍາຍເຂົ້າ
34 | zoom_in_label=ຂະຫຍາຍເຂົ້າ
35 | zoom.title=ຂະຫຍາຍ
36 | presentation_mode.title=ສັບປ່ຽນເປັນໂຫມດການນຳສະເຫນີ
37 | presentation_mode_label=ໂຫມດການນຳສະເຫນີ
38 | open_file.title=ເປີດໄຟລ໌
39 | open_file_label=ເປີດ
40 | print.title=ພິມ
41 | print_label=ພິມ
42 | download.title=ດາວໂຫລດ
43 | download_label=ດາວໂຫລດ
44 | bookmark.title=ມຸມມອງປະຈຸບັນ (ສຳເນົາ ຫລື ເປີດໃນວິນໂດໃຫມ່)
45 | bookmark_label=ມຸມມອງປະຈຸບັນ
46 |
47 | # Secondary toolbar and context menu
48 | tools.title=ເຄື່ອງມື
49 | tools_label=ເຄື່ອງມື
50 | first_page.title=ໄປທີ່ຫນ້າທຳອິດ
51 | first_page_label=ໄປທີ່ຫນ້າທຳອິດ
52 | last_page.title=ໄປທີ່ຫນ້າສຸດທ້າຍ
53 | last_page_label=ໄປທີ່ຫນ້າສຸດທ້າຍ
54 | page_rotate_cw.title=ຫມູນຕາມເຂັມໂມງ
55 | page_rotate_cw_label=ຫມູນຕາມເຂັມໂມງ
56 | page_rotate_ccw.title=ຫມູນທວນເຂັມໂມງ
57 | page_rotate_ccw_label=ຫມູນທວນເຂັມໂມງ
58 |
59 |
60 |
61 |
62 | # Document properties dialog box
63 | document_properties_file_name=ຊື່ໄຟລ໌:
64 | document_properties_file_size=ຂະຫນາດໄຟລ໌:
65 | # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
66 | # will be replaced by the PDF file size in kilobytes, respectively in bytes.
67 | # LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
68 | # will be replaced by the PDF file size in megabytes, respectively in bytes.
69 | # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
70 | # will be replaced by the creation/modification date, and time, of the PDF file.
71 | document_properties_page_size_unit_inches=in
72 | document_properties_page_size_unit_millimeters=mm
73 | document_properties_page_size_orientation_portrait=ລວງຕັ້ງ
74 | document_properties_page_size_orientation_landscape=ລວງນອນ
75 | document_properties_page_size_name_a3=A3
76 | document_properties_page_size_name_a4=A4
77 | document_properties_page_size_name_letter=ຈົດໝາຍ
78 | document_properties_page_size_name_legal=ຂໍ້ກົດຫມາຍ
79 | # LOCALIZATION NOTE (document_properties_page_size_dimension_string):
80 | # "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
81 | # the size, respectively their unit of measurement and orientation, of the (current) page.
82 | # LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
83 | # "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
84 | # the size, respectively their unit of measurement, name, and orientation, of the (current) page.
85 | # LOCALIZATION NOTE (document_properties_linearized): The linearization status of
86 | # the document; usually called "Fast Web View" in English locales of Adobe software.
87 | document_properties_close=ປິດ
88 |
89 | # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
90 | # a numerical per cent value.
91 | print_progress_close=ຍົກເລີກ
92 |
93 | # Tooltips and alt text for side panel toolbar buttons
94 | # (the _label strings are alt text for the buttons, the .title strings are
95 | # tooltips)
96 | toggle_sidebar.title=ເປີດ/ປິດແຖບຂ້າງ
97 | toggle_sidebar_label=ເປີດ/ປິດແຖບຂ້າງ
98 | document_outline_label=ເຄົ້າຮ່າງເອກະສານ
99 | findbar_label=ຄົ້ນຫາ
100 |
101 | # Thumbnails panel item (tooltip and alt text for images)
102 | # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
103 | # number.
104 | # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
105 | # number.
106 |
107 | # Find panel button title and messages
108 | find_input.title=ຄົ້ນຫາ
109 | # LOCALIZATION NOTE (find_match_count): The supported plural forms are
110 | # [one|two|few|many|other], with [other] as the default value.
111 | # "{{current}}" and "{{total}}" will be replaced by a number representing the
112 | # index of the currently active find result, respectively a number representing
113 | # the total number of matches in the document.
114 | # LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
115 | # [zero|one|two|few|many|other], with [other] as the default value.
116 | # "{{limit}}" will be replaced by a numerical value.
117 |
118 | # Error panel labels
119 | error_more_info=ຂໍ້ມູນເພີ່ມເຕີມ
120 | error_less_info=ຂໍ້ມູນນ້ອຍລົງ
121 | error_close=ປິດ
122 | # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
123 | # replaced by the PDF.JS version and build ID.
124 | # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
125 | # english string describing the error.
126 | # LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
127 | # trace.
128 | # LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
129 | # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
130 | rendering_error=ມີຂໍ້ຜິດພາດເກີດຂື້ນຂະນະທີ່ກຳລັງເຣັນເດີຫນ້າ.
131 |
132 | # Predefined zoom values
133 | # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
134 | # numerical scale value.
135 |
136 | loading_error=ມີຂໍ້ຜິດພາດເກີດຂື້ນຂະນະທີ່ກຳລັງໂຫລດ PDF.
137 | invalid_file_error=ໄຟລ໌ PDF ບໍ່ຖືກຕ້ອງຫລືເສຍຫາຍ.
138 |
139 | # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
140 | # "{{type}}" will be replaced with an annotation type from a list defined in
141 | # the PDF spec (32000-1:2008 Table 169 – Annotation types).
142 | # Some common types are e.g.: "Check", "Text", "Comment", "Note"
143 | password_ok=ຕົກລົງ
144 | password_cancel=ຍົກເລີກ
145 |
146 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/locale/locale.properties:
--------------------------------------------------------------------------------
1 | [ach]
2 | @import url(ach/viewer.properties)
3 |
4 | [af]
5 | @import url(af/viewer.properties)
6 |
7 | [an]
8 | @import url(an/viewer.properties)
9 |
10 | [ar]
11 | @import url(ar/viewer.properties)
12 |
13 | [ast]
14 | @import url(ast/viewer.properties)
15 |
16 | [az]
17 | @import url(az/viewer.properties)
18 |
19 | [be]
20 | @import url(be/viewer.properties)
21 |
22 | [bg]
23 | @import url(bg/viewer.properties)
24 |
25 | [bn]
26 | @import url(bn/viewer.properties)
27 |
28 | [bo]
29 | @import url(bo/viewer.properties)
30 |
31 | [br]
32 | @import url(br/viewer.properties)
33 |
34 | [brx]
35 | @import url(brx/viewer.properties)
36 |
37 | [bs]
38 | @import url(bs/viewer.properties)
39 |
40 | [ca]
41 | @import url(ca/viewer.properties)
42 |
43 | [cak]
44 | @import url(cak/viewer.properties)
45 |
46 | [ckb]
47 | @import url(ckb/viewer.properties)
48 |
49 | [cs]
50 | @import url(cs/viewer.properties)
51 |
52 | [cy]
53 | @import url(cy/viewer.properties)
54 |
55 | [da]
56 | @import url(da/viewer.properties)
57 |
58 | [de]
59 | @import url(de/viewer.properties)
60 |
61 | [dsb]
62 | @import url(dsb/viewer.properties)
63 |
64 | [el]
65 | @import url(el/viewer.properties)
66 |
67 | [en-CA]
68 | @import url(en-CA/viewer.properties)
69 |
70 | [en-GB]
71 | @import url(en-GB/viewer.properties)
72 |
73 | [en-US]
74 | @import url(en-US/viewer.properties)
75 |
76 | [eo]
77 | @import url(eo/viewer.properties)
78 |
79 | [es-AR]
80 | @import url(es-AR/viewer.properties)
81 |
82 | [es-CL]
83 | @import url(es-CL/viewer.properties)
84 |
85 | [es-ES]
86 | @import url(es-ES/viewer.properties)
87 |
88 | [es-MX]
89 | @import url(es-MX/viewer.properties)
90 |
91 | [et]
92 | @import url(et/viewer.properties)
93 |
94 | [eu]
95 | @import url(eu/viewer.properties)
96 |
97 | [fa]
98 | @import url(fa/viewer.properties)
99 |
100 | [ff]
101 | @import url(ff/viewer.properties)
102 |
103 | [fi]
104 | @import url(fi/viewer.properties)
105 |
106 | [fr]
107 | @import url(fr/viewer.properties)
108 |
109 | [fur]
110 | @import url(fur/viewer.properties)
111 |
112 | [fy-NL]
113 | @import url(fy-NL/viewer.properties)
114 |
115 | [ga-IE]
116 | @import url(ga-IE/viewer.properties)
117 |
118 | [gd]
119 | @import url(gd/viewer.properties)
120 |
121 | [gl]
122 | @import url(gl/viewer.properties)
123 |
124 | [gn]
125 | @import url(gn/viewer.properties)
126 |
127 | [gu-IN]
128 | @import url(gu-IN/viewer.properties)
129 |
130 | [he]
131 | @import url(he/viewer.properties)
132 |
133 | [hi-IN]
134 | @import url(hi-IN/viewer.properties)
135 |
136 | [hr]
137 | @import url(hr/viewer.properties)
138 |
139 | [hsb]
140 | @import url(hsb/viewer.properties)
141 |
142 | [hu]
143 | @import url(hu/viewer.properties)
144 |
145 | [hy-AM]
146 | @import url(hy-AM/viewer.properties)
147 |
148 | [hye]
149 | @import url(hye/viewer.properties)
150 |
151 | [ia]
152 | @import url(ia/viewer.properties)
153 |
154 | [id]
155 | @import url(id/viewer.properties)
156 |
157 | [is]
158 | @import url(is/viewer.properties)
159 |
160 | [it]
161 | @import url(it/viewer.properties)
162 |
163 | [ja]
164 | @import url(ja/viewer.properties)
165 |
166 | [ka]
167 | @import url(ka/viewer.properties)
168 |
169 | [kab]
170 | @import url(kab/viewer.properties)
171 |
172 | [kk]
173 | @import url(kk/viewer.properties)
174 |
175 | [km]
176 | @import url(km/viewer.properties)
177 |
178 | [kn]
179 | @import url(kn/viewer.properties)
180 |
181 | [ko]
182 | @import url(ko/viewer.properties)
183 |
184 | [lij]
185 | @import url(lij/viewer.properties)
186 |
187 | [lo]
188 | @import url(lo/viewer.properties)
189 |
190 | [lt]
191 | @import url(lt/viewer.properties)
192 |
193 | [ltg]
194 | @import url(ltg/viewer.properties)
195 |
196 | [lv]
197 | @import url(lv/viewer.properties)
198 |
199 | [meh]
200 | @import url(meh/viewer.properties)
201 |
202 | [mk]
203 | @import url(mk/viewer.properties)
204 |
205 | [mr]
206 | @import url(mr/viewer.properties)
207 |
208 | [ms]
209 | @import url(ms/viewer.properties)
210 |
211 | [my]
212 | @import url(my/viewer.properties)
213 |
214 | [nb-NO]
215 | @import url(nb-NO/viewer.properties)
216 |
217 | [ne-NP]
218 | @import url(ne-NP/viewer.properties)
219 |
220 | [nl]
221 | @import url(nl/viewer.properties)
222 |
223 | [nn-NO]
224 | @import url(nn-NO/viewer.properties)
225 |
226 | [oc]
227 | @import url(oc/viewer.properties)
228 |
229 | [pa-IN]
230 | @import url(pa-IN/viewer.properties)
231 |
232 | [pl]
233 | @import url(pl/viewer.properties)
234 |
235 | [pt-BR]
236 | @import url(pt-BR/viewer.properties)
237 |
238 | [pt-PT]
239 | @import url(pt-PT/viewer.properties)
240 |
241 | [rm]
242 | @import url(rm/viewer.properties)
243 |
244 | [ro]
245 | @import url(ro/viewer.properties)
246 |
247 | [ru]
248 | @import url(ru/viewer.properties)
249 |
250 | [sat]
251 | @import url(sat/viewer.properties)
252 |
253 | [sc]
254 | @import url(sc/viewer.properties)
255 |
256 | [scn]
257 | @import url(scn/viewer.properties)
258 |
259 | [sco]
260 | @import url(sco/viewer.properties)
261 |
262 | [si]
263 | @import url(si/viewer.properties)
264 |
265 | [sk]
266 | @import url(sk/viewer.properties)
267 |
268 | [skr]
269 | @import url(skr/viewer.properties)
270 |
271 | [sl]
272 | @import url(sl/viewer.properties)
273 |
274 | [son]
275 | @import url(son/viewer.properties)
276 |
277 | [sq]
278 | @import url(sq/viewer.properties)
279 |
280 | [sr]
281 | @import url(sr/viewer.properties)
282 |
283 | [sv-SE]
284 | @import url(sv-SE/viewer.properties)
285 |
286 | [szl]
287 | @import url(szl/viewer.properties)
288 |
289 | [ta]
290 | @import url(ta/viewer.properties)
291 |
292 | [te]
293 | @import url(te/viewer.properties)
294 |
295 | [tg]
296 | @import url(tg/viewer.properties)
297 |
298 | [th]
299 | @import url(th/viewer.properties)
300 |
301 | [tl]
302 | @import url(tl/viewer.properties)
303 |
304 | [tr]
305 | @import url(tr/viewer.properties)
306 |
307 | [trs]
308 | @import url(trs/viewer.properties)
309 |
310 | [uk]
311 | @import url(uk/viewer.properties)
312 |
313 | [ur]
314 | @import url(ur/viewer.properties)
315 |
316 | [uz]
317 | @import url(uz/viewer.properties)
318 |
319 | [vi]
320 | @import url(vi/viewer.properties)
321 |
322 | [wo]
323 | @import url(wo/viewer.properties)
324 |
325 | [xh]
326 | @import url(xh/viewer.properties)
327 |
328 | [zh-CN]
329 | @import url(zh-CN/viewer.properties)
330 |
331 | [zh-TW]
332 | @import url(zh-TW/viewer.properties)
333 |
334 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/locale/meh/viewer.properties:
--------------------------------------------------------------------------------
1 | # Copyright 2012 Mozilla Foundation
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | # Main toolbar buttons (tooltips and alt text for images)
16 | previous.title=Página yata
17 |
18 | # LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
19 | # LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
20 | # representing the total number of pages in the document.
21 | # LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
22 | # will be replaced by a number representing the currently visible page,
23 | # respectively a number representing the total number of pages in the document.
24 |
25 | zoom.title=Nasa´a ka´nu/Nasa´a luli
26 | open_file_label=Síne
27 |
28 | # Secondary toolbar and context menu
29 |
30 |
31 |
32 |
33 | # Document properties dialog box
34 | # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
35 | # will be replaced by the PDF file size in kilobytes, respectively in bytes.
36 | # LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
37 | # will be replaced by the PDF file size in megabytes, respectively in bytes.
38 | # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
39 | # will be replaced by the creation/modification date, and time, of the PDF file.
40 | document_properties_date_string={{date}}, {{time}}
41 | # LOCALIZATION NOTE (document_properties_page_size_dimension_string):
42 | # "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
43 | # the size, respectively their unit of measurement and orientation, of the (current) page.
44 | document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
45 | # LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
46 | # "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
47 | # the size, respectively their unit of measurement, name, and orientation, of the (current) page.
48 | document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
49 | # LOCALIZATION NOTE (document_properties_linearized): The linearization status of
50 | # the document; usually called "Fast Web View" in English locales of Adobe software.
51 | document_properties_linearized_yes=Kuvi
52 | document_properties_close=Nakasɨ
53 |
54 | # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
55 | # a numerical per cent value.
56 | print_progress_percent={{progress}}%
57 | print_progress_close=Nkuvi-ka
58 |
59 | # Tooltips and alt text for side panel toolbar buttons
60 | # (the _label strings are alt text for the buttons, the .title strings are
61 | # tooltips)
62 | findbar_label=Nánuku
63 |
64 | # Thumbnails panel item (tooltip and alt text for images)
65 | # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
66 | # number.
67 | # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
68 | # number.
69 |
70 | # Find panel button title and messages
71 | find_input.title=Nánuku
72 | # LOCALIZATION NOTE (find_match_count): The supported plural forms are
73 | # [one|two|few|many|other], with [other] as the default value.
74 | # "{{current}}" and "{{total}}" will be replaced by a number representing the
75 | # index of the currently active find result, respectively a number representing
76 | # the total number of matches in the document.
77 | find_match_count={[ plural(total) ]}
78 | # LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
79 | # [zero|one|two|few|many|other], with [other] as the default value.
80 | # "{{limit}}" will be replaced by a numerical value.
81 | find_match_count_limit={[ plural(limit) ]}
82 |
83 | # Error panel labels
84 | error_close=Nakasɨ
85 | # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
86 | # replaced by the PDF.JS version and build ID.
87 | error_version_info=PDF.js v{{version}} (build: {{build}})
88 | # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
89 | # english string describing the error.
90 | # LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
91 | # trace.
92 | # LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
93 | # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
94 |
95 | # Predefined zoom values
96 | # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
97 | # numerical scale value.
98 | page_scale_percent={{scale}}%
99 |
100 | # Loading indicator messages
101 |
102 | # LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
103 | # replaced by the modification date, and time, of the annotation.
104 | annotation_date_string={{date}}, {{time}}
105 |
106 | # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
107 | # "{{type}}" will be replaced with an annotation type from a list defined in
108 | # the PDF spec (32000-1:2008 Table 169 – Annotation types).
109 | # Some common types are e.g.: "Check", "Text", "Comment", "Note"
110 | password_cancel=Nkuvi-ka
111 |
112 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/locale/mk/viewer.properties:
--------------------------------------------------------------------------------
1 | # Copyright 2012 Mozilla Foundation
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | # Main toolbar buttons (tooltips and alt text for images)
16 | previous.title=Претходна страница
17 | previous_label=Претходна
18 | next.title=Следна страница
19 | next_label=Следна
20 |
21 | # LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
22 | # LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
23 | # representing the total number of pages in the document.
24 | # LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
25 | # will be replaced by a number representing the currently visible page,
26 | # respectively a number representing the total number of pages in the document.
27 |
28 | zoom_out.title=Намалување
29 | zoom_out_label=Намали
30 | zoom_in.title=Зголемување
31 | zoom_in_label=Зголеми
32 | zoom.title=Променување на големина
33 | presentation_mode.title=Премини во презентациски режим
34 | presentation_mode_label=Презентациски режим
35 | open_file.title=Отворање датотека
36 | open_file_label=Отвори
37 | print.title=Печатење
38 | print_label=Печати
39 | download.title=Преземање
40 | download_label=Преземи
41 | bookmark.title=Овој преглед (копирај или отвори во нов прозорец)
42 | bookmark_label=Овој преглед
43 |
44 | # Secondary toolbar and context menu
45 | tools.title=Алатки
46 |
47 |
48 |
49 |
50 | # Document properties dialog box
51 | # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
52 | # will be replaced by the PDF file size in kilobytes, respectively in bytes.
53 | # LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
54 | # will be replaced by the PDF file size in megabytes, respectively in bytes.
55 | # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
56 | # will be replaced by the creation/modification date, and time, of the PDF file.
57 | # LOCALIZATION NOTE (document_properties_page_size_dimension_string):
58 | # "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
59 | # the size, respectively their unit of measurement and orientation, of the (current) page.
60 | # LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
61 | # "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
62 | # the size, respectively their unit of measurement, name, and orientation, of the (current) page.
63 | # LOCALIZATION NOTE (document_properties_linearized): The linearization status of
64 | # the document; usually called "Fast Web View" in English locales of Adobe software.
65 |
66 | # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
67 | # a numerical per cent value.
68 | print_progress_close=Откажи
69 |
70 | # Tooltips and alt text for side panel toolbar buttons
71 | # (the _label strings are alt text for the buttons, the .title strings are
72 | # tooltips)
73 | toggle_sidebar.title=Вклучи странична лента
74 | toggle_sidebar_label=Вклучи странична лента
75 | thumbs.title=Прикажување на икони
76 | thumbs_label=Икони
77 | findbar.title=Најди во документот
78 | findbar_label=Најди
79 |
80 | # Thumbnails panel item (tooltip and alt text for images)
81 | # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
82 | # number.
83 | thumb_page_title=Страница {{page}}
84 | # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
85 | # number.
86 | thumb_page_canvas=Икона од страница {{page}}
87 |
88 | # Find panel button title and messages
89 | find_previous.title=Најди ја предходната појава на фразата
90 | find_previous_label=Претходно
91 | find_next.title=Најди ја следната појава на фразата
92 | find_next_label=Следно
93 | find_highlight=Означи сѐ
94 | find_match_case_label=Токму така
95 | find_reached_top=Барањето стигна до почетокот на документот и почнува од крајот
96 | find_reached_bottom=Барањето стигна до крајот на документот и почнува од почеток
97 | find_not_found=Фразата не е пронајдена
98 |
99 | # Error panel labels
100 | error_more_info=Повеќе информации
101 | error_less_info=Помалку информации
102 | error_close=Затвори
103 | # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
104 | # replaced by the PDF.JS version and build ID.
105 | error_version_info=PDF.js v{{version}} (build: {{build}})
106 | # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
107 | # english string describing the error.
108 | error_message=Порака: {{message}}
109 | # LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
110 | # trace.
111 | error_stack=Stack: {{stack}}
112 | # LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
113 | error_file=Датотека: {{file}}
114 | # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
115 | error_line=Линија: {{line}}
116 | rendering_error=Настана грешка при прикажувањето на страницата.
117 |
118 | # Predefined zoom values
119 | page_scale_width=Ширина на страница
120 | page_scale_fit=Цела страница
121 | page_scale_auto=Автоматска големина
122 | page_scale_actual=Вистинска големина
123 | # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
124 | # numerical scale value.
125 |
126 | loading_error=Настана грешка при вчитувањето на PDF-от.
127 | invalid_file_error=Невалидна или корумпирана PDF датотека.
128 | missing_file_error=Недостасува PDF документ.
129 |
130 | # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
131 | # "{{type}}" will be replaced with an annotation type from a list defined in
132 | # the PDF spec (32000-1:2008 Table 169 – Annotation types).
133 | # Some common types are e.g.: "Check", "Text", "Comment", "Note"
134 | password_cancel=Откажи
135 |
136 | printing_not_supported=Предупредување: Печатењето не е целосно поддржано во овој прелистувач.
137 | printing_not_ready=Предупредување: PDF документот не е целосно вчитан за печатење.
138 | web_fonts_disabled=Интернет фонтовите се оневозможени: не може да се користат вградените PDF фонтови.
139 |
140 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/locale/scn/viewer.properties:
--------------------------------------------------------------------------------
1 | # Copyright 2012 Mozilla Foundation
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | # Main toolbar buttons (tooltips and alt text for images)
16 |
17 | # LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
18 | # LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
19 | # representing the total number of pages in the document.
20 | # LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
21 | # will be replaced by a number representing the currently visible page,
22 | # respectively a number representing the total number of pages in the document.
23 |
24 | zoom_out.title=Cchiù nicu
25 | zoom_out_label=Cchiù nicu
26 | zoom_in.title=Cchiù granni
27 | zoom_in_label=Cchiù granni
28 |
29 | # Secondary toolbar and context menu
30 |
31 |
32 |
33 |
34 | # Document properties dialog box
35 | # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
36 | # will be replaced by the PDF file size in kilobytes, respectively in bytes.
37 | # LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
38 | # will be replaced by the PDF file size in megabytes, respectively in bytes.
39 | # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
40 | # will be replaced by the creation/modification date, and time, of the PDF file.
41 | # LOCALIZATION NOTE (document_properties_page_size_dimension_string):
42 | # "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
43 | # the size, respectively their unit of measurement and orientation, of the (current) page.
44 | # LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
45 | # "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
46 | # the size, respectively their unit of measurement, name, and orientation, of the (current) page.
47 | # LOCALIZATION NOTE (document_properties_linearized): The linearization status of
48 | # the document; usually called "Fast Web View" in English locales of Adobe software.
49 | document_properties_linearized=Vista web lesta:
50 | document_properties_linearized_yes=Se
51 |
52 | # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
53 | # a numerical per cent value.
54 | print_progress_close=Sfai
55 |
56 | # Tooltips and alt text for side panel toolbar buttons
57 | # (the _label strings are alt text for the buttons, the .title strings are
58 | # tooltips)
59 |
60 | # Thumbnails panel item (tooltip and alt text for images)
61 | # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
62 | # number.
63 | # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
64 | # number.
65 |
66 | # Find panel button title and messages
67 | # LOCALIZATION NOTE (find_match_count): The supported plural forms are
68 | # [one|two|few|many|other], with [other] as the default value.
69 | # "{{current}}" and "{{total}}" will be replaced by a number representing the
70 | # index of the currently active find result, respectively a number representing
71 | # the total number of matches in the document.
72 | # LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
73 | # [zero|one|two|few|many|other], with [other] as the default value.
74 | # "{{limit}}" will be replaced by a numerical value.
75 |
76 | # Error panel labels
77 | # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
78 | # replaced by the PDF.JS version and build ID.
79 | # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
80 | # english string describing the error.
81 | # LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
82 | # trace.
83 | # LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
84 | # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
85 |
86 | # Predefined zoom values
87 | page_scale_width=Larghizza dâ pàggina
88 | # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
89 | # numerical scale value.
90 |
91 | # Loading indicator messages
92 |
93 | # LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
94 | # replaced by the modification date, and time, of the annotation.
95 |
96 | # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
97 | # "{{type}}" will be replaced with an annotation type from a list defined in
98 | # the PDF spec (32000-1:2008 Table 169 – Annotation types).
99 | # Some common types are e.g.: "Check", "Text", "Comment", "Note"
100 | password_cancel=Sfai
101 |
102 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/locale/uz/viewer.properties:
--------------------------------------------------------------------------------
1 | # Copyright 2012 Mozilla Foundation
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | # Main toolbar buttons (tooltips and alt text for images)
16 | previous.title=Oldingi sahifa
17 | previous_label=Oldingi
18 | next.title=Keyingi sahifa
19 | next_label=Keyingi
20 |
21 | # LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
22 | # LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
23 | # representing the total number of pages in the document.
24 | of_pages=/{{pagesCount}}
25 | # LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
26 | # will be replaced by a number representing the currently visible page,
27 | # respectively a number representing the total number of pages in the document.
28 |
29 | zoom_out.title=Kichiklashtirish
30 | zoom_out_label=Kichiklashtirish
31 | zoom_in.title=Kattalashtirish
32 | zoom_in_label=Kattalashtirish
33 | zoom.title=Masshtab
34 | presentation_mode.title=Namoyish usuliga oʻtish
35 | presentation_mode_label=Namoyish usuli
36 | open_file.title=Faylni ochish
37 | open_file_label=Ochish
38 | print.title=Chop qilish
39 | print_label=Chop qilish
40 | download.title=Yuklab olish
41 | download_label=Yuklab olish
42 | bookmark.title=Joriy koʻrinish (nusxa oling yoki yangi oynada oching)
43 | bookmark_label=Joriy koʻrinish
44 |
45 | # Secondary toolbar and context menu
46 | tools.title=Vositalar
47 | tools_label=Vositalar
48 | first_page.title=Birinchi sahifaga oʻtish
49 | first_page_label=Birinchi sahifaga oʻtish
50 | last_page.title=Soʻnggi sahifaga oʻtish
51 | last_page_label=Soʻnggi sahifaga oʻtish
52 | page_rotate_cw.title=Soat yoʻnalishi boʻyicha burish
53 | page_rotate_cw_label=Soat yoʻnalishi boʻyicha burish
54 | page_rotate_ccw.title=Soat yoʻnalishiga qarshi burish
55 | page_rotate_ccw_label=Soat yoʻnalishiga qarshi burish
56 |
57 |
58 | # Document properties dialog box
59 | document_properties.title=Hujjat xossalari
60 | document_properties_label=Hujjat xossalari
61 | document_properties_file_name=Fayl nomi:
62 | document_properties_file_size=Fayl hajmi:
63 | # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
64 | # will be replaced by the PDF file size in kilobytes, respectively in bytes.
65 | document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
66 | # LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
67 | # will be replaced by the PDF file size in megabytes, respectively in bytes.
68 | document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
69 | document_properties_title=Nomi:
70 | document_properties_author=Muallifi:
71 | document_properties_subject=Mavzusi:
72 | document_properties_keywords=Kalit so‘zlar
73 | document_properties_creation_date=Yaratilgan sanasi:
74 | document_properties_modification_date=O‘zgartirilgan sanasi
75 | # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
76 | # will be replaced by the creation/modification date, and time, of the PDF file.
77 | document_properties_date_string={{date}}, {{time}}
78 | document_properties_creator=Yaratuvchi:
79 | document_properties_producer=PDF ishlab chiqaruvchi:
80 | document_properties_version=PDF versiyasi:
81 | document_properties_page_count=Sahifa soni:
82 | document_properties_close=Yopish
83 |
84 | # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
85 | # a numerical per cent value.
86 |
87 | # Tooltips and alt text for side panel toolbar buttons
88 | # (the _label strings are alt text for the buttons, the .title strings are
89 | # tooltips)
90 | toggle_sidebar.title=Yon panelni yoqib/oʻchirib qoʻyish
91 | toggle_sidebar_label=Yon panelni yoqib/oʻchirib qoʻyish
92 | document_outline_label=Hujjat tuzilishi
93 | attachments.title=Ilovalarni ko‘rsatish
94 | attachments_label=Ilovalar
95 | thumbs.title=Nishonchalarni koʻrsatish
96 | thumbs_label=Nishoncha
97 | findbar.title=Hujjat ichidan topish
98 |
99 | # Thumbnails panel item (tooltip and alt text for images)
100 | # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
101 | # number.
102 | thumb_page_title={{page}} sahifa
103 | # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
104 | # number.
105 | thumb_page_canvas={{page}} sahifa nishonchasi
106 |
107 | # Find panel button title and messages
108 | find_previous.title=Soʻzlardagi oldingi hodisani topish
109 | find_previous_label=Oldingi
110 | find_next.title=Iboradagi keyingi hodisani topish
111 | find_next_label=Keyingi
112 | find_highlight=Barchasini ajratib koʻrsatish
113 | find_match_case_label=Katta-kichik harflarni farqlash
114 | find_reached_top=Hujjatning boshigacha yetib keldik, pastdan davom ettiriladi
115 | find_reached_bottom=Hujjatning oxiriga yetib kelindi, yuqoridan davom ettirladi
116 | find_not_found=Soʻzlar topilmadi
117 |
118 | # Error panel labels
119 | error_more_info=Koʻproq ma`lumot
120 | error_less_info=Kamroq ma`lumot
121 | error_close=Yopish
122 | # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
123 | # replaced by the PDF.JS version and build ID.
124 | error_version_info=PDF.js v{{version}} (build: {{build}})
125 | # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
126 | # english string describing the error.
127 | error_message=Xabar: {{message}}
128 | # LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
129 | # trace.
130 | error_stack=Toʻplam: {{stack}}
131 | # LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
132 | error_file=Fayl: {{file}}
133 | # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
134 | error_line=Satr: {{line}}
135 | rendering_error=Sahifa renderlanayotganda xato yuz berdi.
136 |
137 | # Predefined zoom values
138 | page_scale_width=Sahifa eni
139 | page_scale_fit=Sahifani moslashtirish
140 | page_scale_auto=Avtomatik masshtab
141 | page_scale_actual=Haqiqiy hajmi
142 | # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
143 | # numerical scale value.
144 | page_scale_percent={{scale}}%
145 |
146 | loading_error=PDF yuklanayotganda xato yuz berdi.
147 | invalid_file_error=Xato yoki buzuq PDF fayli.
148 | missing_file_error=PDF fayl kerak.
149 | unexpected_response_error=Kutilmagan server javobi.
150 |
151 | # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
152 | # "{{type}}" will be replaced with an annotation type from a list defined in
153 | # the PDF spec (32000-1:2008 Table 169 – Annotation types).
154 | # Some common types are e.g.: "Check", "Text", "Comment", "Note"
155 | text_annotation_type.alt=[{{type}} Annotation]
156 | password_label=PDF faylni ochish uchun parolni kiriting.
157 | password_invalid=Parol - notoʻgʻri. Qaytadan urinib koʻring.
158 | password_ok=OK
159 |
160 | printing_not_supported=Diqqat: chop qilish bruzer tomonidan toʻliq qoʻllab-quvvatlanmaydi.
161 | printing_not_ready=Diqqat: PDF fayl chop qilish uchun toʻliq yuklanmadi.
162 | web_fonts_disabled=Veb shriftlar oʻchirilgan: ichki PDF shriftlardan foydalanib boʻlmmaydi.
163 |
164 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/locale/wo/viewer.properties:
--------------------------------------------------------------------------------
1 | # Copyright 2012 Mozilla Foundation
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | # Main toolbar buttons (tooltips and alt text for images)
16 | previous.title=Xët wi jiitu
17 | previous_label=Bi jiitu
18 | next.title=Xët wi ci topp
19 | next_label=Bi ci topp
20 |
21 | # LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
22 | # LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
23 | # representing the total number of pages in the document.
24 | # LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
25 | # will be replaced by a number representing the currently visible page,
26 | # respectively a number representing the total number of pages in the document.
27 |
28 | zoom_out.title=Wàññi
29 | zoom_out_label=Wàññi
30 | zoom_in.title=Yaatal
31 | zoom_in_label=Yaatal
32 | zoom.title=Yambalaŋ
33 | presentation_mode.title=Wañarñil ci anamu wone
34 | presentation_mode_label=Anamu Wone
35 | open_file.title=Ubbi benn dencukaay
36 | open_file_label=Ubbi
37 | print.title=Móol
38 | print_label=Móol
39 | download.title=Yeb yi
40 | download_label=Yeb yi
41 | bookmark.title=Wone bi taxaw (duppi walla ubbi palanteer bu bees)
42 | bookmark_label=Wone bi feeñ
43 |
44 | # Secondary toolbar and context menu
45 |
46 |
47 | # Document properties dialog box
48 | # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
49 | # will be replaced by the PDF file size in kilobytes, respectively in bytes.
50 | # LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
51 | # will be replaced by the PDF file size in megabytes, respectively in bytes.
52 | document_properties_title=Bopp:
53 | # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
54 | # will be replaced by the creation/modification date, and time, of the PDF file.
55 |
56 | # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
57 | # a numerical per cent value.
58 |
59 | # Tooltips and alt text for side panel toolbar buttons
60 | # (the _label strings are alt text for the buttons, the .title strings are
61 | # tooltips)
62 | thumbs.title=Wone nataal yu ndaw yi
63 | thumbs_label=Nataal yu ndaw yi
64 | findbar.title=Gis ci biir jukki bi
65 | findbar_label=Wut
66 |
67 | # Thumbnails panel item (tooltip and alt text for images)
68 | # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
69 | # number.
70 | thumb_page_title=Xët {{page}}
71 | # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
72 | # number.
73 | thumb_page_canvas=Wiñet bu xët {{page}}
74 |
75 | # Find panel button title and messages
76 | find_previous.title=Seet beneen kaddu bu ni mel te jiitu
77 | find_previous_label=Bi jiitu
78 | find_next.title=Seet beneen kaddu bu ni mel
79 | find_next_label=Bi ci topp
80 | find_highlight=Melaxal lépp
81 | find_match_case_label=Sàmm jëmmalin wi
82 | find_reached_top=Jot nañu ndorteel xët wi, kontine dale ko ci suuf
83 | find_reached_bottom=Jot nañu jeexitalu xët wi, kontine ci ndorte
84 | find_not_found=Gisiñu kaddu gi
85 |
86 | # Error panel labels
87 | error_more_info=Xibaar yu gën bari
88 | error_less_info=Xibaar yu gën bari
89 | # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
90 | # replaced by the PDF.JS version and build ID.
91 | # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
92 | # english string describing the error.
93 | error_message=Bataaxal: {{message}}
94 | # LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
95 | # trace.
96 | error_stack=Juug: {{stack}}
97 | # LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
98 | error_file=Dencukaay: {{file}}
99 | # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
100 | error_line=Rëdd : {{line}}
101 | rendering_error=Am njumte bu am bi xët bi di wonewu.
102 |
103 | # Predefined zoom values
104 | page_scale_width=Yaatuwaay bu mët
105 | page_scale_fit=Xët lëmm
106 | page_scale_auto=Yambalaŋ ci saa si
107 | page_scale_actual=Dayo bi am
108 | # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
109 | # numerical scale value.
110 |
111 | loading_error=Am na njumte ci yebum dencukaay PDF bi.
112 | invalid_file_error=Dencukaay PDF bi baaxul walla mu sankar.
113 |
114 | # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
115 | # "{{type}}" will be replaced with an annotation type from a list defined in
116 | # the PDF spec (32000-1:2008 Table 169 – Annotation types).
117 | # Some common types are e.g.: "Check", "Text", "Comment", "Note"
118 | text_annotation_type.alt=[Karmat {{type}}]
119 | password_ok=OK
120 | password_cancel=Neenal
121 |
122 | printing_not_supported=Artu: Joowkat bii nanguwul lool mool.
123 |
124 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitDingbats.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitDingbats.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitFixed.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitFixed.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitFixedBold.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitFixedBold.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitSans.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitSans.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitSansBold.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitSansBold.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitSansBoldItalic.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitSansBoldItalic.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitSansItalic.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitSansItalic.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitSerif.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitSerif.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitSerifBold.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitSerifBold.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/FoxitSymbol.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/FoxitSymbol.pfb
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/LICENSE_FOXIT:
--------------------------------------------------------------------------------
1 | // Copyright 2014 PDFium Authors. All rights reserved.
2 | //
3 | // Redistribution and use in source and binary forms, with or without
4 | // modification, are permitted provided that the following conditions are
5 | // met:
6 | //
7 | // * Redistributions of source code must retain the above copyright
8 | // notice, this list of conditions and the following disclaimer.
9 | // * Redistributions in binary form must reproduce the above
10 | // copyright notice, this list of conditions and the following disclaimer
11 | // in the documentation and/or other materials provided with the
12 | // distribution.
13 | // * Neither the name of Google Inc. nor the names of its
14 | // contributors may be used to endorse or promote products derived from
15 | // this software without specific prior written permission.
16 | //
17 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/LICENSE_LIBERATION:
--------------------------------------------------------------------------------
1 | Digitized data copyright (c) 2010 Google Corporation
2 | with Reserved Font Arimo, Tinos and Cousine.
3 | Copyright (c) 2012 Red Hat, Inc.
4 | with Reserved Font Name Liberation.
5 |
6 | This Font Software is licensed under the SIL Open Font License,
7 | Version 1.1.
8 |
9 | This license is copied below, and is also available with a FAQ at:
10 | http://scripts.sil.org/OFL
11 |
12 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
13 |
14 | PREAMBLE The goals of the Open Font License (OFL) are to stimulate
15 | worldwide development of collaborative font projects, to support the font
16 | creation efforts of academic and linguistic communities, and to provide
17 | a free and open framework in which fonts may be shared and improved in
18 | partnership with others.
19 |
20 | The OFL allows the licensed fonts to be used, studied, modified and
21 | redistributed freely as long as they are not sold by themselves.
22 | The fonts, including any derivative works, can be bundled, embedded,
23 | redistributed and/or sold with any software provided that any reserved
24 | names are not used by derivative works. The fonts and derivatives,
25 | however, cannot be released under any other type of license. The
26 | requirement for fonts to remain under this license does not apply to
27 | any document created using the fonts or their derivatives.
28 |
29 |
30 |
31 | DEFINITIONS
32 | "Font Software" refers to the set of files released by the Copyright
33 | Holder(s) under this license and clearly marked as such.
34 | This may include source files, build scripts and documentation.
35 |
36 | "Reserved Font Name" refers to any names specified as such after the
37 | copyright statement(s).
38 |
39 | "Original Version" refers to the collection of Font Software components
40 | as distributed by the Copyright Holder(s).
41 |
42 | "Modified Version" refers to any derivative made by adding to, deleting,
43 | or substituting ? in part or in whole ?
44 | any of the components of the Original Version, by changing formats or
45 | by porting the Font Software to a new environment.
46 |
47 | "Author" refers to any designer, engineer, programmer, technical writer
48 | or other person who contributed to the Font Software.
49 |
50 |
51 | PERMISSION & CONDITIONS
52 |
53 | Permission is hereby granted, free of charge, to any person obtaining a
54 | copy of the Font Software, to use, study, copy, merge, embed, modify,
55 | redistribute, and sell modified and unmodified copies of the Font
56 | Software, subject to the following conditions:
57 |
58 | 1) Neither the Font Software nor any of its individual components,in
59 | Original or Modified Versions, may be sold by itself.
60 |
61 | 2) Original or Modified Versions of the Font Software may be bundled,
62 | redistributed and/or sold with any software, provided that each copy
63 | contains the above copyright notice and this license. These can be
64 | included either as stand-alone text files, human-readable headers or
65 | in the appropriate machine-readable metadata fields within text or
66 | binary files as long as those fields can be easily viewed by the user.
67 |
68 | 3) No Modified Version of the Font Software may use the Reserved Font
69 | Name(s) unless explicit written permission is granted by the
70 | corresponding Copyright Holder. This restriction only applies to the
71 | primary font name as presented to the users.
72 |
73 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
74 | Software shall not be used to promote, endorse or advertise any
75 | Modified Version, except to acknowledge the contribution(s) of the
76 | Copyright Holder(s) and the Author(s) or with their explicit written
77 | permission.
78 |
79 | 5) The Font Software, modified or unmodified, in part or in whole, must
80 | be distributed entirely under this license, and must not be distributed
81 | under any other license. The requirement for fonts to remain under
82 | this license does not apply to any document created using the Font
83 | Software.
84 |
85 |
86 |
87 | TERMINATION
88 | This license becomes null and void if any of the above conditions are not met.
89 |
90 |
91 |
92 | DISCLAIMER
93 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
94 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
95 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
96 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
97 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
98 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
99 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
100 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
101 | DEALINGS IN THE FONT SOFTWARE.
102 |
103 |
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf
--------------------------------------------------------------------------------
/client/public/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/client/public/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf
--------------------------------------------------------------------------------
/client/public/spinner.css:
--------------------------------------------------------------------------------
1 | .spinner {
2 | margin: 100px auto;
3 | width: 50px;
4 | height: 60px;
5 | text-align: center;
6 | font-size: 10px;
7 | }
8 |
9 | .spinner > div {
10 | background-color: #FE3C71;
11 | height: 100%;
12 | width: 6px;
13 | display: inline-block;
14 | -webkit-animation: stretchDelay 1.2s infinite ease-in-out;
15 | animation: stretchDelay 1.2s infinite ease-in-out;
16 | }
17 |
18 | .spinner .rect2 {
19 | -webkit-animation-delay: -1.1s;
20 | animation-delay: -1.1s;
21 | }
22 |
23 | .spinner .rect3 {
24 | -webkit-animation-delay: -1.0s;
25 | animation-delay: -1.0s;
26 | }
27 |
28 | .spinner .rect4 {
29 | -webkit-animation-delay: -0.9s;
30 | animation-delay: -0.9s;
31 | }
32 |
33 | .spinner .rect5 {
34 | -webkit-animation-delay: -0.8s;
35 | animation-delay: -0.8s;
36 | }
37 |
38 | @-webkit-keyframes stretchDelay {
39 | 0%, 40%, 100% {
40 | -webkit-transform: scaleY(0.4)
41 | }
42 | 20% {
43 | -webkit-transform: scaleY(1.0)
44 | }
45 | }
46 |
47 | @keyframes stretchDelay {
48 | 0%, 40%, 100% {
49 | transform: scaleY(0.4);
50 | -webkit-transform: scaleY(0.4);
51 | }
52 | 20% {
53 | transform: scaleY(1.0);
54 | -webkit-transform: scaleY(1.0);
55 | }
56 | }
--------------------------------------------------------------------------------
/client/src/api.js:
--------------------------------------------------------------------------------
1 | function err(message) {
2 | ElMessage.error(message)
3 | }
4 |
5 | function myFetch(input, init) {
6 | return new Promise((resolve, reject) => {
7 | fetch(input, init).then(res => {
8 | json = resolve(res.json())
9 | if (json.code != 0) {
10 | err(json.message)
11 | reject(new Error(json.message))
12 | } else {
13 | resolve(json)
14 | }
15 | }).catch(err => {
16 | reject(err)
17 | })
18 | })
19 | }
20 |
21 | export async function fetchDcoList() {
22 | return new Promise((resolve, reject) => {
23 | myFetch("/api/my_docs").then(res => resolve(res)).catch(e => reject(e))
24 | })
25 | }
26 |
27 | export async function fetchQuery(doc_id, query) {
28 | return new Promise((resolve, reject) => {
29 | myFetch("/api/ask/" + doc_id + "?question=" + query).then(res => resolve(res)).catch(e => reject(e))
30 | })
31 | }
32 |
33 | export async function fetchMsg(doc_id) {
34 | return new Promise((resolve, reject) => {
35 | myFetch("/api/msg/" + doc_id).then(res => resolve(res)).catch(e => reject(e))
36 | })
37 | }
38 |
39 | export async function fetchDelDoc(doc_id) {
40 | return new Promise((resolve, reject) => {
41 | myFetch("/api/del/" + doc_id, { method: "DELETE" }).then(res => resolve(res)).catch(e => reject(e))
42 | })
43 | }
44 |
45 | export async function fetchAddLink(link) {
46 | return new Promise((resolve, reject) => {
47 | myFetch("/api/add_link", {
48 | method: "POST",
49 | body: JSON.stringify({ link: link }),
50 | headers: {
51 | "Content-Type": "application/json",
52 | }
53 | }).then(res => resolve(res)).catch(e => reject(e))
54 | })
55 | }
--------------------------------------------------------------------------------
/client/src/assets/loading.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/src/assets/send.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import ElementPlus from 'element-plus'
3 | import 'normalize.css/normalize.css'
4 | import 'element-plus/dist/index.css'
5 | import './style.css'
6 | import 'element-plus/theme-chalk/dark/css-vars.css'
7 | import App from './App.vue'
8 |
9 | const app = createApp(App)
10 | app.use(ElementPlus)
11 | app.mount('#app')
12 |
--------------------------------------------------------------------------------
/client/src/style.css:
--------------------------------------------------------------------------------
1 | html,
2 | body {
3 | height: 100%;
4 | padding: 0;
5 | margin: 0;
6 | }
7 |
8 | #app {
9 | height: 100%;
10 | padding: 0;
11 | margin: 0;
12 | }
13 |
14 | ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
15 | color: #A8ABB2;
16 | opacity: 1; /* Firefox */
17 | }
18 |
19 | :-ms-input-placeholder { /* Internet Explorer 10-11 */
20 | color: #A8ABB2;
21 | }
22 |
23 | ::-ms-input-placeholder { /* Microsoft Edge */
24 | color: #A8ABB2;
25 | }
--------------------------------------------------------------------------------
/client/src/utils.js:
--------------------------------------------------------------------------------
1 | export function formatByteSize(byteSize) {
2 | if (byteSize == 0) {
3 | return '-'
4 | }
5 | const kilobyte = 1024;
6 | const megabyte = kilobyte * 1024;
7 |
8 | if (byteSize < kilobyte) {
9 | return byteSize + ' B';
10 | } else if (byteSize < megabyte) {
11 | return (byteSize / kilobyte).toFixed(1) + ' KB';
12 | } else {
13 | return (byteSize / megabyte).toFixed(1) + ' MB';
14 | }
15 | }
16 |
17 | export function docState(state) {
18 | switch (state) {
19 | case 0:
20 | return ''
21 | case 1:
22 | return 'doing'
23 | case 2:
24 | return 'done'
25 | }
26 | }
27 |
28 | export function nameWithoutExt(name) {
29 | return name.slice(0, name.lastIndexOf('.'))
30 | }
31 |
32 | export function docType(doc) {
33 | if (doc['doc_type'] == "application/pdf") {
34 | return 'pdf'
35 | }
36 | if (doc['doc_type'] == "application/epub+zip") {
37 | return 'epub'
38 | }
39 | if (doc['doc_type'] == "text/plain") {
40 | return 'txt'
41 | }
42 | if (doc['doc_type'] == "text/markdown") {
43 | return 'md'
44 | }
45 | if (doc['doc_type'] == "application/vnd.openxmlformats-officedocument.wordprocessingml.document") {
46 | return 'docx'
47 | }
48 | if (doc['doc_type'] == "web") {
49 | return 'web'
50 | }
51 | }
52 |
53 | export function docUrl(doc) {
54 | let base = location.origin
55 | if (import.meta.env.DEV) {
56 | base = `http://${location.hostname}:8000`
57 | }
58 |
59 | if (doc['doc_type'] == "application/pdf") {
60 | return "pdfjs/web/viewer.html?file=" + decodeURIComponent(`${base}/static/${doc.doc_id}/${doc.doc_name}`)
61 | }
62 | if (doc['doc_type'] == "application/epub+zip") {
63 | return "epub/index.html?url=" + decodeURIComponent(`${base}/static/${doc.doc_id}/${doc.doc_name}`)
64 | }
65 | if (doc['doc_type'] == "text/markdown") {
66 | return "md/index.html?url=" + decodeURIComponent(`${base}/static/${doc.doc_id}/${doc.doc_name}`)
67 | }
68 | if (doc['doc_type'] == "text/plain") {
69 | return `${base}/static/${doc.doc_id}/${doc.doc_name}`
70 | }
71 | if (doc['doc_type'] == "application/vnd.openxmlformats-officedocument.wordprocessingml.document") {
72 | return "docx/index.html?url=" + decodeURIComponent(`${base}/static/${doc.doc_id}/${doc.doc_name}`)
73 | }
74 | if (doc['doc_type'] == "web") {
75 | return doc.doc_name
76 | }
77 |
78 | }
79 |
80 | export function showLastMessage(after) {
81 | setTimeout(() => {
82 | const element = document.getElementsByClassName('message-item');
83 | element.length > 0 && element[element.length - 1].scrollIntoView({
84 | block: 'center', // 值有start,center,end,nearest,当前显示在视图区域中间
85 | behavior: 'smooth' // 值有auto,instant,smooth,缓动动画(当前是慢速的)
86 | })
87 | }, after || 100)
88 | }
--------------------------------------------------------------------------------
/client/src/views/AddLink.vue:
--------------------------------------------------------------------------------
1 |
2 | 链接
3 |
4 |
5 |
26 |
--------------------------------------------------------------------------------
/client/src/views/Upload.vue:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | 文件
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/client/start:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | pnpm i
4 | pnpm dev
--------------------------------------------------------------------------------
/client/vite.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import vue from '@vitejs/plugin-vue'
3 | import svgLoader from 'vite-svg-loader'
4 | import { resolve } from 'path'
5 | // https://vitejs.dev/config/
6 | export default defineConfig({
7 | plugins: [vue(), svgLoader()],
8 | resolve: {
9 | alias: {
10 | '@': resolve('src'),
11 | }
12 | },
13 | server: {
14 | proxy: {
15 | "/api": {
16 | target: "http://127.0.0.1:8000",
17 | changeOrigin: true,
18 | rewrite: path => path.replace(RegExp("/api"), ''),
19 | }
20 | }
21 | }
22 | })
23 |
--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3.1'
2 | services:
3 | backend:
4 | container_name: chatdoc-backend
5 | image: python:3.9-slim
6 | command:
7 | - /bin/sh
8 | - -c
9 | - |
10 | pip install --upgrade pip
11 | cd /data
12 | ./start '{OPEN_AI_KEY}'
13 | volumes:
14 | - ./server:/data
15 | frontend:
16 | image: node
17 | container_name: chatdoc-frontend
18 | ports:
19 | - '5173:5173'
20 | links:
21 | - backend
22 | volumes:
23 | - ./client:/data
24 | command:
25 | - /bin/sh
26 | - -c
27 | - |
28 | npm install -g pnpm
29 | cd /data
30 | ./start
--------------------------------------------------------------------------------
/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/preview.png
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # ChatDoc
2 |
3 | 一个使用 `openai` 与文档对话的例子, 目前支持的文档类型 `.pdf`, `.epub`, `.md`, `.txt`, `.docx`, `web`
4 |
5 | 
6 |
7 | ## 启动后端
8 |
9 | ```shell
10 | # my local python version 3.9.7
11 | cd server
12 | ./start {OPEN_AI_KEY}
13 | ```
14 |
15 | ## 启动前端
16 |
17 | ```shell
18 | # my local node version v16.11.0
19 | cd client
20 | ./start
21 | ```
22 |
23 | ## Docker
24 |
25 | ```shell
26 | # 请先替换 docker-compose.yml 中的 OPEN_AI_KEY
27 | docker-compose up
28 | ```
29 |
--------------------------------------------------------------------------------
/server/consts.py:
--------------------------------------------------------------------------------
1 | BASE_DIR = "data"
--------------------------------------------------------------------------------
/server/database.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/daodao97/chatdoc/5da9cff137cdc67f27e8209bf6ec96c50c3c8d0e/server/database.db
--------------------------------------------------------------------------------
/server/db_docs.py:
--------------------------------------------------------------------------------
1 | import sqlite3
2 | import calendar
3 | import time
4 |
5 | class Docs:
6 |
7 | def __init__(self, uid: int, doc_id: str, doc_name: str, doc_type: str, size : int = 0, state : int = 0, create_at: int = 0, update_at: int = 0, id : int = 0):
8 | self.uid = uid
9 | self.doc_id = doc_id
10 | self.doc_name = doc_name
11 | self.doc_type = doc_type
12 | self.state = state
13 | self.size = size
14 | self.create_at = create_at
15 | self.update_at = update_at
16 |
17 | ts = calendar.timegm(time.gmtime())
18 | if self.create_at == 0:
19 | self.create_at = ts
20 | if self.update_at == 0:
21 | self.update_at = ts
22 |
23 | self.__conn = sqlite3.connect('database.db')
24 | self.__cursor = self.__conn.cursor()
25 |
26 | # 将对象插入到数据库中
27 | def insert(self):
28 | docs = self.get_by_doc_id(self.doc_id)
29 | if docs != None :
30 | return
31 | print('size', self.size)
32 | self.__cursor.execute('INSERT INTO docs (uid, doc_id, doc_name, doc_type, size, state, create_at, update_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?)',
33 | (self.uid, self.doc_id, self.doc_name, self.doc_type, self.size, self.state, self.create_at, self.update_at))
34 | self.__conn.commit()
35 |
36 | # 从数据库中删除对象
37 | def delete(self):
38 | self.__cursor.execute('DELETE FROM docs WHERE doc_id = ?', (self.doc_id,))
39 | self.__conn.commit()
40 |
41 | # 更新对象在数据库中的信息
42 | def update(self):
43 | self.__cursor.execute('UPDATE docs SET uid = ?, doc_name = ?, doc_type = ?, size = ?, state = ?, create_at = ?, update_at = ? WHERE doc_id = ?',
44 | (self.uid, self.doc_name, self.doc_type, self.size, self.state, self.create_at, self.update_at, self.doc_id))
45 | self.__conn.commit()
46 |
47 | # 从数据库中获取所有对象
48 | @staticmethod
49 | def get_all():
50 | conn = sqlite3.connect('database.db')
51 | cur = conn.cursor()
52 | cur.execute('SELECT id,uid,doc_id,doc_name,doc_type,size,state FROM docs')
53 | rows = cur.fetchall()
54 | cur.close()
55 | conn.close()
56 | return [{"id": row[0], "uid": row[1], "doc_id": row[2], "doc_name": row[3], "doc_type": row[4], "size": row[5], "state": row[6]} for row in rows]
57 |
58 | # 从数据库中获取指定doc_id的对象
59 | @staticmethod
60 | def get_by_doc_id(doc_id):
61 | conn = sqlite3.connect('database.db')
62 | cur = conn.cursor()
63 | cur.execute('SELECT id,uid,doc_id,doc_name,doc_type,size,state FROM docs WHERE doc_id = ?', (doc_id,))
64 | row = cur.fetchone()
65 | cur.close()
66 | conn.close()
67 | if row is not None:
68 | return {"id": row[0], "uid": row[1], "doc_id": row[2], "doc_name": row[3], "doc_type": row[4],"size": row[5], "state": row[6]}
69 | else:
70 | return None
71 |
72 | @staticmethod
73 | def del_by_doc_id(doc_id):
74 | conn = sqlite3.connect('database.db')
75 | cur = conn.cursor()
76 | cur.execute('DELETE FROM docs WHERE doc_id = ?', (doc_id,))
77 | cur.close()
78 | conn.commit()
79 | conn.close()
80 |
81 | def __str__(self):
82 | return f"Doc(uid={self.uid}, doc_id='{self.doc_id}', doc_name='{self.doc_name}', doc_type='{self.doc_type}', state={self.state}, create_at={self.create_at}, update_at={self.update_at})"
83 |
--------------------------------------------------------------------------------
/server/db_init.py:
--------------------------------------------------------------------------------
1 | import sqlite3
2 | import os
3 |
4 | os.remove("database.db")
5 |
6 | table_docs = """
7 | create table if not exists docs
8 | (
9 | id integer primary key autoincrement,
10 | uid integer default 0 not null,
11 | doc_id text default '' not null unique,
12 | doc_name text default '' not null,
13 | doc_type text default '' not null,
14 | state integer default 0 not null, -- 1 解析文本成功, 2 构建所有成功
15 | size integer default 0 not null,
16 | create_at integer default 0 not null,
17 | update_at integer default 0 not null
18 | );
19 | """
20 |
21 | table_msg = """
22 | create table if not exists messages
23 | (
24 | id integer primary key autoincrement,
25 | uid integer default 0 not null,
26 | doc_id text default '' not null,
27 | role text default '' not null,
28 | content text default '' not null,
29 | create_at integer not null
30 | );
31 | """
32 |
33 | con = sqlite3.connect("database.db")
34 |
35 | cur = con.cursor()
36 |
37 | cur.execute(table_docs)
38 | cur.execute(table_msg)
39 |
40 | res = cur.execute("SELECT name FROM sqlite_master")
41 |
42 | result = res.fetchall()
43 |
44 | print(result)
--------------------------------------------------------------------------------
/server/db_msg.py:
--------------------------------------------------------------------------------
1 | import sqlite3
2 | import calendar
3 | import time
4 | import json
5 |
6 | class Msg:
7 |
8 | def __init__(self, uid: int, doc_id: str, role: str, content, create_at: int = 0):
9 | self.uid = uid
10 | self.doc_id = doc_id
11 | self.role = role
12 | if role == 'chatdoc':
13 | self.content = content.response
14 | else:
15 | self.content = content
16 | self.create_at = create_at
17 |
18 | ts = calendar.timegm(time.gmtime())
19 | if self.create_at == 0:
20 | self.create_at = ts
21 |
22 | self.__conn = sqlite3.connect('database.db')
23 | self.__cursor = self.__conn.cursor()
24 |
25 | # 将对象插入到数据库中
26 | def insert(self):
27 | self.__cursor.execute('INSERT INTO messages (uid, doc_id, role, content, create_at) VALUES (?, ?, ?, ?, ?)',
28 | (self.uid, self.doc_id, self.role, self.content, self.create_at))
29 | self.__conn.commit()
30 |
31 | # 从数据库中删除对象
32 | def delete(self):
33 | self.__cursor.execute(
34 | 'DELETE FROM messages WHERE doc_id = ?', (self.doc_id,))
35 | self.__conn.commit()
36 |
37 | # 从数据库中获取指定doc_id的对象
38 | @staticmethod
39 | def get_by_doc_id(doc_id, uid):
40 | conn = sqlite3.connect('database.db')
41 | cur = conn.cursor()
42 | cur.execute(
43 | 'SELECT uid, doc_id, role, content, create_at FROM messages WHERE doc_id = ? and uid = ?', (doc_id, uid))
44 | rows = cur.fetchall()
45 | cur.close()
46 | conn.close()
47 | if rows is not None:
48 | return [{"uid": row[0], "doc_id": row[1], "role": row[2], "content": row[3] if row[2] == 'user' else row[3]} for row in rows]
49 | else:
50 | return None
51 |
--------------------------------------------------------------------------------
/server/doc_util.py:
--------------------------------------------------------------------------------
1 | from PyPDF2 import PdfReader
2 | import sys
3 | import os
4 | import logging
5 | from llama_index import SimpleDirectoryReader, GPTSimpleVectorIndex, QuestionAnswerPrompt, QueryMode, LLMPredictor
6 | from consts import BASE_DIR
7 | import ebooklib
8 | from ebooklib import epub
9 | from epub2txt import epub2txt
10 | from langchain.chat_models import ChatOpenAI
11 | from llama_index import download_loader
12 | import docx2txt
13 |
14 | logging.basicConfig(stream=sys.stdout, level=logging.INFO)
15 | logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
16 |
17 | llm_predictor = LLMPredictor(llm=ChatOpenAI(
18 | temperature=0.2, model_name="gpt-3.5-turbo"))
19 | CJKPDFReader = download_loader("CJKPDFReader")
20 | SimpleWebPageReader = download_loader("SimpleWebPageReader")
21 |
22 | QUESTION_ANSWER_PROMPT_TMPL_2 = """
23 | You are an AI assistant providing helpful advice. You are given the following extracted parts of a long document and a question. Provide a conversational answer based on the context provided.
24 | If you can't find the answer in the context below, just say "Hmm, I'm not sure." Don't try to make up an answer.
25 | If the question is not related to the context, politely respond that you are tuned to only answer questions that are related to the context.
26 | Context information is below.
27 | =========
28 | {context_str}
29 | =========
30 | {query_str}
31 | """
32 |
33 | QA_PROMPT_TMPL = (
34 | "Context information is below. \n"
35 | "---------------------\n"
36 | "{context_str}"
37 | "\n---------------------\n"
38 | "{query_str}\n"
39 | )
40 |
41 |
42 | class Doc:
43 | def __init__(
44 | self,
45 | doc_id: str,
46 | filename: str = ""
47 | ) -> None:
48 | self.dir_name = doc_id
49 |
50 | full_dir = os.path.join(BASE_DIR, self.dir_name)
51 | if not os.path.exists(full_dir):
52 | os.makedirs(full_dir)
53 |
54 | self.filename = filename
55 | self.file_path = os.path.join(BASE_DIR, self.dir_name, filename)
56 | self.data_file = os.path.join(BASE_DIR, self.dir_name, "data.txt")
57 | self.index_file = os.path.join(BASE_DIR, self.dir_name, "index.json")
58 |
59 | async def save(self, content: bytes):
60 | with open(self.file_path, "wb") as f:
61 | f.write(content)
62 |
63 | def build_txt(self, doc_type: str):
64 | if doc_type == 'application/epub+zip':
65 | self.extract_epub()
66 | if doc_type == 'application/pdf':
67 | self.extract_pdf()
68 | if doc_type == 'text/plain' or doc_type == 'text/markdown':
69 | self.data_file = self.file_path
70 | if doc_type == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':
71 | self.extra_docx()
72 |
73 | def extract_epub(self):
74 | res = epub2txt(self.file_path)
75 | with open(self.data_file, "a") as file:
76 | for i in range(len(res)):
77 | file.write(res[i])
78 |
79 | def extract_pdf(self):
80 | reader = PdfReader(self.file_path)
81 | print("total pages ", len(reader.pages))
82 | with open(self.data_file, "a") as file:
83 | for i in range(len(reader.pages)):
84 | page = reader.pages[i]
85 | text = page.extract_text()
86 | file.write(text)
87 |
88 | def extra_docx(self):
89 | res = docx2txt.process(self.file_path)
90 | with open(self.data_file, "a") as file:
91 | file.write(res)
92 |
93 | def build_index(self, doc_type: str):
94 | if doc_type == 'web':
95 | self.build_web()
96 | return
97 |
98 | documents = SimpleDirectoryReader(
99 | input_files=[self.data_file]).load_data()
100 | index = GPTSimpleVectorIndex(documents)
101 | index.save_to_disk(self.index_file)
102 |
103 | def build_web(self):
104 | loader = SimpleWebPageReader()
105 | documents = loader.load_data(urls=[self.filename])
106 | index = GPTSimpleVectorIndex(documents)
107 | index.save_to_disk(self.index_file)
108 |
109 | def query(self, question: str):
110 | print("query2", self.index_file, self.file_path)
111 | loader = CJKPDFReader()
112 | index_file = self.index_file
113 |
114 | if os.path.exists(index_file) == False:
115 | documents = loader.load_data(file=self.file_path)
116 | index = GPTSimpleVectorIndex(documents)
117 | index.save_to_disk(index_file)
118 | else:
119 | index = GPTSimpleVectorIndex.load_from_disk(index_file)
120 |
121 | QUESTION_ANSWER_PROMPT = QuestionAnswerPrompt(
122 | QUESTION_ANSWER_PROMPT_TMPL_2)
123 |
124 | return index.query(
125 | query_str=question,
126 | llm_predictor=llm_predictor,
127 | text_qa_template=QUESTION_ANSWER_PROMPT,
128 | # response_mode="tree_summarize",
129 | similarity_top_k=3,
130 | )
131 |
132 | def query2(self, question: str):
133 | print("query2", self.index_file, self.file_path)
134 | loader = CJKPDFReader()
135 | index_file = self.index_file
136 |
137 | if os.path.exists(index_file) == False:
138 | documents = loader.load_data(file=self.file_path)
139 | index = GPTSimpleVectorIndex(documents)
140 | index.save_to_disk(index_file)
141 | else:
142 | index = GPTSimpleVectorIndex.load_from_disk(index_file)
143 |
144 | QUESTION_ANSWER_PROMPT = QuestionAnswerPrompt(
145 | QUESTION_ANSWER_PROMPT_TMPL_2)
146 |
147 | return index.query(
148 | query_str=question,
149 | llm_predictor=llm_predictor,
150 | text_qa_template=QUESTION_ANSWER_PROMPT,
151 | response_mode="tree_summarize",
152 | similarity_top_k=3,
153 | )
154 |
--------------------------------------------------------------------------------
/server/download_website.py:
--------------------------------------------------------------------------------
1 | import os
2 | import shutil
3 | import requests
4 | from bs4 import BeautifulSoup
5 |
6 | url = "https://www.jianshu.com/p/474f4713753ct"
7 | response = requests.get(url)
8 |
9 | # 创建目录
10 | path = "example"
11 | if not os.path.exists(path):
12 | os.mkdir(path)
13 |
14 | # 解析 HTML 页面
15 | soup = BeautifulSoup(response.text, "html.parser")
16 |
17 | # 保存 HTML 页面
18 | with open(f"{path}/index.html", "w") as f:
19 | f.write(soup.prettify())
20 |
21 | # 保存 CSS 文件
22 | for link in soup.find_all("link"):
23 | if link.get("rel") == ["stylesheet"]:
24 | css_url = link.get("href")
25 | css_response = requests.get(css_url)
26 | css_path = f"{path}/{css_url.split('/')[-1]}"
27 | with open(css_path, "wb") as f:
28 | f.write(css_response.content)
29 |
30 | # 保存 JavaScript 文件
31 | for script in soup.find_all("script"):
32 | if script.get("src"):
33 | js_url = script.get("src")
34 | js_response = requests.get(js_url)
35 | js_path = f"{path}/{js_url.split('/')[-1]}"
36 | with open(js_path, "wb") as f:
37 | f.write(js_response.content)
38 |
39 | # 复制所有图片文件
40 | for img in soup.find_all("img"):
41 | img_url = img.get("src")
42 | img_response = requests.get(img_url)
43 | img_path = f"{path}/{img_url.split('/')[-1]}"
44 | with open(img_path, "wb") as f:
45 | f.write(img_response.content)
46 |
47 | # 复制所有媒体文件
48 | for source in soup.find_all("source"):
49 | media_url = source.get("src")
50 | media_response = requests.get(media_url)
51 | media_path = f"{path}/{media_url.split('/')[-1]}"
52 | with open(media_path, "wb") as f:
53 | f.write(media_response.content)
54 |
55 | # 复制所有字体文件
56 | for font in soup.find_all("link"):
57 | if font.get("rel") == ["stylesheet"] and "font" in font.get("href"):
58 | font_url = font.get("href")
59 | font_response = requests.get(font_url)
60 | font_path = f"{path}/{font_url.split('/')[-1]}"
61 | with open(font_path, "wb") as f:
62 | f.write(font_response.content)
63 |
64 | # 复制所有其他文件
65 | for link in soup.find_all("link"):
66 | if not link.get("rel") == ["stylesheet"]:
67 | file_url = link.get("href")
68 | if file_url and "." in file_url:
69 | file_extension = file_url.split(".")[-1]
70 | if file_extension not in ["css", "js"]:
71 | file_response = requests.get(file_url)
72 | file_path = f"{path}/{file_url.split('/')[-1]}"
73 | with open(file_path, "wb") as f:
74 | f.write(file_response.content)
75 |
--------------------------------------------------------------------------------
/server/main.py:
--------------------------------------------------------------------------------
1 | from fastapi import FastAPI, File, UploadFile, BackgroundTasks
2 | import time
3 | from doc_util import Doc
4 | import hashlib
5 | from db_docs import Docs
6 | from db_msg import Msg
7 | from fastapi.staticfiles import StaticFiles
8 | from starlette.middleware.cors import CORSMiddleware
9 | import uvicorn
10 | from pydantic import BaseModel
11 |
12 | app = FastAPI()
13 | origins = ["http://127.0.0.1", "http://localhost:5173", "http://10.23.172.12:5173"]
14 |
15 | app.add_middleware(
16 | CORSMiddleware,
17 | allow_origins=["*"], # 设置允许的origins来源
18 | allow_credentials=True,
19 | allow_methods=["*"], # 设置允许跨域的http方法,比如 get、post、put等。
20 | allow_headers=["*"]) # 允许跨域的headers,可以用来鉴别来源等作用。
21 |
22 |
23 | app.mount("/static", StaticFiles(directory="data"), name="static")
24 |
25 |
26 | @app.get("/my_docs")
27 | async def handle():
28 | docs = Docs.get_all()
29 | return {"data": docs}
30 |
31 |
32 | @app.delete("/del/{doc_id}")
33 | async def handle(doc_id):
34 | Docs.del_by_doc_id(doc_id=doc_id)
35 | return {"data": "success"}
36 |
37 |
38 | @app.post("/upload")
39 | async def handle(background_task: BackgroundTasks, file: UploadFile = File(...)):
40 | start = time.time()
41 | try:
42 | size = file.size
43 | data = await file.read()
44 | doc_id = hashlib.md5(data).hexdigest()
45 | doc = Doc(doc_id=doc_id, filename=file.filename)
46 | await doc.save(content=data)
47 | Docs(uid=0, doc_id=doc_id, doc_name=file.filename, doc_type=file.content_type, size=size).insert()
48 | background_task.add_task(file_task, doc_id)
49 | return {"message": "success", 'time': time.time() - start, 'filename': file.filename}
50 | except Exception as e:
51 | return {"message": str(e), 'time': time.time() - start, 'filename': file.filename}
52 |
53 | class AddLink(BaseModel):
54 | link : str
55 |
56 | @app.post("/add_link")
57 | async def handle(background_task: BackgroundTasks,link: AddLink):
58 | start = time.time()
59 | try:
60 | print(link)
61 | doc_id = hashlib.md5(link.link.encode('utf8')).hexdigest()
62 | Docs(uid=0, doc_id=doc_id, doc_name=link.link, doc_type='web', size=0).insert()
63 | background_task.add_task(file_task, doc_id)
64 | return {"message": "success", 'time': time.time() - start}
65 | except Exception as e:
66 | return {"message": str(e), 'time': time.time() - start}
67 |
68 |
69 | @app.get("/ask/{doc_id}")
70 | async def handle(doc_id, question):
71 | try:
72 | res = Docs.get_by_doc_id(doc_id=doc_id)
73 | doc = Doc(doc_id=doc_id,filename=res['doc_name'])
74 | Msg(uid=0, doc_id=doc_id, role="user", content=question).insert()
75 | res = doc.query(question=question)
76 | Msg(uid=0, doc_id=doc_id, role="chatdoc", content=res).insert()
77 | return {"data": res, "doc_id": doc_id}
78 | except Exception as e:
79 | return {"message": str(e), "code": 500}
80 |
81 |
82 | @app.get("/msg/{doc_id}")
83 | async def handle(doc_id):
84 | res = Msg.get_by_doc_id(doc_id=doc_id, uid=0)
85 | return {"data": res, "doc_id": doc_id}
86 |
87 |
88 | def file_task(doc_id: str):
89 | res = Docs.get_by_doc_id(doc_id=doc_id)
90 | if res == None:
91 | return
92 |
93 | doc = Doc(doc_id=res['doc_id'], filename=res['doc_name'])
94 | doc.build_txt(res['doc_type'])
95 | res['state'] = 1
96 | Docs(**res).update()
97 |
98 | doc.build_index(res["doc_type"])
99 | res['state'] = 2
100 | Docs(**res).update()
101 |
102 |
103 | if __name__ == '__main__':
104 | uvicorn.run('main:app', host="0.0.0.0", reload=True)
105 |
--------------------------------------------------------------------------------
/server/requirements.txt:
--------------------------------------------------------------------------------
1 | beautifulsoup4==4.12.0
2 | EbookLib==0.17.1
3 | epub2txt==0.1.1
4 | fastapi==0.95.0
5 | langchain==0.0.123
6 | llama_index==0.4.38
7 | pydantic==1.10.7
8 | PyPDF2==3.0.1
9 | requests==2.28.2
10 | starlette==0.26.1
11 | uvicorn==0.21.1
12 | docx2txt==0.8
13 |
--------------------------------------------------------------------------------
/server/start:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | echo "Starting Python server..."
5 | mkdir -p data
6 | pip install -r requirements.txt
7 | OPENAI_API_KEY=$1 python3 main.py
--------------------------------------------------------------------------------