Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将HTML转换为字符串并打印该字符串_Android_Html_Url_Printing_Plaintext - Fatal编程技术网

Android 如何将HTML转换为字符串并打印该字符串

Android 如何将HTML转换为字符串并打印该字符串,android,html,url,printing,plaintext,Android,Html,Url,Printing,Plaintext,我在爱普生打印机上打印了POSPoint销售点的部分收据 在这里,我从Json对象内的URL获取数据Json,我获取一个html打印模板: { "response": { "status": "<table>.... </table>" } } 在那里,我使用状态作为字符串,这样无论字符串中的内容是什么,它都会被打印出来 如果它不是html,而是纯文本,我会像这样打印它 method = "addFeedLine"; mPrinter.a

我在爱普生打印机上打印了POSPoint销售点的部分收据

在这里,我从Json对象内的URL获取数据Json,我获取一个html打印模板:

{
    "response": {
        "status": "<table>.... </table>"
    }
}
在那里,我使用状态作为字符串,这样无论字符串中的内容是什么,它都会被打印出来

如果它不是html,而是纯文本,我会像这样打印它

method = "addFeedLine";
mPrinter.addFeedLine(1);
textData.append(status);
下面是一个状态的示例

"status": "The store list Sample\nSTORE DIRECTOR – XYZ\n01/01/01 16:58 6153 05 0191 134\nST# 21 OP# 001 TE# 01 TR# 747\n------------------------------\n400 OHEIDA 3PK SPRINGF 9.99 R\n410 3 CUP BLK TEAPOT 9.99 R\n445 EMERIL GRIDDLE/PAN 17.99 R\n438 CANDYMAKER ASSORT 4.99 R\n474 TRIPOD 8.99 R\n433 BLK LOGO PRNTED ZO 7.99 R\n458 AQUA MICROTERRY SC 6.99 R\n493 30 L BLK FF DRESS 16.99 R\n407 LEVITATING DESKTOP 7.99 R\n441 ** Blue Overprint P 2.99 R\n476 REPOSE 4 PCPM CHOC 5.49 R\n461 WESTGATE BLACK 25 59.99 R\n------------------------------\nSUBTOTAL 160.38\nTAX 14.43\nTOTAL 174.81\nCASH 200.00\nCHANGE 25.19\n------------------------------\nPurchased item total number\nSign Up and Save!\nWith Preferred Saving Card\n"
现在,我有一个简单的HTML页面:

Search Images Maps Play YouTube News Gmail Drive More »
Web History | Settings | Sign in

                  Louisa May Alcott’s 184th birthday

       [                                                         ] Advanced
                                                                   searchLanguage
                   [Google Search][I'm Feeling Lucky]              tools

 Advertising ProgrammesBusiness Solutions+GoogleAbout GoogleGoogle.com

                       © 2016 - Privacy - Terms
我需要从url打印这个

有人能建议我如何打印这篇纯文本吗?
没有HTML标记,也没有JSON数据。

如果您真的想像HTML那样打印它,我建议您在解析它之前获取主HTML代码状态,并将其推送到Web视图中,如下所示:

webview.loadDataWithBaseURL("", status, "text/html", "UTF-8", "");

否则,如果您只想将其打印到屏幕上,您可以使用一个简单的文本视图,通过text_view.setTexttextData.toString执行此操作,这是原始html值:

String  htmldescription = school2.getJSONObject(0).getString("description");
这是html格式的值:

Spanned spanned = Html.fromHtml(formattedText);
这是字符串转换:

String formattedText = spanned.toString();
从这里得到: 如果这不起作用,你应该查看

希望有帮助,祝你好运

您可以使用简单的正则表达式将HTML模板转换为纯文本。它检测所有类型的HTML标记,但可能存在漏洞

例如:

// Regex pattern
private static final String STR_PATTERN = "\\<[^\\>]*\\>";

public static String htmlToPlainText(final String template) {

  // replaceAll(String regex, String replacement)
  return (template.replaceAll(STR_PATTERN, ""));
}

我希望它能帮助你

通过Html.fromHtml方法你可以将Html转换成字符串-

String strToHtml = Html.fromHtml(htmlContentInStringFormat)

Log.e(TAG,"strToHtml :: "+strToHtml);

是,我想打印而不是查看。。。这是错误的印刷品,请你解释清楚。首先,你说的打印是什么意思?在屏幕上打印是什么意思?或者将其发送到打印服务?。第二,你说的是什么意思,或者如何将这个纯文本添加到字符串中,因为你已经有了状态字符串。您真的需要将字符串发送到指定的打印服务吗?我不知道如何打印热敏打印屏幕??????我说它的热敏打印,我遵循爱普生热敏打印机SDK这里没有WebViews这些链接是不可访问的。。因此,最好发布您正在使用的sdk的名称和正确描述,而不是像您那样引用链接。我在底部更新了链接,我们有sdk的下载链接…所有否决的人请向上投票,所有回答的人请向上投票我已经在Bounty中发布了,实际上有URL我想打印内容在该url中
String strToHtml = Html.fromHtml(htmlContentInStringFormat)

Log.e(TAG,"strToHtml :: "+strToHtml);