Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.logikujo.literoj.testBookTree
- import com.logikujo.spdf.Implicits._
- import com.logikujo.spdf.pdfoperator._
- import PDFOperator._
- import com.logikujo.utils.Treeable._
- import scalaz._
- import Scalaz._
- object TestBookTree {
- def getBookmarkTree = pdfGetDocument >>= pdfBookmarksTree
- def getSubPDF(n:Int) = getBookmarkTree >>= ((t) =>
- state((pdf:PDF) =>
- (pdf, ({
- val l = (t.toOption >>= identity).
- orZero.levels(n).toList.map(_.get).flatten ∘ ((d) =>
- SubPDF(d.getTitle, pdf.getPage(d),1))
- SubPDF.orderSubPDFList(1)(pdf.numberOfPages)(l).reverse
- }))))
- def saveSubPDF = (l:List[SubPDF]) => state((pdf:PDF) =>
- (pdf, l ∘ (_.write(pdf))))
- def main(args:Array[String]) {
- val l = (getSubPDF(args(0).toInt) >>= saveSubPDF >>= pdfClose) ! PDF("testPDF.pdf")
- println(l)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment