从Android应用程序生成要在ePaper显示器上显示的内容

从Android应用程序生成要在ePaper显示器上显示的内容,android,webview,bitmap,epub,Android,Webview,Bitmap,Epub,这是我的一个自制项目。这个想法是让epaper显示屏显示从Android手机打开的电子书。epaper之间的连接可以是有线的,也可以是无线的,这并不重要,因为我可以同时处理这两个问题。(我知道类似的东西也有——eInkCase,但嘿,我不想买它) ePaper可以采用二进制格式,基本上是位图中的降采样图片。我已经完成了转换,并测试了通过硬编码几页的文本内容在上面显示一本书的一些页面 现在最困难的部分是在Android手机上阅读电子书时显示电子书。我想要的电子书格式是ePub。我研究过一些应用程序

这是我的一个自制项目。这个想法是让epaper显示屏显示从Android手机打开的电子书。epaper之间的连接可以是有线的,也可以是无线的,这并不重要,因为我可以同时处理这两个问题。(我知道类似的东西也有——eInkCase,但嘿,我不想买它)

ePaper可以采用二进制格式,基本上是位图中的降采样图片。我已经完成了转换,并测试了通过硬编码几页的文本内容在上面显示一本书的一些页面

现在最困难的部分是在Android手机上阅读电子书时显示电子书。我想要的电子书格式是ePub。我研究过一些应用程序,了解到WebView用于显示内容

我的问题是:

  • 获取WebView的文本内容以使用一些JavaScript生成等效位图是否明智

  • 有没有其他方法可以获取WebView的内容


非常感谢您的帮助。

您是如何从ePaper获得数据的?你能把它转换成字符串吗

您可以生成动态字符串来创建临时html文件并在运行时加载它。e、 g代码

<WebView
                android:id="@+id/WebViewToDisplay"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_gravity="center"
                android:fadeScrollbars="false" />

将数据加载到WebView中

WebView webViewDisplay;
StringBuffer LoadWEb1;

webViewDisplay = (WebView) findViewById(R.id.WebViewToDisplay);
LoadWEb1 = new StringBuffer();
LoadWEb1.append("<html><body><h1>My First Heading</h1><p>My first paragraph.</p>");
//Sample code to read parameters at run time
String strName = "Test Paragraph";
LoadWEb1.append("<br/><p>"+strName+"</p>");
String result = LoadWEb1.append("</body></html>").toString();
        WebSettings webSettings = webViewDisplay.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webViewDisplay.getSettings().setBuiltInZoomControls(true);
        if (android.os.Build.VERSION.SDK_INT >= 11){
            webViewDisplay.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
            webViewDisplay.getSettings().setDisplayZoomControls(false);
        }

        webViewDisplay.loadDataWithBaseURL(null, result, "text/html", "utf-8",
                null);
        //To load local file directly from assets folder use below code
        //webViewDisplay.loadUrl("file:///android_asset/aboutapp.html");
WebView-WebView-display;
stringbufferloadweb1;
webViewDisplay=(WebView)findViewById(R.id.WebViewToDisplay);
LoadWEb1=新的StringBuffer();
LoadWEb1.append(“我的第一个标题我的第一段。

”; //在运行时读取参数的示例代码 字符串strName=“测试段落”; LoadWEb1.append(“
”+strName+“

”); 字符串结果=LoadWEb1.append(“”.toString(); WebSettings WebSettings=webViewDisplay.getSettings(); setJavaScriptEnabled(true); webViewDisplay.getSettings().SetBuilTinZoomControl(真); 如果(android.os.Build.VERSION.SDK_INT>=11){ webViewDisplay.setLayerType(View.LAYER\u TYPE\u软件,空); webViewDisplay.getSettings().SetDisplayZoomControl(false); } webViewDisplay.loadDataWithBaseURL(空,结果,“文本/html”,“utf-8”, 无效); //要直接从资产文件夹加载本地文件,请使用以下代码 //webViewDisplay.loadUrl(“file:///android_asset/aboutapp.html");
您是如何从ePaper获取数据的?你能把它转换成字符串吗

您可以生成动态字符串来创建临时html文件并在运行时加载它。e、 g代码

<WebView
                android:id="@+id/WebViewToDisplay"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_gravity="center"
                android:fadeScrollbars="false" />

将数据加载到WebView中

WebView webViewDisplay;
StringBuffer LoadWEb1;

webViewDisplay = (WebView) findViewById(R.id.WebViewToDisplay);
LoadWEb1 = new StringBuffer();
LoadWEb1.append("<html><body><h1>My First Heading</h1><p>My first paragraph.</p>");
//Sample code to read parameters at run time
String strName = "Test Paragraph";
LoadWEb1.append("<br/><p>"+strName+"</p>");
String result = LoadWEb1.append("</body></html>").toString();
        WebSettings webSettings = webViewDisplay.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webViewDisplay.getSettings().setBuiltInZoomControls(true);
        if (android.os.Build.VERSION.SDK_INT >= 11){
            webViewDisplay.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
            webViewDisplay.getSettings().setDisplayZoomControls(false);
        }

        webViewDisplay.loadDataWithBaseURL(null, result, "text/html", "utf-8",
                null);
        //To load local file directly from assets folder use below code
        //webViewDisplay.loadUrl("file:///android_asset/aboutapp.html");
WebView-WebView-display;
stringbufferloadweb1;
webViewDisplay=(WebView)findViewById(R.id.WebViewToDisplay);
LoadWEb1=新的StringBuffer();
LoadWEb1.append(“我的第一个标题我的第一段。

”; //在运行时读取参数的示例代码 字符串strName=“测试段落”; LoadWEb1.append(“
”+strName+“

”); 字符串结果=LoadWEb1.append(“”.toString(); WebSettings WebSettings=webViewDisplay.getSettings(); setJavaScriptEnabled(true); webViewDisplay.getSettings().SetBuilTinZoomControl(真); 如果(android.os.Build.VERSION.SDK_INT>=11){ webViewDisplay.setLayerType(View.LAYER\u TYPE\u软件,空); webViewDisplay.getSettings().SetDisplayZoomControl(false); } webViewDisplay.loadDataWithBaseURL(空,结果,“文本/html”,“utf-8”, 无效); //要直接从资产文件夹加载本地文件,请使用以下代码 //webViewDisplay.loadUrl(“file:///android_asset/aboutapp.html");
谢谢您的回复。也许我在上面的描述中不清楚。我需要做的与你刚才描述的相反。我想将数据发送到epaper。我是否正确地理解了这不是示例代码试图做的事情?谢谢您的回复。也许我在上面的描述中不清楚。我需要做的与你刚才描述的相反。我想将数据发送到epaper。我是否正确地理解了这不是示例代码所要做的?