如何划分在多个页面视图内容。 [英] How to divide the webview content in multiple pages

查看:170
本文介绍了如何划分在多个页面视图内容。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须从Android上使用PdfDocument我web视图创建PDF。
https://developer.android.com/intl/ru/reference/android/graphics/pdf/PdfDocument.html
在PDF创建很好,但它只有一个页文档。

I have to create PDF from my webView using PdfDocument on Android. https://developer.android.com/intl/ru/reference/android/graphics/pdf/PdfDocument.html The pdf is created well but it is only one page document.

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

我怎么可以把在网页视图内容?

How can I divide webview content in pages?

推荐答案

我创建一个Android应用程序,读起来就像一本书的文件,但不是砍它,同时显示一个网页,我隐藏所有,但一个该节,然后就显示整个文件。

I am creating an android app that reads a file like a book, but instead of chopping it up and displaying one page at a time, I hide all but one of the sections and then just display the entire file.

所以,也许你可以使用类似的技术是这样的:
结果
1 您可以隐藏所有的CSS结果的网页流量的
2。显示一个部分结果
3 的写入到PDF结果
4。隐藏previous部分结果
5。显示下一等结果。

So perhaps you could use a similar technique something like:
1. You can hide all of the webview with css
2. reveal one section
3. write to the PDF
4. hide the previous section
5. reveal the next etc.

在您的WebView阅读你text.html源文件,包裹每一页在这样的div标签:

In your text.html source file read by your webview, wrap each page in div tags like this:

<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

希望这有助于!

这篇关于如何划分在多个页面视图内容。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆