bakersemail

PDFBox Merge with iText compression

Jan 2nd, 2012
1,916
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 0.75 KB | None | 0 0
  1. import org.apache.pdfbox.util.*
  2. import com.itextpdf.text.pdf.*
  3. import com.itextpdf.text.*
  4.  
  5. @Grapes([
  6.         @Grab(group='org.apache.pdfbox', module='pdfbox', version='1.2.1'),
  7.         @Grab(group='com.itextpdf', module='itextpdf', version='5.1.3')
  8. ])
  9.  
  10. PDFMergerUtility merger = new PDFMergerUtility()
  11. 100.times {
  12.     merger.addSource('test.pdf')
  13. }
  14. merger.setDestinationFileName('uncompressed.pdf')
  15. merger.mergeDocuments()
  16.  
  17. PdfReader reader = new PdfReader(new FileInputStream('uncompressed.pdf'))
  18. PdfStamper stamper = new PdfStamper(reader, new FileOutputStream('compressed.pdf'))
  19. int total = reader.getNumberOfPages() + 1
  20. total.times {
  21.     reader.setPageContent(it + 1, reader.getPageContent(it + 1))
  22. }
  23. stamper.setFullCompression()
  24. stamper.close()
Advertisement
Add Comment
Please, Sign In to add comment