【发布时间】:2012-08-27 19:36:20
【问题描述】:
我正在尝试通过翻译我在http://viralpatel.net/blogs/itext-tutorial-merge-split-pdf-files-using-itext-jar/ 找到的 splitPDF 方法,使用 clojure 从 pdf 中提取单个页面。
我一直收到这个错误
IOException Stream Closed java.io.FileOutputStream.writeBytes (:-2)
这会阻止我在 repl 仍处于打开状态时打开文档。关闭 repl 后,我就可以访问该文档。
为什么我会收到错误消息?
我该如何解决?
我怎样才能让它更酷?
(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))))
【问题讨论】:
-
当你重新打开 REPL 时它会重新开始工作吗?