• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      多格式文檔中批量注入矢量二維碼的研究與實(shí)現(xiàn)

      2022-09-09 02:16:56任雁
      電子技術(shù)與軟件工程 2022年11期
      關(guān)鍵詞:批量條形碼文檔

      任雁

      (長治學(xué)院計(jì)算機(jī)系 山西省長治市 046011)

      在企、事業(yè)各單位的實(shí)際生產(chǎn)經(jīng)營活動(dòng)中,經(jīng)常需要向相關(guān)產(chǎn)品的說明文檔、質(zhì)檢文檔、環(huán)保評估文檔等一些繁雜的文檔資料中注入單個(gè)產(chǎn)品的唯一身份標(biāo)識圖片信息(如條形碼、二維碼等),這些工作如果僅僅依靠Excel、Word 等常用辦公類軟件來做,會(huì)非常繁瑣,耗費(fèi)大量人力資源,工作效率低下,出錯(cuò)率也很高,對企事業(yè)單位的日常有序經(jīng)營產(chǎn)生較大影響。本文設(shè)想,如果將Excel 文檔中的批量產(chǎn)品標(biāo)識信息一次性導(dǎo)入到研究軟件中,再批量生成對應(yīng)的二維碼圖片信息,然后將批量處理好的信息結(jié)合相應(yīng)模板統(tǒng)一注入到對應(yīng)格式的文檔文件中,這樣,通過設(shè)計(jì)軟件的統(tǒng)一處理,就可以很好的實(shí)現(xiàn)企業(yè)數(shù)字化管理,提高公司整體的工作效率。

      1 矢量二維碼

      隨著信息技術(shù)的高速發(fā)展,二維碼在實(shí)際生活中也隨處可見,各式各樣的產(chǎn)品和應(yīng)用場景使用了二維碼圖片信息。生活中,我們只需要拿出手機(jī)對著二維碼簡單一掃,便可以獲取其中的個(gè)性化信息并與之發(fā)生關(guān)聯(lián),二維碼的使用可以極大地提高生活的便捷性,在個(gè)人的生活場景中如此,那么在企事業(yè)單位的實(shí)際生產(chǎn)經(jīng)營活動(dòng)中,更是如此。二維碼的廣泛使用不僅可以大大提升企業(yè)的數(shù)字化程度,同時(shí)也可以有效的加快企業(yè)的生產(chǎn)經(jīng)營活動(dòng)。二維碼分為普通二維碼和矢量二維碼,在個(gè)人生活中,很多時(shí)候,普通二維碼就可以滿足使用要求,而且二維碼圖片信息也是被單獨(dú)使用的,但在企業(yè)實(shí)際生產(chǎn)經(jīng)營活動(dòng)中,很多時(shí)候是需要將產(chǎn)品二維碼圖片信息注入到指定文檔中被統(tǒng)一使用,而且二維碼圖片在文檔中會(huì)比較大,這種情況,對二維碼的大小、清晰度都會(huì)有嚴(yán)格要求,普通二維碼就無法滿足應(yīng)用要求了。矢量二維碼無論二維碼圖片怎樣放大或者縮小,都不會(huì)影響二維碼的清晰度,能最大程度保證文件內(nèi)容的真實(shí)準(zhǔn)確,所以被企業(yè)廣泛應(yīng)用。

      2 模板文檔

      不同的企業(yè)、不同的應(yīng)用場景會(huì)有各種不同的目標(biāo)格式文檔,例如產(chǎn)品的信息展示文檔、產(chǎn)品的質(zhì)檢文檔、產(chǎn)品的環(huán)保評估文檔等等,本文簡單制作了多個(gè)不同產(chǎn)品的環(huán)保信息模板文檔,并保存為.docx格式文件,方便軟件的寫入操作,下面截取了一個(gè)模板文件中的部分圖片,如圖1所示。

      圖1:模板文檔

      模板文件根據(jù)產(chǎn)品類別的不同,內(nèi)容也不盡相同,多份模板需統(tǒng)一存放在系統(tǒng)的指定位置,并將位置信息寫入數(shù)據(jù)庫相應(yīng)表中,以方便軟件的批量處理,本文采用了Access數(shù)據(jù)庫模型,并創(chuàng)建了表名為moban 的子表,用來存儲(chǔ)模板文件的相關(guān)信息。

      模板文檔在后期會(huì)通過軟件平臺(tái)與產(chǎn)品特定標(biāo)識信息匹配,從而生成特定目標(biāo)文檔信息,因其包含有大量重復(fù)類信息,我們可以將同一類型的文檔信息制造成一個(gè)對應(yīng)的模板文件,再由軟件匹配并批量注入產(chǎn)品標(biāo)識信息,從而生成目標(biāo)文檔,節(jié)省大量的人力資源,提高實(shí)際工作效率。

      3 功能具體實(shí)現(xiàn)

      以下是使用C#編程語言具體的實(shí)現(xiàn)細(xì)節(jié):

      3.1 創(chuàng)建窗口

      首先,需要將產(chǎn)品標(biāo)識信息整理成Excel文檔(文字信息)導(dǎo)入軟件中,制作相應(yīng)的數(shù)據(jù)導(dǎo)入窗口,對應(yīng)的創(chuàng)建窗口語句 是:PiLiangLuruForm m_Form = new PiLiangLuruForm();具體樣式如圖2所示。

      圖2:導(dǎo)入窗口

      3.2 導(dǎo)入數(shù)據(jù)

      創(chuàng)建導(dǎo)入Excel 數(shù)據(jù)函數(shù)loadExceldata(IWorkbook workbook);導(dǎo)入成功后,數(shù)據(jù)會(huì)展示在左側(cè)的TabPages 中,在簡單配置完參數(shù)后,點(diǎn)擊“導(dǎo)入信息”按鈕,程序后臺(tái)將會(huì)把Excel 標(biāo)識信息連同參數(shù)信息一并寫入數(shù)據(jù)庫maindat表中,并把最后結(jié)果展示在右側(cè)dataGridView1 中,至此就完成了生成目標(biāo)格式文件的相關(guān)準(zhǔn)備工作,如圖3所示。

      圖3:數(shù)據(jù)導(dǎo)入

      3.3 模板匹配

      接下來,需匹配對應(yīng)模板文件,獲取頁面參數(shù)設(shè)置,通過后臺(tái)數(shù)據(jù)庫表moban 中的參數(shù)字段值,匹配到對應(yīng)模板文件的系統(tǒng)存放位置。

      3.4 圖片生成

      找到模板文件的具體存放位置信息,獲取相關(guān)參數(shù)并生成標(biāo)識矢量二維碼圖片:

      (1)創(chuàng)建生成二維碼函數(shù)GetQRCodeByZXingNet(string strMessage,int width,int height);

      (2)在函數(shù)中構(gòu)造BarcodeWriter 實(shí)例BarcodeWriter barcodeWriter = new BarcodeWriter();

      (3)初始化實(shí)例barcodeWriter 相關(guān)屬性值barcodeWriter.Format= BarcodeFormat.QR_CODE;barcodeWriter.Options.Hints.Add(EncodeHintType.CHARACTER_SET,"UTF-8");barcodeWriter.Options.Hints.Add(EncodeHintType.ERROR_CORRECTION,ErrorCorrectionLevel.H);barcodeWriter.Options.Height=height;barcodeWriter.Options.Width = width;barcodeWriter.Options.Margin = 0;

      (4)構(gòu)造BitMatrix 實(shí)例BitMatrix matrix = barcodeWriter.Encode(strMessage);

      (5)生成二維碼圖片result = barcodeWriter.Write(matrix);

      此外,本文還將標(biāo)識文檔信息同步生成了條形碼圖片,注入到目標(biāo)文檔中,創(chuàng)建條形碼生成函數(shù)GetCodeBar(string content,bool bartxt,int width,int height);生成并返回條形碼結(jié)果return new BarcodeWriter{Options =encodingOptions,Format = BarcodeFormat.CODE_128}.Write(content)。

      3.5 批量導(dǎo)入

      生成了圖片二維碼信息后,接下來需要注入到模板文檔指定位置,本示例用到了C#中的Spire 相關(guān)類來對Word文檔進(jìn)行寫入操作,首先創(chuàng)建Document 實(shí)例Spire.Doc.Document document = new Spire.Doc.Document();加載模板文件document.LoadFromFile(fileName,FileFormat.Docx); 替換文檔中二維碼圖片標(biāo)識this.replaceImg(document,replacestr,this.GetQRCodeByZXingNet(str + oleDbDataReader2[" 產(chǎn)品型號"].ToString().Trim(),200,200)); 替換文檔中條形碼圖片標(biāo)識this.replaceImg(document,replacestr2,this.GetCodeBar(oleDbDataReader2["產(chǎn)品型號"].ToString().Trim(),bartxt,464,150));替換文檔中產(chǎn)品型號文字信息document.Replace(matchString,oleDbDataReader2["產(chǎn)品型號"].ToString().Trim(),false,true)。

      綜上完成了對Word 文檔的二維碼圖片信息注入操作,在實(shí)際應(yīng)用中還經(jīng)常會(huì)使用PDF 格式的文檔,因?yàn)镻DF格式文檔不需要對其直接進(jìn)行寫入操作,我們可以用一個(gè)函數(shù)WordToPDF(string sourcePath,string targetPath)將寫好的Word 文檔直接轉(zhuǎn)換成Pdf 文檔便可,創(chuàng)建Document 對象Microsoft.Office.Interop.Word.Document document = null;并實(shí)例化document = arg_9B_0.Open(ref obj,ref missing,ref missing2,ref missing3,ref missing4,ref missing5,ref missing6,ref missing7,ref missing8,ref missing9,ref missing10,ref missing11,ref missing12,ref missing13,ref missing14,ref missing15);創(chuàng)建目標(biāo)文檔_Document arg_BA_0 = document;生成Pdf 文檔arg_BA_0.ExportAsFixedFormat(targetPath,arg_BA_2,arg_BA_3,arg_BA_4,arg_BA_5,arg_BA_6,arg_BA_7,arg_BA_8,arg_BA_9,arg_BA_10,arg_BA_11,arg_BA_12,arg_BA_13,arg_BA_14,ref missing15);

      以上代碼均執(zhí)行完后,目標(biāo)文檔就會(huì)自動(dòng)生成到指定位置,窗口右側(cè)也會(huì)更改標(biāo)識信息為“已生成”,如圖4所示。

      圖4:模板匹配及生成進(jìn)度

      最終的目標(biāo)文檔如圖5所示。

      圖5:目標(biāo)文檔

      4 結(jié)語

      通過一系列的具體測試,最終實(shí)現(xiàn)了二維碼信息的批量注入功能,滿足了現(xiàn)實(shí)中各種應(yīng)用場景的實(shí)際需求,在測試時(shí)還將普通二維碼升級為清晰度更高的矢量二維碼,同時(shí)因?yàn)閜df 格式文檔不可批量直接生成,本文利用C#語言中的Microsoft.Office.Interop.Word 相關(guān)類,將生成的word 文檔批量轉(zhuǎn)化為pdf 格式文檔,最終實(shí)現(xiàn)了pdf 格式文檔的批量生成。至此,目標(biāo)word 文檔和pdf 文檔都可以被批量、快速并且準(zhǔn)確的生成,產(chǎn)生了如圖5的目標(biāo)類文檔,被企業(yè)廣泛使用到實(shí)際場景中去。

      猜你喜歡
      批量條形碼文檔
      創(chuàng)意條形碼
      有人一聲不吭向你扔了個(gè)文檔
      批量提交在配置分發(fā)中的應(yīng)用
      從條形碼到二維碼
      從條形碼到二維碼
      條形碼大變身
      基于RI碼計(jì)算的Word復(fù)制文檔鑒別
      Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
      淺議高校網(wǎng)銀批量代發(fā)
      基于AUTOIT3和VBA的POWERPOINT操作題自動(dòng)批量批改
      山西省| 衢州市| 丽江市| 乐都县| 通州区| 凌海市| 临海市| 敦化市| 新泰市| 福鼎市| 筠连县| 巴彦淖尔市| 石河子市| 牙克石市| 曲阳县| 垣曲县| 伊金霍洛旗| 中牟县| 巫山县| 安龙县| 札达县| 山阳县| 银川市| 昌平区| 塔城市| 崇文区| 册亨县| 石台县| 吉林省| 司法| 安多县| 龙门县| 常宁市| 安化县| 杭州市| 旅游| 武宣县| 吉水县| 永泰县| 沧州市| 濮阳县|