码迷,mamicode.com
首页 > 其他好文 > 详细

使用pdfbox提取PDF文件中的flash文件

时间:2014-12-15 00:02:39      阅读:503      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   os   使用   sp   for   

private static void parsePdfFile(String file) throws Exception {
        FileInputStream fis = new FileInputStream(file);
        PDFParser pdfParser = new PDFParser(fis);
        pdfParser.parse();
        COSDocument cosDocument = pdfParser.getDocument();
        List<COSObject> objList = cosDocument.getObjects();
        for (COSObject obj : objList) {
            COSBase cosBase = obj.getItem(COSName.SUBTYPE);
            if (null != cosBase && cosBase instanceof COSName) {
                String strName = cosBase.toString();
                if ("COSName{application/x-shockwave-flash}".equals(strName)) {
                    COSStream cosStream = COSUtils.getAsStream(obj, cosDocument);
                    InputStream inputStream = cosStream.getUnfilteredStream();
                    String strOutFile = String.format("/tmp/%s.swf", new Date().getTime());
                    FileOutputStream fileOutputStream = new FileOutputStream(strOutFile);
                    byte[] bytes = new byte[10240];
                    int iRead;
                    while (true) {
                        iRead = inputStream.read(bytes);
                        if (iRead <= 0) {
                            break;
                        }
                        fileOutputStream.write(bytes, 0, iRead);
                    }
                    fileOutputStream.close();
                    inputStream.close();
                }
            }

        }

 

使用pdfbox提取PDF文件中的flash文件

标签:style   blog   io   ar   color   os   使用   sp   for   

原文地址:http://www.cnblogs.com/byshome/p/4163990.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!