Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.tracxn.commons.utils
- import org.slf4j.Logger
- import org.slf4j.LoggerFactory
- import org.apache.pdfbox.pdmodel.*;
- import org.apache.pdfbox.util.*;
- import org.apache.pdfbox.rendering.PDFRenderer;
- import java.awt.image.BufferedImage;
- import org.apache.pdfbox.rendering.ImageType;
- import javax.imageio.ImageIO
- /**
- * Created by Sachchit
- */
- class PdfUtils {
- private static Logger logger = LoggerFactory.getLogger(PdfUtils.class)
- private PDDocument doc
- public PdfUtils(URL url)
- {
- InputStream ins = null;
- try {
- ins = url.openStream();
- this.doc = PDDocument.load(ins);
- } catch (Exception npe) {
- logger.debug("Exception in making PdfUtils object. Error message: " + npe.getMessage())
- throw npe
- } finally{
- if(ins!=null)
- ins.close();
- }
- }
- public PdfUtils(File file){
- try{
- this.doc = PDDocument.load(file);
- } catch (Exception npe) {
- logger.debug("Exception in making PdfUtils object. Error message: " + npe.getMessage())
- throw npe
- }
- }
- public def getPageCount()
- {
- try{
- PDDocument pddDocument = this.doc
- return pddDocument.getNumberOfPages()
- } catch (Exception npe) {
- logger.debug("Exception in fetching page count from PdfUtils object. Error message: " + npe.getMessage())
- throw npe
- }
- }
- public def closePdfUtil(){
- try{
- PDDocument pddDocument = this.doc
- pddDocument.close()
- } catch (Exception npe) {
- logger.debug("Exception in losing PdfUtils object. Error message: " + npe.getMessage())
- throw npe
- }
- }
- public InputStream getPdfPageImageInputStream(Integer pageNo, String imageExtension)
- {
- try{
- PDDocument pddDocument = this.doc;
- PDFRenderer pdfRenderer = new PDFRenderer(pddDocument);
- BufferedImage bim = pdfRenderer.renderImageWithDPI(pageNo, 300, ImageType.RGB);
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- ImageIO.write(bim, imageExtension, os);
- InputStream ist = new ByteArrayInputStream(os.toByteArray());
- return ist
- } catch (Exception npe) {
- logger.debug("Exception in getting pdf page image input stream from PdfUtils object. Error message: " + npe.getMessage())
- throw npe
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement