如何在多个页面中划分Web视图内容



我必须在Android上使用PdfDocument从我的webView创建PDF。https://developer.android.com/reference/android/graphics/pdf/PdfDocument.htmlpdf创建得很好,但它只是一页文档。

// create a new document
PdfDocument document = new PdfDocument();
// create a page description
PageInfo pageInfo = new PageInfo.Builder(width,         
height, 1).create();
// start 1st page
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
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 out;
try {
out = new FileOutputStream(fileNameWithPath, false);
// write the document content
document.writeTo(out);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// close the document
document.close();

如何在页面中划分Web视图内容?

我正在创建一个android应用程序,它可以像读书一样读取文件,但我没有将其切碎并一次显示一页,而是隐藏了除一个部分外的所有部分,然后只显示整个文件。

因此,也许你可以使用类似的技术,比如:
1.您可以使用css隐藏所有Web视图
2.显示一个部分
3.写入PDF
>4.隐藏上一部分
5.揭示下一部分等。

在web视图读取的text.html源文件中,将每个页面包装在div标记中,如下所示:

<div id="page1" style="display:hidden;">
Page 1 text
</div>
<div id="page2" style="display:hidden;">
Page 2 text
</div>
<div id="page3" style="display:hidden;">
Page 3 text
</div>

在您的Java中:

//First you have to enable Javascript
webView.getSettings().setJavaScriptEnabled(true);
//Then run this javascript which will find the first page and reveal it
webView.loadUrl("javascript:document.getElementById('page"+ 1 +"').style.display ='block';");
//reload Webview
webView.loadUrl("C:Desktoptext.html");
//write to PDF
//repeat for page 2

希望这能有所帮助!

最新更新