PageRenderTime 59ms CodeModel.GetById 32ms RepoModel.GetById 1ms app.codeStats 0ms

/src/pdfblambda/core.clj

https://github.com/whacked/pdfblastaxoj
Clojure | 64 lines | 46 code | 16 blank | 2 comment | 1 complexity | 5f5687e95c1fde2febb5a5700e2d7aaf MD5 | raw file
  1. (ns pdfblambda.core
  2. (:import
  3. (java.util List)
  4. (java.io IOException
  5. FileInputStream InputStreamReader BufferedReader
  6. FileOutputStream OutputStreamWriter BufferedWriter)
  7. (java.awt.geom Rectangle2D$Float)
  8. (org.apache.pdfbox.pdmodel PDDocument PDPage)
  9. (org.apache.pdfbox.pdmodel.common PDRectangle)
  10. (org.apache.pdfbox.pdmodel PDPageContentStream)
  11. (org.apache.pdfbox.pdmodel.font PDFont PDType1Font)
  12. (org.apache.pdfbox.pdmodel.graphics.color PDGamma)
  13. (org.apache.pdfbox.pdmodel.interactive.action PDActionURI)
  14. (org.apache.pdfbox.pdmodel.interactive.annotation PDAnnotationLine
  15. PDAnnotationSquareCircle
  16. PDAnnotationMarkup
  17. PDAnnotationPopup
  18. PDAnnotationTextMarkup
  19. PDAnnotationLink
  20. PDBorderStyleDictionary)
  21. (org.apache.pdfbox.text PDFTextStripperByArea)
  22. (java.util.zip GZIPInputStream GZIPOutputStream)
  23. )
  24. (:require [clojure.java.io :as io]
  25. [clojure.string :as s]
  26. [pdfblambda.xournal :as xoj]
  27. [pdfblambda.utility :as util]))
  28. )
  29. )
  30. true
  31. (do (println (str "unhandled class: " annot-class)))
  32. ))
  33. )
  34. (xoj-out-writeline (make-xoj-page-footer))
  35. ))
  36. (xoj-out-writeline (make-xoj-footer))
  37. (. pdf close)
  38. (. xoj-buf close)
  39. (. xoj-out close)
  40. (println "DONE")
  41. ))
  42. (defn process-directory [d]
  43. (doseq [f (filter
  44. (fn [f] (re-find #"(?i)pdf$" (. f getName)))
  45. (.listFiles (java.io.File. d)))]
  46. (parse-pdf-make-xoj (. f getAbsolutePath))))
  47. ;; example
  48. ;; (process-directory "/home/example/pdf")