如何  如何提取对象(图片,u3d)最好给实例代码 谢谢

解决方案 »

  1.   

    public void getU3dObject() throws Exception {
    //读pdf文档
    PdfReader reader = new PdfReader("e:/demo.pdf");
    PdfObject object;
    PdfStream stream;
    //遍历文档
    for (int i = 1; i < reader.getXrefSize(); i++) {
    object = reader.getPdfObject(i);
            if (object == null || !object.isStream()) {
                continue;
            }
            stream = (PRStream) object;
            //对象类型
            PdfObject pdfsubtype = stream.get(PdfName.SUBTYPE);
            //判断对象类型是否是u3d
            if (pdfsubtype != null && "U3D".equals(PdfName.decodeName(pdfsubtype.toString()))) {
             //以流的形式取出u3d对象并写到指定位置
                    byte[] row = PdfReader.getStreamBytesRaw((PRStream) stream);
                    byte[] u3d = PdfReader.FlateDecode(row);
                    File out = new File("e:/extract1.u3d");
                    FileOutputStream fos = new FileOutputStream(out);
                    fos.write(u3d);
                    fos.close();                            
                }
    }
    }