我正在尝试通过翻译我在此处找到的 splitPDF 方法使用 clojure 从 pdf 中提取单个页面http://viralpatel.net/blogs/itext-tutorial-merge-split-pdf-files-using-itext-jar/
我不断收到此错误
IOException 流关闭 java.io.FileOutputStream.writeBytes (:-2)
这可以防止我在 repl 仍然打开时打开文档。关闭 repl 后,我就可以访问该文档。
为什么我会收到错误消息?
我如何解决它 ?
我怎样才能使它更clojurey?
(import '(com.itextpdf.text Document)
'(com.itextpdf.text.pdf PdfReader PdfWriter PdfContentByte PdfImportedPage BaseFont)
'(java.io File FileInputStream FileOutputStream InputStream OutputStream))
(defn extract-page [src dest pagenum]
(with-open [ d (Document.)
os (FileOutputStream. dest)]
(let [ srcpdf (->> src FileInputStream. PdfReader.)
destpdf (PdfWriter/getInstance d os)]
(doto d
(.open )
(.newPage ))
(.addTemplate
(.getDirectContent destpdf)
(.getImportedPage destpdf srcpdf pagenum) 0 0))))