Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android PdfDocument没有从recyclerView打印全部内容_Android_Pdfdocument - Fatal编程技术网

Android PdfDocument没有从recyclerView打印全部内容

Android PdfDocument没有从recyclerView打印全部内容,android,pdfdocument,Android,Pdfdocument,我正在尝试使用android API PdfDocument创建PDF文件 如果内容较少(在屏幕的可见视图内),我的代码工作正常 如果recyclerView包含更多项目(超过屏幕高度)-所有内容不会以PDF格式打印 这是我的密码: public void exportDataPDF(View view) { PrintAttributes printAttrs = new PrintAttributes.Builder(). setColor

我正在尝试使用android API PdfDocument创建PDF文件

如果内容较少(在屏幕的可见视图内),我的代码工作正常

如果recyclerView包含更多项目(超过屏幕高度)-所有内容不会以PDF格式打印

这是我的密码:


 public void exportDataPDF(View view) {
        PrintAttributes printAttrs = new PrintAttributes.Builder().
                setColorMode(PrintAttributes.COLOR_MODE_COLOR).
                setMediaSize(PrintAttributes.MediaSize.ISO_A2).
                setResolution(new PrintAttributes.Resolution("MyPrinterId", PRINT_SERVICE, 50, 50)).
                setMinMargins(new PrintAttributes.Margins(5,5,5,5)). //PrintAttributes.Margins.NO_MARGINS
                build();

        PdfDocument pdfDocument = new PrintedPdfDocument(this, printAttrs);

        int pageNumber = 1;
        
        //Get Content View.
        View contentView = findViewById(R.id.recyclerView);

        // crate a page description
        PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(contentView.getWidth(), contentView.getHeight(), pageNumber).create();

        // create a new page from the PageInfo
        PdfDocument.Page page = pdfDocument.startPage(pageInfo);

        // draw view on the page
        Canvas pageCanvas = page.getCanvas();
        pageCanvas.scale(1f, 1f);
        int pageWidth = pageCanvas.getWidth();
        int pageHeight = pageCanvas.getHeight();
        int measureWidth = View.MeasureSpec.makeMeasureSpec(pageWidth, View.MeasureSpec.EXACTLY);
        int measuredHeight = View.MeasureSpec.makeMeasureSpec(pageHeight, View.MeasureSpec.EXACTLY);
        contentView.measure(measureWidth, measuredHeight);
        contentView.layout(0, 0, pageWidth, pageHeight);
        contentView.draw(pageCanvas);

        // do final processing of the page
        pdfDocument.finishPage(page);

        try {
            FileOutputStream fileOutputStream = openFileOutput(exportFileName, MODE_PRIVATE);
            pdfDocument.writeTo(fileOutputStream);
            fileOutputStream.close();

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

有人能帮我把recyclerView项目的所有内容打印成PDF格式吗。我不想使用iText或其他外部库