Android 利用PdfDocument产生PDF文档

  
   @Override
    protected void onResume() {
        super.onResume();
        new Thread(new Runnable() {
            
            @Override
            public void run() {
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e1) {
                    e1.printStackTrace();
                }
                long start = new Date().getTime();
                PdfDocument document = new PdfDocument();
                int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
                int screenHeight = getWindowManager().getDefaultDisplay().getHeight();
                int count = adapter.getCount();
                
                for (int i = 0; i < count*10; i++)
                {
                    PageInfo.Builder pb = new PageInfo.Builder(screenWidth, screenHeight, 1);
                    PageInfo pageInfo = pb.create();
                    Page page = document.startPage(pageInfo);
                    View decorView = list.getChildAt(i%count);
                    decorView.draw(page.getCanvas());
                    document.finishPage(page);
                }
                View decorView = findViewById(R.id.text);
                PageInfo.Builder pb = new PageInfo.Builder(screenWidth, screenHeight, 1);
                PageInfo pageInfo = pb.create();
                Page page = document.startPage(pageInfo);
                decorView.draw(page.getCanvas());
                document.finishPage(page);
                
                String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test1.pdf";
                File file = new File(path);
                if (!file.exists())
                {
                    file.getParentFile().mkdirs();
                    try {
                        file.createNewFile();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                FileOutputStream outputStream;
                try {
                    outputStream = new FileOutputStream(file);
                    document.writeTo(outputStream);
                    outputStream.close();
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                document.close();
                long end = new Date().getTime();
                Log.d("lfddz","cost time = " + (end - start) / 1000.0f + "s");
            }
        }).start();
        
    }


你可能感兴趣的:(android,pdf,PdfDocument)