texto studio programacion para móviles modificar hacer gratis fotos desarrollo curso crear con como celular archivo app aplicaciones android pdf webview document multipage

studio - Android crea documento pdf desde la vista web con varias páginas



manual de programacion android pdf (2)

Estuve teniendo este mismo problema en los últimos días, así que encontré esta respuesta de Rakesh Gopathi, funcionó a la perfección. Realmente recomiendo a cualquiera que esté usando las clases nativas de PdfDocument para verificarlo.

Estoy usando el marco PdfDocument de Android ( enlace ) para crear un documento pdf a partir del contenido de mi sitio web. El pdf se crea bien, pero solo es un documento de una página. Cuando el contenido de la vista web es grande, necesito crear un documento de varias páginas. TODO LO QUE NECESITO ES DIVIDIR EL CONTENIDO DE WEBVIEW EN PÁGINAS. ¿Cómo puedo conseguir esto? No quiero usar iText ni ninguna biblioteca de terceros.

Necesito ayuda por favor Gracias por adelantado.

// create a new document PdfDocument document = new PdfDocument(); // create a page description PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(width, height, 1).create(); // start a page PdfDocument.Page page = document.startPage(pageInfo); // draw something on the page View content = myWebview; content.draw(page.getCanvas()); // finish the page document.finishPage(page); FileOutputStream fos; try { fos = new FileOutputStream(fileNameWithPath, false); // write the document content document.writeTo(fos); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // close the document document.close();


Si desea crear varias páginas, simplemente llame a startPage () y finishPage () para cada página que desee crear en su documento.
Algo como esto :

// create document PdfDocument document = new PdfDocument(); // create a page description PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(width, height, 1).create(); // start 1st page PdfDocument.Page page = document.startPage(pageInfo); // draw something on the page View content = myWebview; content.draw(page.getCanvas()); // finish 1st page document.finishPage(page); // start 2nd page PdfDocument.Page page = document.startPage(pageInfo); // draw something on the page View content = someOtherWebview; content.draw(page.getCanvas()); // finish 2nd page document.finishPage(page); // and so on... FileOutputStream fos; try { fos = new FileOutputStream(fileNameWithPath, false); // write the document content document.writeTo(fos); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // close the document document.close();