標籤: USB CONNECTOR

  • 微信 AES 解密報錯 Illegal key size 三種解決辦法

    微信 AES 解密報錯 Illegal key size

    Java 環境

    java version "1.8.0_151"
    Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

    問題

    問題日誌
    最近在遷移的服務器,在遷移完之後, 一個有關微信小程序的日誌打印下面的報錯信息。

    c.t.b.a.c.weixin.aes.WXBizMsgCrypt - 小程序解密異常
    java.security.InvalidKeyException: Illegal key size

    解密失敗,看了下解密的密鑰是正確的,沒有任何問題。 這個在 經典 下是可以運行的,在 VPC 下運行不了。 (因為最近在進行阿里雲網絡遷移)

    問題原因

    微信在進行數據傳輸的時候,會進行加密,微信使用的 AES 加密使用的是 256位,Java 默認使用的解密包是 local_policy.jarUS_export_policy.jar,但是這個默認的只支持 128位的解密(java 版本在 1.8.0_161之後就沒有這個問題了,默認是支持)。我們的版本是 1.8.0_151 正好默認是只支持 128位的解密(其實不是不支持,只是默認配置的不支持)。

    解決辦法

    在前面我們沒有提及一個東西,就是在/usr/local/java/jdk1.8.0_151/jre/lib/security/policy/下有兩個目錄。

    [root@djx-117106 policy]# pwd
    /usr/local/java/jdk1.8.0_151/jre/lib/security/policy/
    [root@djx-117106 policy]# ls -l
    total 8
    drwxr-xr-x 2 root root 4096 Nov  2 10:47 limited
    drwxr-xr-x 2 root root 4096 Nov  2 10:47 unlimited
    [root@djx-117106 policy]# ls -l ./limited/
    total 8
    -rw-r--r-- 1 root root 3405 Jul  4 19:41 local_policy.jar
    -rw-r--r-- 1 root root 2920 Jul  4 19:41 US_export_policy.jar
    [root@djx-117106 policy]# ls -l ./unlimited/
    total 8
    -rw-r--r-- 1 root root 2929 Jul  4 19:41 local_policy.jar
    -rw-r--r-- 1 root root 2917 Jul  4 19:41 US_export_policy.jar
    

    有一個 limited 目錄(也就是對解密有限制的包,只支持 128位),也有一個 ulimited 目錄(也就是沒有限制的目錄)。

    更改 源碼

    我們在 /usr/local/java/jdk1.8.0_151/jre/lib/security/ 下的 java.security文件中看到。

    # To support older JDK Update releases, the crypto.policy property
    # is not defined by default. When the property is not defined, an
    # update release binary aware of the new property will use the following
    # logic to decide what crypto policy files get used :
    #
    # * If the US_export_policy.jar and local_policy.jar files are located
    # in the (legacy) <java-home>/lib/security directory, then the rules
    # embedded in those jar files will be used. This helps preserve compatibility
    # for users upgrading from an older installation.
    #
    # * If crypto.policy is not defined and no such jar files are present in
    # the legacy locations, then the JDK will use the limited settings
    # (equivalent to crypto.policy=limited)
    #
    # Please see the JCA documentation for additional information on these
    # files and formats.
    #crypto.policy=unlimited

    注意下文中的 (equivalent to crypto.policy=limited) 說明默認是使用的 limited.
    我們只需要加 crypto.policy=unlimited. 讓默認使用的不限制的。

    替換Jar包

    替換 /usr/local/java/jdk1.8.0_151/jre/lib/security/policy/limited的路徑的包。其實我們可以直接用 /usr/local/java/jdk1.8.0_151/jre/lib/security/policy/unlimited下面的包直接替換 /usr/local/java/jdk1.8.0_151/jre/lib/security/policy/limited/ 下面的兩個包。也就是讓默認使用不限制的jar包。

    升級 Java 版本

    https://www.oracle.com/technetwork/java/javase/8u161-relnotes-4021379.html
    在官方文檔寫到,

    security-libs/javax.crypto
     Unlimited cryptography enabled by default
    The JDK uses the Java Cryptography Extension (JCE) Jurisdiction Policy files to configure cryptographic algorithm restrictions. Previously, the Policy files in the JDK placed limits on various algorithms. This release ships with both the limited and unlimited jurisdiction policy files, with unlimited being the default. The behavior can be controlled via the new 'crypto.policy' Security property found in the /lib/java.security file. Please refer to that file for more information on this property.
    

    也就是從 1.8.0_161-b12 版本后,默認將採用無限制的加密算法,也就是使用 unlimited 下的jar包。我們也可以通過 設置 java.security 文件的 crypto.policy的值來改變這個默認的值。

    本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理
    【其他文章推薦】

    USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

    台灣海運大陸貨務運送流程

    兩岸物流進出口一站式服務

  • 防野火再度釀災 澳洲科學家開發預測衛星

    摘錄自2020年3月4日中央通訊社報導

    澳洲國立大學(Australian National University)今天(4日)表示,校內研究團隊正在開發一枚「鞋盒大小」的衛星,運用紅外線偵測器來測量森林覆蓋面積和空氣濕度,盼獲得的資料能協助判斷很可能爆發野火的地點,及野火可能難以控制的地點。不過,距離正式啟用大概還要5年時間。

    澳洲國立大學在聲明中說,這項科技將「專門用來偵測澳洲植被和林區的變化,例如針對易燃的尤加利樹」。

    遙測專家耶夫拉(Marta Yebra)表示,新衛星收集到的資料將提供給消防人員。:「這項紅外線科技和首次能夠取得的資料,將有助控制特定起火點,進而降低野火發生的頻率、嚴重程度,及對澳洲民眾、經濟和環境帶來的長遠影響。」

    研究人員指出,全球暖化正造成澳洲夏天時期更長,且爆發野火的危險越來越高。原因是冬天縮短,使得預防野火的工作更難執行。

    本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    ※帶您來了解什麼是 USB CONNECTOR  ?

    ※自行創業 缺乏曝光? 下一步”網站設計“幫您第一時間規劃公司的門面形象

    ※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

    ※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

    ※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

    ※試算大陸海運運費!

  • 南韓樂天化工廠爆炸致數十人傷 暫無有害物質洩露

    摘錄自2020年3月4日星島日報報導

    南韓樂天集團旗下一間化學工廠凌晨發生爆炸,造成至少30多人受傷,暫未發現化學物質洩露。

    據報該化工廠位於忠清南道瑞山市,在今(4日)凌晨發生爆炸,產生強烈衝擊波。韓媒報道稱,爆炸導致多處建築物倒塌,附近房屋受損嚴重,窗户被震碎,多處設施受损。據忠清南道消防部門消息,截至當地時間下午3時,爆炸造成至少36人受傷,目前2人傷勢嚴重,暫未有人死亡。當地警方稱,可能是在生產乙烯和丙烯的壓縮過程中發生事故。

    樂天化學公司發表聲明稱,由於鉛絲分解過程出現問題,導致爆炸;目前該工廠已停工,將進一步調查具體原因。事故發生後,瑞山市政府向民眾發信息提示注意安全,但同時稱沒有造成有害化學物質洩露,不需要進行撤離。

    本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

    台灣海運大陸貨務運送流程

    兩岸物流進出口一站式服務

  • 搶救PM2.5!台中祭出高額電動車換購補貼

    台中市政府持續推動低碳城市。為降低空氣汙染與PM2.5威脅,台中市環保局今年針對換購電動車推出加碼補助金,最高補助金額達新台幣3.3萬元,為全台最高。

    目前台中市掛牌行駛的二行程機車有約25.4萬輛,其汙染較四行程機車而言,碳氫化合物高了17倍、一氧化碳也高了2倍。若改換成電動機車,每輛每年可減少0.149公斤的PM2.5與0.203公斤的PM10。為加速推動低碳城市、降低汽機車廢氣污染,台中市政府持續增建電動車充電站,目前已有203座;同時也祭出高額補貼,鼓勵民眾換購電動車。

    台中市環保局表示,擁有中低收入戶證明、且二行程機車設籍於台中的台中市居民,汰換具有台灣電動機車認證(TES)核可的重型電動機車,最高可享新台幣3.38萬元的補助;小型與輕型電動機車最高補助則為3.18萬元。若是汰舊、換購電動自行車或電動輔助自行車,最高也有1.3萬元補助,皆為全台最高。

    此外,一般台中市民新購置電動機車,最高可享有新台幣2.3萬補助;電動自行車或電動輔助自行車的貼最高6,000元。汰換舊的二行程機車獎勵金2,500元。上述相關補助都有名額限制,從3月14日開始受理申請。

    本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    ※帶您來了解什麼是 USB CONNECTOR  ?

    ※自行創業 缺乏曝光? 下一步”網站設計“幫您第一時間規劃公司的門面形象

    ※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

    ※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

    ※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

    ※試算大陸海運運費!

  • 工信部:新能源汽車今年將翻番 騙補企業要嚴處

    全國“兩會”期間,新能源車產業的發展受到更多關注。

    騙補調查取得成果

    在全國“兩會”的“部長通道”,苗圩接受媒體採訪時表示,已經發現一些地區個別企業存在騙補行為,現在還在進一步查處,無論涉及到誰都會嚴肅處理。值得注意的是,這距離工信部宣佈對新能源車騙補行為進行調查不足兩個月。

    新能源汽車2016年保持一倍以上增長

    在公佈新能源車產業騙補調查進度的同時,對於新能源車在2016年的發展情況,苗圩認為,中國新能源車目前已經進入成長期,同時也代表著汽車產業調整的方向。“新能源汽車將保持高增長態勢,預計今年有一倍以上的增長。”苗圩說。

    中國汽車工業協會發佈的資料顯示,2015年我國生產新能源汽車約34萬輛,銷售約33萬輛,同比分別增長3.3倍、3.4倍。

    另外,在車企方面,自主品牌、合資品牌等都開始重視新能源車車型的研發和生產。根據汽車集團此前發佈的“十三五”規劃顯示,上汽集團未來五年新能源業務將新增投入200億元,新能源車目標銷量為60萬輛;廣汽集團則到2020年新能源汽車產銷規模力爭突破20萬輛;奇瑞汽車力爭新能源汽車到2020年產銷規模達到20萬輛。

    面臨兩個瓶頸

    苗圩認為,在新能源車保持高速發展的同時,目前新能源汽車仍面臨兩個瓶頸,“一是產品端,要集中攻克以動力電池為代表的產品性能、可靠性、續航里程、壽命等難題;二是應用端,要重視社會充電設施建設等”。苗圩表示。

    2月24日,國務院常務會議就提出,動力電池核心技術的研發與政府獎勵掛鉤以及引入社會資本構建新能源車基礎設施等幫助新能源車產業發展的新措施。

    具體而言,中央財政採取以獎代補方式,根據動力電池性能、銷量等指標對企業給予獎勵,加大對動力電池數位化製造成套裝備的支援。另外,國家還將利用中央預算內投資和配電網專項金融債等支持各地充電設施建設,鼓勵地方建立以充電量為基準的獎勵補貼政策,減免充電服務費用。

    文章來源:北京商報

    本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

    台灣海運大陸貨務運送流程

    兩岸物流進出口一站式服務

  • Zabbix-(三)監控主機CPU、磁盤、內存並創建監控圖形

    Zabbix-(三)監控主機CPU、磁盤、內存並創建監控圖形

    Zabbix-(三)監控主機CPU、磁盤、內存並創建監控圖形

    一.前言

    前文中已經講述了兩種方式對Zabbix的搭建,本文將講述如何在zaibbx上添加需要監控的主機,以及使用Zabbix自帶模板和自定義模板對主機的CPU、磁盤、內存進行監控,並觸發問題,並且在Zabbix儀錶盤創建實時監控圖形。

    準備

    • Zabbix Server (Zabbix 4.4) (ip:192.168.152.140)
    • 被監控主機A (Centos7.6),下文簡稱 Server-A (ip:192.168.152.142)
    • 被監控主機B (Centos7.6),下文簡稱 Server-B (ip:192.168.152.143)

    二.為被監控主機安裝zabbix-agent

    1. Server-A、Server-B分別安裝zabbix-agent

      # rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
      
      # yum install -y zabbix-agent

    2. Server-A、Server-B配置zabbix-agent

      # vim /etc/zabbix/zabbix_agentd.conf

      修改以下配置:

      • Server-A的zabbix_agentd.conf
      Server=192.168.152.140
      ServerActive=192.168.152.140
      
      # Hostname要與在Zabbix界面配置的Hostname(主機名稱)保持一致
      Hostname=Server-A
      • Server-B的zabbix_agentd.conf
      Server=192.168.152.140
      ServerActive=192.168.152.140
      
      # Hostname要與在Zabbix界面配置的Hostname(主機名稱)保持一致
      Hostname=Server-B

    3. 分別啟動zabbix-agent

      # systemctl start zabbix-agent

      可以查看agent日誌

      # tailf /var/log/zabbix/zabbix_agentd.log

      可能會出現以下內容,是由於zabbix界面上沒有配置主機,接下來將在zabbix頁面上進行主機配置

        6981:20191030:111132.151 no active checks on server [192.168.152.140:10051]: host [Server-A] not found

    三.Zabbix添加主機

    通過頁面操作,將需要監控的主機添加到zabbix中

    1. 登錄Zabbix,默認賬號:Zabbix,默認密碼:admin (可在zabbix數據庫 users表查詢)

    2. 點擊【配置】-【主機】-【創建主機】,添加需要被監控的主機

      首先配置【主機】信息,添加Server-A,輸入配置項

      配置項
      * 主機名稱 Server-A
      可見的名稱 Server-A
      * 群組 Linux servers (進行選擇)
      * agent代理程序的接口 IP地址: 192.168.152.142 端口: 10050

      再配置【模板】信息,點擊【添加】,選擇群組 Templates,勾選 Template OS Linux by Zabbix agent,點擊【選擇】

      最後點擊【保存】

    3. 在【主機】頁面可以看到Server-A已經成功添加了

      同時,Server-A的zabbix-agent日誌也不再打印

      注: 由於在之前在安裝Zabbix server時,也在zabbix server上安裝了zabbix-agent,因此圖例上除了Server-A主機以外,還有zabbix server主機

    4. 通過全克隆添加主機Server-B

      選擇需要複製的主機Server-A

      點擊【全克隆】(full clone)

      修改主機名稱agent IP地址等信息

      修改配置項
      *主機名稱 Server-B
      *agent IP 192.168.152.143

      最後點擊【添加】,等待Server-B與zabbix server建立通信

    四.創建自定義模板(Template)

    在添加主機步驟中,添加了2台需要監控的主機,添加監控項時也可以給每台主機單獨添加監控項,但是隨着主機數量增多,就會出現過多重複的操作,因此可以使用zabbix的Templates(模板)Items(監控項Triggers(觸發器)等眾多配置定義在模板中,將主機鏈接到定義好的模板上,就可以免去重複的操作。

    下面將自定義模板,定義監控磁盤剩餘空間監控項,並配置觸發器當磁盤剩餘空間低於一定閾值時觸發告警。

    1. 創建自定義模板

      點擊【配置】-【模板】-【創建模板】

    2. 輸入模板信息,完成後點擊【添加】

      配置項
      * 模版名稱 Template Disk Free Size
      可見的名稱 Template Disk Free Size
      * 群組 Linux servers (選擇)
      描述 自定義磁盤剩餘空間模板

      注: 讀者也可以自定義一個群組,並在自定義群組中創建模板,這個步驟本文不再示範

    五.創建磁盤剩餘空間監控項和觸發器

    1. 創建自定義磁盤監控項(Item)

      進入自定義模板的監控項模塊

      點擊【創建監控項】

      輸入監控參數

      配置項
      * 名稱 磁盤剩餘空間監控項
      類型 Zabbix 客戶端
      * 鍵值 vfs.fs.size[/,free]
      單位 B
      ……其他配置項 根據需要填寫

      這裏的鍵值 vfs.fs.size[/,free]是指,監控根路徑下,空餘的磁盤大小

      點擊【添加】

      注:創建監控項(Items)可以參考, 更多的鍵值(Keys)可以參考

    2. 創建觸發器(Trigger)

      觸發器可以配置當監控項監控到的數據達到一定閾值,從而觸發問題。

      在Template Disk Free Size模板中選擇【觸發器】,點擊【創建觸發器】

      輸入觸發器參數

      配置項
      * 名稱 磁盤剩餘空間觸發器
      嚴重性 嚴重(選擇)
      * 表達式/問題表現形式 {Template Disk Free Size:vfs.fs.size[/,free].last()}<15000000000 (可通過選擇監控項)
      事件成功迭代 恢復表達式(選擇)
      * 恢復表達式 {Template Disk Free Size:vfs.fs.size[/,free].last()}>=15000000000
      問題事件生成模式 多重(選擇)

      表達式/問題表示形式

      選擇已配置的磁盤剩餘空間監控項

      配置結果 < 15000000000, 監控項中單位為B,這裏15GB換算成15000000000B

      點擊【插入】,可以看到如下錶達式,表達式意思是,當檢測到磁盤弓箭剩餘不足15GB時,將觸發問題

      {Template Disk Free Size:vfs.fs.size[/,free].last()}<15000000000

      因此可以直接輸入問題恢復表達式,即磁盤剩餘空間高於15GB時,恢復問題

      {Template Disk Free Size:vfs.fs.size[/,free].last()}>=15000000000

      點擊【添加】

      再將該自定義模板,鏈接到Server-A、Server-B主機的模板中,參考,不過在篩選模板時,群組要選擇Linux servers(與創建模板時群組保持一致),添加後點擊【更新】

      進入【配置】-【主機】-【Server-A】(或者 Server-B)-【監控項】中,可以搜索到磁盤剩餘空間監控項已經添加成功

      注:如果監控項狀態不為【已啟動】可以查看zabbix server日誌進行排查

    3. 測試一下

      當前Server-A主機磁盤剩餘空間,為15G

      上傳一些文件到Server-A,此時磁盤剩餘空間為14G

      等待Zabbix監控到Server-A磁盤變化,查看儀錶盤,出現問題,配置成功

      刪除Server-A大文件,等待Zabbix監控到主機磁盤恢復,儀錶盤問題恢復

    六.監控CPU空閑率

    在添加主機時,由於已經鏈接了模板(該模板還鏈接了Template Module Linux CPU by Zabbix agent等若干個其他模板),Template Module Linux CPU by Zabbix agent模板自帶了許多監控項,其中包括CPU idle time 監控項,因此可以直接使用該監控項監控主機CPU空閑率數值,無需自定義監控項,只需要添加一個觸發器(Trigger)來讀取監控項觸發告警即可。

    注: zabbix自帶模板中,有許多監控項可以直接利用起來,無需再單獨創建監控項,使用時可先在已有模板中查找下可用的監控項。

    1. 使用自帶模板中監控項

      直接使用CPU idle time 監控項即可,可以在【配置】-【主機】,【Server-A】的【監控項】中搜索到該監控項(在下圖中可以看到該監控項鏈接了模板)

    2. 在已有模板中添加觸發器(trigger)

      這裡在模板Template Module Linux CPU by Zabbix agent添加一個觸發器。

      點擊【配置】-【模板】搜索模板Template Module Linux CPU by Zabbix agent,並進入【觸發器】配置

      創建觸發器操作流程參考上面步驟中的,這裏說明一下配置參數

      配置項
      * 名稱 CPU空閑率觸發器
      嚴重性 嚴重 (選擇)
      表達式/問題表現式 {Template Module Linux CPU by Zabbix agent:system.cpu.util[,idle].avg(5m)}>=80
      事件成功迭代 恢復表達式(選擇)
      * 恢復表達式 {Template Module Linux CPU by Zabbix agent:system.cpu.util[,idle].avg(5m)}<80

      表達式/問題表現式:表示在5分鐘內CPU平均空閑率如果高於80%,那麼將觸發問題

      添加表達式示例:

      system.cpu.util[,idle]官方說明

      注:這裏修改了zabbix自帶的模板(Template Module Linux CPU by Zabbix agent),為其添加了一個新的觸發器,在實際使用中,要謹慎操作,因為鏈接了該模板的主機觸發器都會被修改,因此實際使用中需要對這種操作進行評估。

    3. 測試一下

      等待5分鐘,Zabbix server、Server-A、Server-B的CPU空閑率都高於80%,Dashboard界面觸發了問題,由於Zabbix server主機也鏈接了模板,因此修改Template Module Linux CPU by Zabbix agent模板,Zabbix server的CPU空閑率也被監控,所以在修改模板時要。

    七.監控內存佔用率

    在上面的步驟中添加了磁盤剩餘空間、CPU空閑率監控,直接使用了Zabbix 客戶端類型的監控項的鍵值,但是有些監控項可能不能直接獲取,需要通過計算的方式來獲取,例如監控內存佔用率,雖然可以使用vm.memory.size這個鍵值,但是得到值並不是我們所期望的,參考下面官方的解釋,雖然mode中有pused (used, percentage),但是“used”=”total – free”“available”=”free + buffers + cached”(內核版本Linux<3.14),實際是想要的值:

    (available - total) / total

    因此需要使用可計算的鍵值類型

    官方對vm.memory.size以及參數解釋:

    1. 在Template OS Linux by Zabbix agent模板新增監控項

      配置項
      * 名稱 內存佔用率監控項
      類型 可計算的
      * 鍵值 memory.utilization (自定義)
      * 公式 100*(last(“vm.memory.size[total]”)-last(“vm.memory.size[available]”))/last(“vm.memory.size[total]”)
      信息類型 浮點數
      單位 %
      ……其他配置項 默認即可

      自定義鍵值可自己輸入,具體規則參考官方

    這裏就不再創建觸發器了,感興趣的讀者可以自行創建,可參考上面的

    八.Dashboard創建圖形

    可以在首頁儀錶盤裡創建圖形,實時查看監控項的數據值。

    1. 回到zabbix首頁,點擊【編輯儀錶盤】-【添加構件】

    2. 創建磁盤剩餘空間圖形

      輸入基本信息

      添加【主機】和【監控項】

      左邊一欄選擇主機Server-A,右邊一欄選擇Server-A的磁盤監控項

      再【添加新數據集】,同樣操作將Server-B的磁盤監控也添加到圖形中

    3. 添加CPU空閑率圖形

      按照,添加Server-A,Server-B的CPU空閑率圖形

    4. 添加內存佔用率圖形

      同樣按照,添加Server-A,Server-B的內存佔用率圖形

    5. 保存設置並在儀錶盤中查看

      點擊【保存設置】

      在儀錶盤頁面查看圖形

    九.參考文檔

    本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    ※帶您來了解什麼是 USB CONNECTOR  ?

    ※自行創業 缺乏曝光? 下一步”網站設計“幫您第一時間規劃公司的門面形象

    ※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

    ※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

    ※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

    ※試算大陸海運運費!

  • Java 讀取Word批註中的文本和圖片

    Java 讀取Word批註中的文本和圖片

    本文將介紹讀取Word批註的方法,包括讀取Word批註中的文本及圖片。關於操作Word批註的方法還可以參考這兩篇文章:下面將通過Java代碼來演示如何讀取批註。

    工具使用: Word類庫(Free Spire.Doc for Java免費版

    Jar 文件獲取:可通過官網,下載後解壓文件,並將lib文件夾下的Spire.Doc.jar文件導入java程序;也可以通過Maven倉庫安裝導入,具體路徑配置及導入方法可以參考

    測試文檔如下:批註中包含文本和圖片

     

     

     

    【示例1 讀取批註中的文本

    import com.spire.doc.* ;
     import com.spire.doc.documents.Paragraph;
     import com.spire.doc.fields.Comment;
     import com.spire.doc.fields.TextRange;
    
    public  class ReadComment {
         public  static  void main(String[] args) {
             // 加載測試文檔 
            Document doc = new Document();
            doc.loadFromFile( "sample.docx" );
    
            // 實例化String類型變量 
            String text = "" ;
    
            // 遍歷所有批註
            for ( int i = 0;i< doc.getComments().getCount();i++ ){
                Comment comment = doc.getComments().get(i);
                 // 遍歷所有批註中的段落
                for ( int j= 0;j < comment.getBody().getParagraphs().getCount();j++ ) {
                    Paragraph paragraph = comment.getBody().getParagraphs().get(j);
                     // 遍歷段落中的對象
                    for (Object object : paragraph.getChildObjects()) {
                         // 讀取文本
                        if (object instanceof TextRange) {
                            TextRange textRange = (TextRange) object;
                            text = text + textRange.getText();
                        }
                    }
                }
            }
            // 輸入文本內容
            System.out.println(text);
        }
    }

    批註文本讀取結果:

     

    【示例2 讀取批註中的圖片

    import com.spire.doc.* ;
     import com.spire.doc.documents.Paragraph;
     import com.spire.doc.fields.Comment;
     import com.spire.doc.fields.DocPicture;
    
    import javax.imageio.ImageIO;
     import java.awt.image.RenderedImage;
     import java.io.File;
     import java.io.IOException;
     import java.util.ArrayList;
    
    
    public  class ExtractImgsInComment {
         public  static  void main(String[] args) throws IOException{
             // 加載測試文檔 
            Document doc = new Document();
            doc.loadFromFile( "sample.docx" );
    
            // 創建ArrayList數組對象 
            ArrayList images = new ArrayList();
    
            // 遍歷所有批註
            for ( int i = 0;i< doc.getComments().getCount();i++ ){
                Comment comment = doc.getComments().get(i);
                 // 遍歷所有批註中的段落
                for ( int j= 0;j < comment.getBody().getParagraphs().getCount();j++ ) {
                    Paragraph paragraph = comment.getBody().getParagraphs().get(j);
                     // 遍歷段落中的對象
                    for (Object object : paragraph.getChildObjects()) {
                         // 獲取圖片對象
                        if (object instanceof DocPicture){
                            DocPicture picture = (DocPicture) object;
                            images.add(picture.getImage());
                        }
                    }
                }
            }
            // 提取圖片,並指定圖片格式
            for ( int z = 0; z< images.size(); z++ ) {
                File file = new File(String.format("圖片-%d.png" , z));
                ImageIO.write((RenderedImage) images.get(z), "PNG" , file);
            }
        }
    }

    批註圖片讀取結果:

     

    (本文完)

     

    本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

    台灣海運大陸貨務運送流程

    兩岸物流進出口一站式服務

  • 2019全球電力碳排放降2% 達30年來最大降幅 歸因燃煤發電減少

    環境資訊中心綜合外電;姜唯 編譯;林大利 審校

    本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    ※帶您來了解什麼是 USB CONNECTOR  ?

    ※自行創業 缺乏曝光? 下一步”網站設計“幫您第一時間規劃公司的門面形象

    ※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

    ※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

    ※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

    ※試算大陸海運運費!

  • 可惡!極罕見全白長頸鹿明星母子 雙雙被盜獵慘遭扒皮

    摘錄自2020年3月11日自由時報報導

    肯亞一保護區的稀有全白長頸鹿一家三口在2017年被拍下身影後成為園區明星,不僅全球媒體爭相報導,每年更吸引大量遊客前往觀賞。然而,當時就曾有專家憂心牠們獨特的毛色會為其惹來殺身之禍,果不其然,園方今日宣布噩耗,近日發現長頸鹿母子慘遭盜獵後僅剩白骨的屍體。

    根據《CNN》報導,肯亞Ishaqbini Hirola保護區園方人員今(11日)證實,該園區明星、2017年爆紅的全白長頸鹿一家現已天人永隔,其中母、子獸在失蹤多時後,近日被發現僅剩森森白骨,後經確認遭盜獵者殺害、剝取毛皮後棄屍在地,專家認為,牠們已死亡至少四個月。

    園方表示,此一殺戮悲劇在各層面上都是一記重拳,不僅嚴重挑釁當局保護稀有、獨特物種的政策與宣言,對於當地旅遊業、遺傳學研究所投入的科研資金更是一大打擊。

    動物福利
    國際新聞
    肯亞
    長頸鹿
    盜獵
    剝皮

    本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

    ※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

    ※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

    台灣海運大陸貨務運送流程

    兩岸物流進出口一站式服務

  • 車王電、華德動能聯手搶攻智慧電動巴士

    台灣電動巴士廠商車王電與華德動能宣布,兩家公司將就電動公車展開智慧車聯網技術的研發工作,推出商務行動辦公室,最快在今年第四季就可量產。台灣、中國大陸與東南亞國家都是市場目標。

    車王電董事長蔡裕慶表示,電動車結合車聯網的模式,未來將席捲全球,因此車王電與華德動能合作,整合端、網、雲系統,所涉及的技術包括:車載通訊、行動影音娛樂、先進駕駛安全輔助(ADAS)與行車管理等系統,推出專為電動巴士所設計的完整車聯網系統平台。

    蔡裕慶表示,電動巴士加車聯網的全新營運模式,初期將會以台灣本土市場為主要目標,未來也會嘗試進入中國大陸、印度、香港、新加坡、越南等更多市場。他也指出,車王電與華德動能的合作主要在平台整合,進入各地市場之際,還會根據各市場的需求打造不同車體。

    藉著智慧化車聯網平台方案,蔡裕慶估計每輛車輛的售價將可提高一至二成。他認為,車用電子市場潛力龐大,車聯網與綠能都是未來發展的主要潮流。

    本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    ※帶您來了解什麼是 USB CONNECTOR  ?

    ※自行創業 缺乏曝光? 下一步”網站設計“幫您第一時間規劃公司的門面形象

    ※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

    ※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

    ※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

    ※試算大陸海運運費!