Android从webview创建多页pdf文档

Android从webview创建多页pdf文档,android,pdf,webview,document,multipage,Android,Pdf,Webview,Document,Multipage,我使用Android()的PdfDocument框架从我的webview内容创建pdf文档。pdf创建得很好,但它只是一页文档。当webview内容很大时,我需要创建一个多页文档。我只需要将WEBVIEW内容拆分为页面。我怎样才能做到这一点? 我不想使用iText或任何第三方库 我需要帮助。提前谢谢 // create a new document PdfDocument document = new PdfDocument(); // create a page description Pd

我使用Android()的PdfDocument框架从我的webview内容创建pdf文档。pdf创建得很好,但它只是一页文档。当webview内容很大时,我需要创建一个多页文档。我只需要将WEBVIEW内容拆分为页面。我怎样才能做到这一点? 我不想使用iText或任何第三方库

我需要帮助。提前谢谢

// 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();

如果要创建多个页面,只需为文档中要创建的每个页面调用startPage()和finishPage()。
大概是这样的:

// 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();

在过去的几天里,我遇到了同样的问题,所以我从Rakesh Gopathi那里找到了这个,它工作得非常完美。我真的建议任何使用本机类的人都可以查看它。

我知道我可以添加更多页面,但如果Web视图内容对于ISO A4页面来说太长,我想将其分为多个页面。好的,我知道您的问题是内容太长。我看不出你是如何在多个页面上截断和传播内容片段的。也许你可以得到你的网络视图的高度并缩放你的画布?你找到解决方案了吗?我也在努力解决它。@Annabelle你找到解决办法了吗?不幸的是,我没有。这个问题对我来说仍然有效;它可以很好地工作,但我仍然不能创建多个页面,只有一个页面可以创建。这对我来说就像预期的那样。创建了多个页面