我跟着this / this在EPSON打印机的POS(销售点)部分打印收据
这里我从URL获取数据Json(在Json对象中我得到一个html打印模板):
{
"response": {
"status": "<table>.... </table>"
}
}
所以有意图我使用上面的json响应字符串并将其转换为html:
method = "addFeedLine";
mPrinter.addFeedLine(1);
textData.append("Test print Sample string\n");**//this is sample text**
textData.append(Html.fromHtml(status + "\n"));
**//this is JSON response which is nothing but HTML code, so I am converting it to string**
在那里,我使用status
作为字符串,这样无论内容在该字符串中,都会打印出来。
如果它不是html而只是纯文本,我会像这样打印
method = "addFeedLine";
mPrinter.addFeedLine(1);
textData.append(status);
以下是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
我需要从网址打印出来。
有谁能建议我如何打印这个纯文本? 没有HTML标记,也没有JSON数据。
答案 0 :(得分:1)
通过Html.fromHtml方法,您可以将HTML转换为字符串-
String strToHtml = Html.fromHtml(htmlContentInStringFormat)
Log.e(TAG,"strToHtml :: "+strToHtml);
答案 1 :(得分:0)
如果你真的想像html那样打印它,我建议你得到主要的html代码status
(在解析它之前等等)并将它推送到这样的WebView:< / p>
webview.loadDataWithBaseURL("", status, "text/html", "UTF-8", "");
否则,如果您只想将其打印到屏幕上,可以使用简单的TextView来text_view.setText(textData.toString())
答案 2 :(得分:0)
这是原始的html值:
String htmldescription = school2.getJSONObject(0).getString("description");
这是html格式化的值:
Spanned spanned = Html.fromHtml(formattedText);
这是字符串转换:
String formattedText = spanned.toString();
从这里得到它:how to save encoded html in string
如果这没有成功,您应该查看developer docs
希望它有帮助,祝你好运!
答案 3 :(得分:0)
您可以使用简单的Regex
将HTML template
转换为plain text
。它会检测所有类型的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, ""));
}
我希望它有所帮助
答案 4 :(得分:-1)
试试这个:
WebView webview = (WebView) findViewById(R.id.MyWebview);
String summary = "<html><body>You scored <b>192</b> points.</body></html>";
webview.loadData(summary, "text/html", "utf-8");