如何使用 ClojureScript 从 pdf 文件创建字节向量?
How to create a vector of bytes from pdf file with ClojureScript?
我想使用 ClojureScript 将 pdf 文件转换为字节向量,例如:[1 23 4 43 .....]。
请问,有什么想法吗?
非常感谢!
我写了这个简单的例子,它应该让你得到你需要的大部分内容,使用 HTML5 文件 API:
(defn handle-files [fs]
(let [file (aget (.-files fs) 0) ;; the first file
slice (.slice file 0 100)] ;; a slice with the first 100 bytes
;; The API to get the file contents returns a promise, so we'll update
;; the atom when the data is available
(-> slice .text (.then #(swap! file-info assoc-in [:contents] %)))
;; Most of the file info is available right away
(reset! file-info {:name (.-name file)
:size (.-size file)
:type (.-type file)})))
;; App initialization
(defn mount-root []
(rdom/render [example-app] (.getElementById js/document "app"))
;; register fn to check on the file[s] we want the browser to scan
(-> (.getElementById js/document "input")
(.addEventListener "change" #(handle-files (.-target %)) false)))
您可以在此 repo 上找到一个工作示例:https://github.com/dfuenzalida/cljs-files-api
我想使用 ClojureScript 将 pdf 文件转换为字节向量,例如:[1 23 4 43 .....]。 请问,有什么想法吗?
非常感谢!
我写了这个简单的例子,它应该让你得到你需要的大部分内容,使用 HTML5 文件 API:
(defn handle-files [fs]
(let [file (aget (.-files fs) 0) ;; the first file
slice (.slice file 0 100)] ;; a slice with the first 100 bytes
;; The API to get the file contents returns a promise, so we'll update
;; the atom when the data is available
(-> slice .text (.then #(swap! file-info assoc-in [:contents] %)))
;; Most of the file info is available right away
(reset! file-info {:name (.-name file)
:size (.-size file)
:type (.-type file)})))
;; App initialization
(defn mount-root []
(rdom/render [example-app] (.getElementById js/document "app"))
;; register fn to check on the file[s] we want the browser to scan
(-> (.getElementById js/document "input")
(.addEventListener "change" #(handle-files (.-target %)) false)))
您可以在此 repo 上找到一个工作示例:https://github.com/dfuenzalida/cljs-files-api