Advertisement
Guest User

Untitled

a guest
Feb 28th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. package com.tracxn.commons.utils
  2.  
  3. import org.slf4j.Logger
  4. import org.slf4j.LoggerFactory
  5.  
  6. import org.apache.pdfbox.pdmodel.*;
  7. import org.apache.pdfbox.util.*;
  8. import org.apache.pdfbox.rendering.PDFRenderer;
  9. import java.awt.image.BufferedImage;
  10. import org.apache.pdfbox.rendering.ImageType;
  11. import javax.imageio.ImageIO
  12.  
  13. /**
  14. * Created by Sachchit
  15. */
  16.  
  17. class PdfUtils {
  18.  
  19. private static Logger logger = LoggerFactory.getLogger(PdfUtils.class)
  20. private PDDocument doc
  21.  
  22. public PdfUtils(URL url)
  23. {
  24. InputStream ins = null;
  25. try {
  26. ins = url.openStream();
  27. this.doc = PDDocument.load(ins);
  28. } catch (Exception npe) {
  29. logger.debug("Exception in making PdfUtils object. Error message: " + npe.getMessage())
  30. throw npe
  31. } finally{
  32. if(ins!=null)
  33. ins.close();
  34. }
  35. }
  36.  
  37. public PdfUtils(File file){
  38. try{
  39. this.doc = PDDocument.load(file);
  40. } catch (Exception npe) {
  41. logger.debug("Exception in making PdfUtils object. Error message: " + npe.getMessage())
  42. throw npe
  43. }
  44. }
  45.  
  46. public def getPageCount()
  47. {
  48. try{
  49. PDDocument pddDocument = this.doc
  50. return pddDocument.getNumberOfPages()
  51. } catch (Exception npe) {
  52. logger.debug("Exception in fetching page count from PdfUtils object. Error message: " + npe.getMessage())
  53. throw npe
  54. }
  55. }
  56.  
  57. public def closePdfUtil(){
  58. try{
  59. PDDocument pddDocument = this.doc
  60. pddDocument.close()
  61. } catch (Exception npe) {
  62. logger.debug("Exception in losing PdfUtils object. Error message: " + npe.getMessage())
  63. throw npe
  64. }
  65. }
  66.  
  67. public InputStream getPdfPageImageInputStream(Integer pageNo, String imageExtension)
  68. {
  69. try{
  70. PDDocument pddDocument = this.doc;
  71. PDFRenderer pdfRenderer = new PDFRenderer(pddDocument);
  72. BufferedImage bim = pdfRenderer.renderImageWithDPI(pageNo, 300, ImageType.RGB);
  73. ByteArrayOutputStream os = new ByteArrayOutputStream();
  74. ImageIO.write(bim, imageExtension, os);
  75. InputStream ist = new ByteArrayInputStream(os.toByteArray());
  76. return ist
  77. } catch (Exception npe) {
  78. logger.debug("Exception in getting pdf page image input stream from PdfUtils object. Error message: " + npe.getMessage())
  79. throw npe
  80. }
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement