国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

視障人群獲取文件信息的系統(tǒng)設計與實現(xiàn)

2019-09-10 04:52張慧廖一澤
現(xiàn)代信息科技 2019年18期
關鍵詞:二維碼

張慧 廖一澤

摘 ?要:隨著互聯(lián)網(wǎng)的普及以及視障人群數(shù)量的上升,視障人群的教育問題越來越重要。本文提出了一個實現(xiàn)視障人群無障礙獲取信息的方法,致力于建立一個專門為視障人群提供服務的平臺,將視障人群的需求和服務資源進行有效對接,通過這個平臺打破了普通人群與視障人群的障礙,使每個公民都有平等的受教育的機會。

關鍵詞:視障人群;二維碼;Java;無障礙信息平臺

中圖分類號:TP393.092 ? ?文獻標識碼:A 文章編號:2096-4706(2019)18-0013-03

Abstract:With the popularization of the internet and the increase of the number of visually impaired people,the education of caring for visually impaired people is becoming more and more important. This paper proposes a method to achieve accessible access to information for visually impaired people. It is dedicated to establishing a special platform to provide services for visually impaired people,effectively docking the needs and service resources of visually impaired people,through this platform to break the barriers between ordinary people and visually impaired people,so that every citizen has equal access to education.

Keywords:visually impaired people;two-dimensional code;Java;barrier-free information platform

0 ?引 ?言

視障人群是指由于各種原因使視覺器官或大腦視覺中樞的構造或功能部分或完全病變,導致雙眼不同程度的視力損失或視野縮小,使其在正常的生活、工作、學習等方面受到阻礙的人群[1]。據(jù)研究表明,人類獲取的信息83%來自視覺,11%來自聽覺。目前,全世界有2.53億人有視力障礙,而中國多達1700萬[2]。隨著中國人口的老齡化,視障人群會越來越多。2013年,信息無障礙研究會、阿里巴巴集團、騰訊、百度、微軟(中國)共同發(fā)起了一個信息無障礙產(chǎn)品聯(lián)盟,然而除了微軟、阿里巴巴、騰訊這些大公司在產(chǎn)品的研發(fā)上會考慮信息無障礙優(yōu)化,大多數(shù)APP產(chǎn)品都會忽視視障者的使用需求。目前我們國家正從網(wǎng)絡大國邁向網(wǎng)絡強國,為了讓13億中國人都能享受到互聯(lián)網(wǎng)發(fā)展帶來的成果,就要保證各種人群(包括視障人群)都能公平、平等地獲取信息。

1 ?系統(tǒng)分析

本系統(tǒng)致力于為視障人群提供閱讀服務,或者說是期望建立一個國家性的標準,在出版書物或者政府性文件通知的右上角印有標識該頁內(nèi)容的二維碼,視障人群通過掃碼可以獲取普通大眾所能獲取的信息,期望通過這個平臺打破普通人群與視障人群的障礙,拓寬視障人群信息獲取渠道,擴大視障人群的印刷、出版物的選擇范圍,使每個公民都有平等的受教育的機會。

1.1 ?功能需求

(1)信息的安全性:需要對二維碼中存儲的信息進行加密,利用特定的移動端APP進行掃描才能獲取二維碼中的信息,保障數(shù)據(jù)的安全性[3]。

(2)掃描的速度與精度:需要提高系統(tǒng)讀取二維碼信息的速度與準確度[4]。

(3)二維碼存儲信息容量:二維碼中存儲的信息容量與二維碼的尺寸、數(shù)據(jù)編碼、糾錯等級有關,需要提高二維碼存儲信息的容量[5]。

(4)信息獲取方式:利用讀屏軟件將文字轉化為語音,使視障人群通過聽覺獲取信息。

(5)隨讀隨停:對于視障人群來說,閱讀的難度比一般人要大,所以閱讀的速度一般比普通人要慢,且在閱讀的過程中要隨讀隨停,在下次重新閱讀時可以繼續(xù)上次的內(nèi)容進行閱讀。

(6)獲取上下頁內(nèi)容:掃碼只能獲取當前頁文檔內(nèi)容,需要提供用簡單易操作的方法獲取上一頁或者下一頁文檔的內(nèi)容的方法。

1.2 ?狀態(tài)轉換圖

所有政策性文件、重要通知、活動內(nèi)容等電子材料可上傳數(shù)據(jù)至服務器端,進行編輯、分頁、生成加密的二維碼。在印刷的過程中,將生成的二維碼添加至每一頁的右上角,視障人群通過特定的移動客戶端APP掃描加密后的二維碼,通過讀屏軟件讀取服務器端的指定頁面,并通過特定手勢進行換頁。

圖1為系統(tǒng)狀態(tài)轉換圖,管理員經(jīng)過身份驗證登錄,獲取編輯文件的權力,可進行文件換頁、加批注,圖片用文字代替等操作,實現(xiàn)編輯后進行保存。可通過點擊按鈕查看上一頁或下一頁文檔,當對所有的頁面操作完成后,點擊按鈕可生成最終帶有二維碼的文檔。

2 ?系統(tǒng)的設計與實現(xiàn)

本系統(tǒng)采用MyEclipse作為開發(fā)工具,利用Java作為開發(fā)語言,MySQL數(shù)據(jù)庫存儲數(shù)據(jù)。系統(tǒng)的流程圖如圖2所示。

從圖2中可以看到系統(tǒng)中各個頁面和類之間的關系。首先管理員需要在Login.jsp(登錄界面)進行身份驗證,若驗證錯誤則跳轉到Wrong.jsp頁面進行報錯信息;若登錄成功則跳轉到Upload.jsp頁面進行文件上傳,文件上傳到服務器端,需進行幾個類的操作處理,比如將文檔進行分頁、生成二維碼、添加二維碼圖片等。在前臺通過Show.jsp頁面展示上傳的文檔,可通過按鈕和參數(shù)傳遞查看上下頁文檔的內(nèi)容,通過Editor.jsp對頁面進行編輯,并通過testitext類對修改過的文檔進行提交保存,保存后系統(tǒng)會自動跳轉到Show.jsp頁面,若所有頁面檢查無誤,則點擊finish按鈕生成最終的帶二維碼的PDF文檔。

2.1 ?文件的上傳

文件上傳是指將本地文件上傳到服務器,是通過在form表單中設置action、enctype和method來實現(xiàn)。

2.2 ?文件的分頁

系統(tǒng)利用PDF文件實現(xiàn)視障人群對信息的獲取,利用分頁的PDF文件實現(xiàn)隨讀隨停。由于PDF是一種電子文件格式,系統(tǒng)以PostScript語言圖像模型為基礎,將文字、字型、格式、顏色以及分辨率等封裝在一個文件中,這并不是簡單的數(shù)據(jù)流,需要根據(jù)它的文件格式來進行解析,所以使用第三方JAR包來對PDF文件進行處理。

PDFBox是一個開源的純Java類庫,它可對PDF文件進行創(chuàng)建、提取文本、分頁、合并、插入等操作。Xpdf是一個開源的PDF文件瀏覽器,通過Java調用命令行執(zhí)行并生成結果,Xpdf中的pdftotext命令可以給PDF文件轉化為txt格式提供便利。通過比較,Xpdf在各方面都要優(yōu)于PDFBox,Xpdf可以保持較好的文檔格式,運行速度更快。因此,本系統(tǒng)利用Xpdf來對PDF文件進行分頁并轉化為txt文件。

2.3 ?文件的編輯保存

使用CKEditor對文件進行編輯,當CKEditor的功能與文本元素置換,它與表單的整合是自動的。當提交表單時,CKEditor會自動更新文本內(nèi)容,所以就不需要改變?nèi)魏畏掌鞫说奶幚肀韱翁峤粌?nèi)容的代碼。也就是說,當提交一個包含CKEditor實例的表單,使用文本(textarea)元素作為獲取數(shù)據(jù)的鑰匙,它的數(shù)據(jù)會自動提交到服務器??赏ㄟ^按鈕查看前后頁面,在編輯框內(nèi)進行編輯,并將數(shù)據(jù)保存到服務器。

2.4 ?生成二維碼圖片

每個PDF文件都進行了分頁,每一頁都可進行編輯后保存,輸出到txt文件中,所以每個PDF的每一頁都是一個txt,它們都存儲在Tomcat服務器上,把每個txt文件的URL地址進行加密后生成二維碼,也就是說,每一個txt文檔都有其所對應的二維碼圖片,并且在編輯頁面的右上角都會顯示二維碼圖片。

2.5 ?掃碼文件的生成

iText是一個產(chǎn)生PDF文件并且對PDF文件進行操作的Java類庫,它可用來根據(jù)XML文件或者數(shù)據(jù)庫內(nèi)容動態(tài)生成PDF文件;使用PDF文件的交互性特征;在PDF文件上添加標記、頁碼、二維碼等;對PDF文件進行分頁、連接和其他處理;為PDF文件添加數(shù)字簽名;自動填寫PDF表格等。iText一般用于以下情況:并不能提前獲取相關內(nèi)容,這些內(nèi)容是基于用戶輸入的或者實時數(shù)據(jù)庫中的內(nèi)容;因為大量的頁數(shù)或者文檔無法手動生成PDF文件;文檔需要自動創(chuàng)建,并且批處理;文檔的內(nèi)容需要按照客戶的要求或者是私人定制。當需要動態(tài)提交內(nèi)容到瀏覽器時就會遇到以上這些情況。一般地,我們會以HTML的表單來提交信息,但是如PDF之類的文檔,用iText類庫可以使提交的PDF文件有更好的打印質量、更安全并且可以減少存儲的空間。

系統(tǒng)需要在最終生成的PDF文檔中添加二維碼圖片,并且需要批量生成PDF文檔,所以選用iText類庫[6]。首先創(chuàng)建一個document對象,然后創(chuàng)建一個PdfWriter實例,將文件輸出流指向一個最終生成PDF的地址,接著用open()方法打開文檔,用add()方法在文檔中增加段落和生成的二維碼圖片,從編輯保存后的txt文件中讀取的數(shù)據(jù)流作為段落添加到最后的PDF文件中,而生成的二維碼則可以作為圖片添加到PDF文件中,并且可以用setAlignment()方法對圖片放置的位置、文字環(huán)繞的方式進行設置,本文考慮到視障人群的需求,將二維碼圖片放置在每一頁的右上角,并且是文字環(huán)繞圖片,最終文檔只是比原文檔的右上角多了一個和該頁對應的二維碼。當然,如果管理員有對該頁進行編輯修改,那么生成的便是編輯保存后的頁面。

2.6 ?中文亂碼問題

手動設置源文件和HTML頁面的參數(shù),指定使用字符集編碼和瀏覽器一致,統(tǒng)一設置編碼格式為UTF-8,在JSP頁面加上:<%@ page language="java" pageEncoding= "UTF-8"%>,這是指JSP文件的存儲編碼格式為UTF-8。

<meta http-equiv="Content-Type" content="text/html charset=UTF-8">是控制瀏覽器的解碼方式,如果頁面中嵌入頁面,比如本文嵌入了CKEditor編輯器,而CKEditor的默認編碼是UTF-8,這時就要考慮到它提交表單的編碼字符集,頁面編碼要與編輯器編碼設置為一致,以免亂碼。

用request.seCharacterEncoding ("UTF-8")對請求統(tǒng)一進行編碼,因為瀏覽器默認使用UTF-8編碼方式來發(fā)送請求。

利用response.setContentType("text/html;charset= UTF-8")來控制數(shù)據(jù)庫亂碼問題,利用InputStreamReader()和Out putStreamWriter()指定字符集,控制文件讀寫亂碼。

按照以上詳述設置后,信息在頁面中顯示、在數(shù)據(jù)庫中存取以及文件讀寫時,都不會出現(xiàn)亂碼問題。

3 ?結 ?論

本文從系統(tǒng)目標、功能需求進行分析,得到系統(tǒng)的狀態(tài)轉換圖和系統(tǒng)流程圖,再對系統(tǒng)的各個功能通過編寫代碼進行實現(xiàn)。通過系統(tǒng)的實現(xiàn),紙質文件無需單獨印發(fā)盲文,只需要含有對應的電子文件即可,減少了大量工作量,方便了視障人群的閱讀。

參考文獻:

[1] 孟曉,劉向東.一維多進制色條碼編碼研究 [J].浙江大學學報(工學版),2004,38(5):559-561.

[2] 謝長杉.CC講壇朱清毅:視障人群如何不被信息時代落下 [EB/OL].(2018-12-22).http://finance.sina.com.cn/hy/hyjz/2018-12-22/doc-ihqhqcir9287610.shtml.

[3] 張敏.二維碼技術在高校管理中的應用研究 [D].保定:河北農(nóng)業(yè)大學,2015.

[4] 楊勇.基于機器視覺的條形碼及二維碼識別系統(tǒng)的設計 [J].微型電腦應用,2018,34(11):63-66.

[5] 張研.淺談二維碼技術在企業(yè)檔案管理中的應用 [J].機電兵船檔案,2017(6):65-66.

[6] 楊黎,王楓.EAST文檔自動化的研究與實現(xiàn) [J].計算機應用與軟件,2016,33(1):53-56.

作者簡介:張慧(1984-),女,漢族,江西宜豐人,講師,碩士,研究方向:計算機應用技術。

猜你喜歡
二維碼
二維碼
銀聯(lián)發(fā)布二維碼支付標準
銀聯(lián)發(fā)布二維碼支付標準
二維碼,別想一掃了之
極具創(chuàng)意的二維碼
罗江县| 怀安县| 莲花县| 屏东县| 潞城市| 伽师县| 股票| 保山市| 合川市| 漳平市| 嘉义市| 吉首市| 黑山县| 韶关市| 隆德县| 寿阳县| 彰武县| 浦东新区| 云阳县| 隆昌县| 内江市| 海安县| 政和县| 金华市| 九江市| 阜宁县| 芮城县| 红原县| 闽侯县| 麦盖提县| 夹江县| 莱阳市| 合作市| 德化县| 台北县| 南京市| 秦安县| 屯门区| 宝清县| 卢湾区| 乐平市|