国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于增量渲染的PDF可視化方法及系統(tǒng)與流程

      文檔序號(hào):40238872發(fā)布日期:2024-12-06 17:03閱讀:19來(lái)源:國(guó)知局
      一種基于增量渲染的PDF可視化方法及系統(tǒng)與流程

      本發(fā)明涉及文件處理,特別涉及一種基于增量渲染的pdf可視化方法及系統(tǒng)。


      背景技術(shù):

      1、隨著信息技術(shù)的飛速發(fā)展,pdf文檔已成為電子文檔傳輸和存儲(chǔ)的主要格式之一,pdf閱讀器會(huì)解析每個(gè)頁(yè)面對(duì)象,提取頁(yè)面中的文本、圖形、圖片等元素,按照字體、大小、顏色等屬性進(jìn)行渲染;而pdf文檔被解析后往往會(huì)出現(xiàn)部分頁(yè)面可視,部分頁(yè)面不可視的情況。目前pdf文檔的可視化方法通常需要對(duì)整個(gè)頁(yè)面進(jìn)行渲染,存在以下缺陷:

      2、一、對(duì)于大型pdf文檔,對(duì)整個(gè)頁(yè)面進(jìn)行渲染會(huì)耗時(shí)較長(zhǎng),且對(duì)設(shè)備資源的占用較大,導(dǎo)致用戶在瀏覽pdf文檔時(shí)出現(xiàn)卡頓或頁(yè)面顯示不流暢的問(wèn)題;

      3、二、pdf?文件通常包含大量的頁(yè)面和復(fù)雜的布局,一次性渲染整個(gè)pdf頁(yè)面可能會(huì)出現(xiàn)頁(yè)面排版錯(cuò)誤、字體缺失或部分內(nèi)容無(wú)法正確顯示的問(wèn)題,影響文檔的可讀性;

      4、三、對(duì)pdf文檔進(jìn)行整個(gè)頁(yè)面渲染時(shí),若用戶進(jìn)行縮放或滾動(dòng)等交互操作,則需要重新渲染整個(gè)頁(yè)面,從而渲染速度慢,響應(yīng)出現(xiàn)延遲,用戶體驗(yàn)感欠佳。

      5、因此,我們需要開(kāi)發(fā)出一種基于增量渲染的pdf可視化方法及系統(tǒng),能夠?qū)df文檔的可視頁(yè)面和非可視頁(yè)面進(jìn)行分開(kāi)渲染,無(wú)需一次性渲染整個(gè)pdf頁(yè)面;同時(shí)對(duì)已經(jīng)渲染過(guò)的頁(yè)面進(jìn)行緩存復(fù)用,提高pdf文檔的渲染速度


      技術(shù)實(shí)現(xiàn)思路

      1、本發(fā)明的目的在于提供一種基于增量渲染的pdf可視化方法及系統(tǒng),以解決上述背景技術(shù)中提到的現(xiàn)有渲染方法耗時(shí)較長(zhǎng)、資源占用較大以及用戶體驗(yàn)感欠佳的問(wèn)題。

      2、為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:

      3、根據(jù)本發(fā)明的一個(gè)方面,提供一種基于增量渲染的pdf可視化方法,所述方法具體步驟如下:

      4、解析pdf文檔,獲取所述pdf文檔的結(jié)構(gòu)信息和頁(yè)面內(nèi)容;

      5、根據(jù)所述pdf文檔的結(jié)構(gòu)信息和頁(yè)面內(nèi)容,確定所述pdf文檔中可視頁(yè)面的索引范圍;

      6、對(duì)所述索引范圍內(nèi)的可視頁(yè)面進(jìn)行按頁(yè)單獨(dú)渲染,生成第一渲染圖片后進(jìn)行緩存;

      7、通過(guò)增量分片渲染法對(duì)所述索引范圍外的非可視頁(yè)面進(jìn)行渲染,并將渲染完成后的圖片進(jìn)行緩存;

      8、遍歷所述pdf文檔,重復(fù)渲染的步驟,直至所述pdf文檔的頁(yè)面均被渲染。

      9、根據(jù)本發(fā)明的另一個(gè)方面,提供一種基于增量渲染的pdf可視化系統(tǒng),所述系統(tǒng)包括:文檔解析模塊、范圍確定模塊、單獨(dú)渲染模塊、增量渲染模塊以及遍歷循環(huán)模塊。其中:

      10、上述文檔解析模塊,用于解析pdf文檔,獲取所述pdf文檔的結(jié)構(gòu)信息和頁(yè)面內(nèi)容;

      11、上述范圍確定模塊,用于根據(jù)所述pdf文檔的結(jié)構(gòu)信息和頁(yè)面內(nèi)容,確定所述pdf文檔中可視頁(yè)面的索引范圍;

      12、上述單獨(dú)渲染模塊,用于對(duì)所述索引范圍內(nèi)的可視頁(yè)面進(jìn)行按頁(yè)單獨(dú)渲染,生成第一渲染圖片后進(jìn)行緩存;

      13、上述增量渲染模塊,用于通過(guò)增量分片渲染法對(duì)所述索引范圍外的非可視頁(yè)面進(jìn)行渲染,并將渲染完成后的圖片進(jìn)行緩存;

      14、上述遍歷循環(huán)模塊,用于遍歷所述pdf文檔,重復(fù)渲染的步驟,直至所述pdf文檔的頁(yè)面均被渲染。

      15、基于前述方案,所述pdf文檔的結(jié)構(gòu)信息包括:所述pdf文檔的頁(yè)面總數(shù)、所述pdf文檔的各頁(yè)面大小以及所述pdf文檔中各頁(yè)面的屬性。所述確定pdf文檔中可視頁(yè)面的索引范圍,具體包括:

      16、遍歷所述pdf文檔,檢查所述pdf文檔中是否存在隱藏頁(yè)面、空白頁(yè)面以及頁(yè)面內(nèi)容缺失超過(guò)50%的頁(yè)面;

      17、剔除所述隱藏頁(yè)面、空白頁(yè)面以及頁(yè)面內(nèi)容缺失超過(guò)50%的頁(yè)面,得到可視窗口的頁(yè)面位置;

      18、將所述可視窗口頂部的頁(yè)面位置作為起始索引,并將所述可視窗口底部的頁(yè)面位置作為終止索引,得到所述pdf文檔中可視頁(yè)面的索引范圍;其中,所述可視窗口頂部與所述可視窗口底部之間是連續(xù)不斷的可視頁(yè)面。

      19、基于前述方案,所述對(duì)索引范圍內(nèi)的可視頁(yè)面進(jìn)行按頁(yè)單獨(dú)渲染,具體包括步驟:

      20、根據(jù)當(dāng)前視窗大小得到所述可視頁(yè)面顯示的頁(yè)面范圍矩形;

      21、調(diào)用pdf底層渲染接口渲染所述頁(yè)面范圍矩形,生成第一渲染圖片并發(fā)送給緩存系統(tǒng)進(jìn)行緩存;

      22、判斷所述頁(yè)面范圍矩形是否等于當(dāng)前頁(yè)面索引對(duì)應(yīng)的可視頁(yè)面矩形;

      23、若不等于,則通過(guò)增量分片渲染法對(duì)當(dāng)前視窗以外的所述當(dāng)前頁(yè)面索引對(duì)應(yīng)的可視頁(yè)面進(jìn)行渲染,直至所述當(dāng)前頁(yè)面索引對(duì)應(yīng)的可視頁(yè)面渲染完成;

      24、若等于,則所述當(dāng)前頁(yè)面索引對(duì)應(yīng)的可視頁(yè)面渲染完成。

      25、基于前述方案,所述緩存系統(tǒng)緩存所述第一渲染圖片之前,還包括:所述緩存系統(tǒng)將所述第一渲染圖片與所述頁(yè)面范圍矩形、當(dāng)前頁(yè)面索引以及當(dāng)前界面的縮放值進(jìn)行關(guān)聯(lián)。

      26、基于前述方案,所述通過(guò)增量分片渲染法對(duì)索引范圍外的非可視頁(yè)面進(jìn)行渲染之前,還包括:

      27、將當(dāng)前視窗偏移到非可視頁(yè)面,并將所述當(dāng)前視窗的中心點(diǎn)與所述非可視頁(yè)面的中心點(diǎn)進(jìn)行對(duì)齊,得到所述當(dāng)前視窗與所述非可視頁(yè)面的重合矩形;

      28、將所述重合矩形作為所述非可視頁(yè)面的第一頁(yè)面范圍矩形,并調(diào)用pdf底層渲染接口渲染所述第一頁(yè)面范圍矩形,生成第二渲染圖片并發(fā)送給緩存系統(tǒng)進(jìn)行緩存。

      29、進(jìn)一步地,通過(guò)增量分片渲染法對(duì)所述索引范圍外的非可視頁(yè)面進(jìn)行渲染,具體包括:

      30、獲取第二渲染圖片并作為外擴(kuò)基礎(chǔ)矩形,在所述外擴(kuò)基礎(chǔ)矩形頂部進(jìn)行外擴(kuò),得到第一增量矩形;

      31、調(diào)用pdf底層渲染接口渲染所述第一增量矩形,生成第一增量渲染圖片;

      32、將所述第一增量渲染圖片與所述外擴(kuò)基礎(chǔ)矩形進(jìn)行拼接,得到第二頁(yè)面范圍矩形并發(fā)送給所述緩存系統(tǒng)進(jìn)行緩存;

      33、將所述第二頁(yè)面范圍矩形作為新的外擴(kuò)基礎(chǔ)矩形,在所述新的外擴(kuò)基礎(chǔ)矩形的右側(cè)進(jìn)行外擴(kuò),得到第二增量矩形;

      34、調(diào)用所述pdf底層渲染接口渲染所述第二增量矩形,生成第二增量渲染圖片;

      35、將所述第二增量渲染圖片與所述新的外擴(kuò)基礎(chǔ)矩形進(jìn)行拼接,得到第三頁(yè)面范圍矩形并發(fā)送給所述緩存系統(tǒng)進(jìn)行緩存;

      36、按照順時(shí)針?lè)较蛲鈹U(kuò)的順序,重復(fù)外擴(kuò)、渲染以及生成新的外擴(kuò)基礎(chǔ)矩形的步驟,直至所述非可視頁(yè)面均被渲染。

      37、其中,所述順時(shí)針?lè)较蛲鈹U(kuò)是指分別在外擴(kuò)基礎(chǔ)矩形的頂部、右側(cè)、底部和左側(cè)進(jìn)行外擴(kuò),且在進(jìn)行外擴(kuò)時(shí),若外擴(kuò)方向?yàn)轫敳炕虻撞浚瑒t設(shè)置增量矩形的寬度與其對(duì)應(yīng)的外擴(kuò)基礎(chǔ)矩形的寬度一致,高度為所述對(duì)應(yīng)的外擴(kuò)基礎(chǔ)矩形高度的1/2;若外擴(kuò)方向?yàn)橛覀?cè)或左側(cè),則設(shè)置增量矩形的寬度為所述對(duì)應(yīng)的外擴(kuò)矩形寬度的1/2,高度與所述對(duì)應(yīng)的外擴(kuò)矩形高度一致。進(jìn)一步地,所述增量矩形需在pdf文檔的當(dāng)前頁(yè)面范圍內(nèi);若外擴(kuò)時(shí),設(shè)置的所述增量矩形的高度或?qū)挾瘸隽怂鰌df文檔的當(dāng)前頁(yè)面范圍,則將所述pdf文檔的當(dāng)前頁(yè)面邊界作為所述增量矩形的高度或?qū)挾鹊纳舷蕖?/p>

      38、基于前述方案,當(dāng)生成增量渲染圖片并與其對(duì)應(yīng)的外擴(kuò)基礎(chǔ)矩形進(jìn)行拼接時(shí),按照外擴(kuò)時(shí)的方向進(jìn)行拼接。

      39、由上述技術(shù)方案可知,本發(fā)明與現(xiàn)有技術(shù)相比,至少具備以下優(yōu)點(diǎn)和積極效果:

      40、(1)本發(fā)明通過(guò)確定pdf文檔解析后的可視頁(yè)面范圍,并對(duì)可視頁(yè)面和非可視頁(yè)面進(jìn)行分開(kāi)渲染,能夠有效緩解整頁(yè)渲染時(shí)設(shè)備資源占用較大的問(wèn)題,提升渲染速度。

      41、(2)本發(fā)明對(duì)已經(jīng)渲染過(guò)的頁(yè)面進(jìn)行緩存復(fù)用,減少了對(duì)相同頁(yè)面的重復(fù)渲染,提升渲染效率的同時(shí)也能使用戶在進(jìn)行縮放或滾動(dòng)等交互操作時(shí)更加流暢,提升用戶體驗(yàn)感。

      42、(3)本發(fā)明通過(guò)增量分片渲染法對(duì)非可視頁(yè)面進(jìn)行逐步渲染,在保證pdf文檔的頁(yè)面均被渲染的同時(shí)降低對(duì)設(shè)備資源的占用,不僅能有效解決整頁(yè)渲染時(shí)部分內(nèi)容缺失的問(wèn)題,還能減少頁(yè)面卡頓的情況,提升渲染質(zhì)量。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1