ここで見つけたsplitPDFメソッドを翻訳することにより、clojureを使用してpdfから単一のページを抽出しようとしていますhttp://viralpatel.net/blogs/itext-tutorial-merge-split-pdf-files-using-itext-jar/
このエラーが発生し続けます
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))))