2016-11-30 40 views
-11

我跟着this/this從EPSON打印機打印收據在POS(銷售點)的一部分如何將HTML轉換成字符串Android和打印字符串

在這裏,我從URL..Inside的獲取數據的Json Json對象我正在獲取Html打印模板......就像這樣。

{ 
    "response": { 
     "status": "<table>.... </table>" 
    } 
} 

所以意圖我使用上述JSON響應串並轉換成HTML ...

method = "addFeedLine"; 
     mPrinter.addFeedLine(1); 

     textData.append("Test print Sample stirng\n");**//this is sample text** 

     textData.append(Html.fromHtml(status + "\n"));**//this is JSON response which is northing but HTML code, SO I am converting it to stirng** 

那邊我已經使用status爲字符串,這樣什麼都在內容側串印..

如果它不是一個HTML只是一個普通的文本,我將打印這樣

method = "addFeedLine"; 
mPrinter.addFeedLine(1); 
textData.append(status); 

這裏面的地位整個JSON數據是有像下面

"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

提到的那些環節都不能訪問..所以更好張貼的名稱和適當的說明你正在使用sdk而不是像你一樣引用鏈接。 – Gattsu

+0

我有更新的鏈接在底部我們有sdk的下載鏈接.....所有的人downvoted請upvote和所有的答案人請upvote我已經鬆動在賞金 – MLN

回答

0

如果您真的想要打印它就像它真正的HTML,我建議你拿到一手的HTML代碼status(解析它,所以之前),並把它推到這樣一個網頁視圖:

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

否則,如果你只是想將它打印到屏幕上,你可以使用一個簡單的TextView來做到這一點text_view.setText(textData.toString())

+0

是的我要打印不看...其打印 – MLN

+0

請更好地解釋你自己。首先,「打印」是指什麼意思(打印在屏幕上?還是發送給打印服務?)。其次,當你說「或如何將這個純文本添加到一個字符串」時,你的意思是什麼,因爲你已經擁有了「狀態」字符串。你真的需要將字符串發送給給定的打印服務嗎? – zapotec

+0

我不Konw你怎麼打印熱打印屏幕??????我說它的熱打印和我跟着愛普生熱打印機SDK在這裏沒有webview – MLN

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

希望它能幫助,祝您好運!

-1

您可以使用簡單的RegexHTML 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, "")); 
} 

我希望它能幫助

+0

其實有URL我想打印該網址內的內容 – MLN

-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"); 
+0

這裏沒有Web視圖先生我想直接打印url的數據 – MLN

相關問題