• 32:JAVA-------读取文件夹,并文件解析,pdf转图片


    import java.awt.image.BufferedImage;
    import java.awt.image.RenderedImage;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    
    import org.icepdf.core.pobjects.Document;
    import org.icepdf.core.util.GraphicsRenderingHints;
    /*
     * pdf 转 图片
     */
    public class PdfToHtml {
        public static void pdf2Pic(String wor_id,String pdfPath, String path){
            Document document = new Document();
            document.setFile(pdfPath);
            float scale = 2.5f;//缩放比例
            float rotation = 0f;//旋转角度
                    
            for (int i = 0; i < document.getNumberOfPages(); i++) {
                BufferedImage image = (BufferedImage)
                document.getPageImage(i, GraphicsRenderingHints.SCREEN, org.icepdf.core.pobjects.Page.BOUNDARY_CROPBOX, rotation, scale);
                RenderedImage rendImage = image;
                try {
                    String imgName = wor_id+i + ".png";
                    System.out.println(imgName);
                    File file = new File(path + imgName);
                    ImageIO.write(rendImage, "png", file); 
                } catch (IOException e) {
                    e.printStackTrace();
                }
                image.flush();
            }
            document.dispose();
        }
        
         public static  String GetSql(String path){
              File rootDir = new File(path);
               if(!rootDir.isDirectory()){
                   
                   String paths=rootDir.getAbsolutePath().replace("\", "/");
                   
                   String[] pathth=paths.split("/");
                   
                   //String filePath = "E:/项目/打牌啦/合同/test/pdf/pdf/basefile.pdf";
                   //pdf2Pic(filePath, "E:/项目/打牌啦/合同/test/pdf/pdf/");
                       //文件名E:/项目/contract/newFile/allpdf/100018815561398.pdf
                   
                   System.out.println("文件名"+pathth[5]);
                   
                   String paththth=pathth[5].replace(".pdf", "").trim();
                   
                   String newPath="E:/项目/contract/newFile/allpdfImage/";
                   
                   PdfToHtml.pdf2Pic(paththth,paths,newPath);
                   
               }else{
                String[] fileList =  rootDir.list();
                for (int i = 0; i < fileList.length; i++) {
                 path = rootDir.getAbsolutePath()+"\"+fileList[i];
                 
                 
                 try {
                        Thread.currentThread().sleep(3000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                 
                 GetSql(path);      
                  } 
               }    
              return null;    
             }
                
                //WordTOPDFUtil.wordPdf("3518812344444");
                 public static void main(String[] args) {
                       // TODO Auto-generated method stub
                      // String path ="E:/项目/contract/newFile/pdf1/";
                         String path="E:/项目/contract/newFile/allpdf/";
                     
                       GetSql(path);
                     }
            
    }
  • 相关阅读:
    [置顶] 输入子系统
    多线程知识点总结
    mybatis知识点总结
    redis知识点及常见面试题
    spring知识点(面试题)
    【linux】vim常用命令
    Linux常用命令大全
    Java 位运算(移位、位与、或、异或、非)
    图论之堆优化的Prim
    BZOJ3261 最大异或和 解题报告(可持久化Trie树)
  • 原文地址:https://www.cnblogs.com/coriander/p/7520411.html
Copyright © 2020-2023  润新知