我必须在Android上使用PdfDocument从我的webView创建PDF。 https://developer.android.com/reference/android/graphics/pdf/PdfDocument.html pdf创建得很好但只有一页文档。
// 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();
如何在网页中划分网页内容?
答案 0 :(得分:1)
我正在创建一个读取文件的Android应用程序,但不是砍掉它并一次显示一个页面,我隐藏了除了其中一个部分之外的所有部分,然后只显示整个文件。
所以也许你可以使用类似的技术:
1。您可以使用CSS隐藏所有webview
2。显示一个部分
3。写信给PDF
4。隐藏上一部分
5。显示下一个等。
在您的webview阅读的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:\Desktop\text.html");
//write to PDF
//repeat for page 2
希望这有帮助!