欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:pdf Document

柚子快報邀請碼778899分享:pdf Document

http://yzkb.51969.com/

var?ctx?=?canvas.getContext(‘2d’);

canvas.height?=?viewport.height;

canvas.width?=?viewport.width;

page.render({

canvasContext:?ctx,

viewport:?viewport

});

});

}

PDFJS.getDocument(url).then(function?(pdf)?{

pdfDoc?=?pdf;

for?(var?i?=?1;?i?<=?pdfDoc.numPages;?i++)?{

renderPage(i)

}

});

新建Html

content=“width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=4.0,user-scalable=no”/>

Document

準備好js和html后,使用webview對在線pdf(www.gjtool.cn/pdfh5/git.p…[1] 進行加載,

webView?.loadUrl(“file:///android_asset/index.html?https://www.gjtool.cn/pdfh5/git.pdf”);

運行成功后,pdf也加載出來了。

添加雙指縮放

好家伙,終于是加載出了pdf,我滿心歡喜的拿著效果給產(chǎn)品看一看。

“你這是加載出來了,但是字體看著有點小,你看能不能加上雙指縮放的功能”。產(chǎn)品小王看了一眼,

“那必須能啊。”

將webview設置為支持縮放狀態(tài),并且useWideViewPort設置為true,讓Webivew支持meta標簽的viewport屬性,

settings?.useWideViewPort?=?true

settings?.builtInZoomControls?=?true

settings?.setSupportZoom(true)

settings?.displayZoomControls?=?false?//不顯示縮放按鈕

并且修改html中的meta屬性,設置minimum-scale,maximum-scale屬性,以及將user-scalable置為yes,

運行成功后,成功對pdf進行雙指縮放。

產(chǎn)品看了過后,點了點頭。我也開開心心的提交了代碼。

簽章無法顯示

以為這個小功能已經(jīng)開發(fā)完成,沒有多大的問題,直到有一天測試小姐姐找到我,

“你這pdf顯示有問題,當pdf上有簽章時,簽章無法顯示”

“what?”

簽章無法顯示,這個倒是沒有自測過,趕緊找測試要了鏈接來驗證,經(jīng)過驗證,簽章的顯示確實有問題。所謂簽章,即在pdf上加蓋公章或者簽名。如下圖

(來源網(wǎng)絡)

簽章是屬于后期添加在pdf上,對于簽章的加載,簡單的js是無法加載成功的。

那該如何處理?

其實有個非常強大的第三方庫pdf.js[2]已經(jīng)幫我們處理好了,pdf.js可通過pdf文件的地址或pdf數(shù)據(jù)流獲取pdf,具體實現(xiàn)是調用接口函數(shù) PDFJs.getDocument(url/buffer)將pdf載入html,通過canvas處理, 然后渲染pdf文件,當然也能夠顯示出簽章。

只不過它的使用有點麻煩,需要先將pdf.js下載出來,下載地址[3] ,copy到Android項目中assert文件夾中,

最后加載方式還是和上方一樣使用webview來加載。缺點就是包體積增大。

當我們使用pdf.js默認加載pdf時,會發(fā)現(xiàn)效果圖的上方出現(xiàn)了多余的控制按鈕,比如下圖:

但是在UI設計圖中,是沒有包含這些控制按鈕的,如果就這么提交,估計不一會UI小姐姐就來找我了。

那該如何處理?

其實在本篇一開始使用的方式中,加載完成pdf是沒有這些控制按鈕的,那么問題來了,我們是不是可以將第一種方式與pdf.js相結合,來進行加載?

pdf.js主要包含兩個核心庫文件,一個pdf.js和一個pdf.worker.js,一個負責API解析,一個負責核心解析。如果需要與第一種方式結合,我們就將pdf.js、pdf.worker.js以及pdf.sandbox.js三個文件copy出來,放到assert中。

在html中的script標簽中添加對pdf.js、pdf.worker.js等的引用,

修改index.js文件

var?url?=?location.search.substring(1);

function?createPage()?{

var?div?=?document.createElement(“canvas”);

document.body.appendChild(div);

return?div;

}

alert(url);

function?renderPage(num)?{

pdfDoc.getPage(num).then(function?(page)?{

var?viewport?=?page.getViewport({?scale:?2.0?});

var?canvas?=?createPage();

var?ctx?=?canvas.getContext(‘2d’);

canvas.height?=?viewport.height;

canvas.width?=?viewport.width;

page.render({

canvasContext:?ctx,

viewport:?viewport

}).promise.then(()?=>?{});

});

}

pdfjsLib.getDocument(url).promise.then(function?(pdf)?{

pdfDoc?=?pdf;

for?(var?i?=?1;?i?<=?pdfDoc.numPages;?i++)?{

renderPage(i)

}

});

可以看到運行成功后,簽章成功展示且多余的控制按鈕也不會顯示,這里效果圖就不展示了。

我又開開心心的提交了代碼。

中文字符顯示不全

又過了一段時間,我正愉快的敲著代碼,這時候測試小姐姐又找到了我,

“這邊pdf顯示有點問題,一些文字、字符顯示不全,出現(xiàn)缺少字符的現(xiàn)象”

“what?”

我趕緊重現(xiàn)驗證下,當pdf上有多種字體時,會有概率出現(xiàn)字符顯示不全的現(xiàn)象。查了查,當運行加載此類pdf時,在控制臺上會出現(xiàn)了一些警告信息。

“Error during font loading”

是因為在解析pdf時,默認的字體庫已經(jīng)不能覆蓋多種字體,也就無法將所有字體顯示完全。

那如何處理?

默認字體庫無法滿足,那就添加新的字體庫,

在pdf.js文件中添加cMapUrl = “cdn.jsdelivr.net/npm/pdfjs-d…[4]” ,

params.rangeChunkSize?=?params.rangeChunkSize?||?DEFAULT_RANGE_CHUNK_SIZE;

params.CMapReaderFactory?=?params.CMapReaderFactory?||?DefaultCMapReaderFactory;

params.ignoreErrors?=?params.stopAtErrors?!==?true;

params.fontExtraProperties?=?params.fontExtraProperties?===?true;

params.pdfBug?=?params.pdfBug?===?true;

params.enableXfa?=?params.enableXfa?===?true;

params.cMapPacked?=?true

params.cMapUrl?=?“https://cdn.jsdelivr.net/npm/pdfjs-dist@2.2.228/cmaps/”

ok,運行看看,中文已顯示完全。

以上,webview加載pdf的問題基本已經(jīng)解決。針對webview加載pdf的方案,主要解決問題如下:

雙指縮放; 簽章無法顯示;

自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進入阿里一直到現(xiàn)在。

深知大多數(shù)前端工程師,想要提升技能,往往是自己摸索成長或者是報班學習,但對于培訓機構動則幾千的學費,著實壓力不小。自己不成體系的自學效果低效又漫長,而且極易碰到天花板技術停滯不前!

因此收集整理了一份《2024年Web前端開發(fā)全套學習資料》,初衷也很簡單,就是希望能夠幫助到想自學提升又不知道該從何學起的朋友,同時減輕大家的負擔。

既有適合小白學習的零基礎資料,也有適合3年以上經(jīng)驗的小伙伴深入學習提升的進階課程,基本涵蓋了95%以上前端開發(fā)知識點,真正體系化!

由于文件比較大,這里只是將部分目錄截圖出來,每個節(jié)點里面都包含大廠面經(jīng)、學習筆記、源碼講義、實戰(zhàn)項目、講解視頻,并且會持續(xù)更新!

如果你覺得這些內容對你有幫助,可以掃碼獲?。。。▊渥ⅲ呵岸耍?/p>

最后

整理面試題,不是讓大家去只刷面試題,而是熟悉目前實際面試中常見的考察方式和知識點,做到心中有數(shù),也可以用來自查及完善知識體系。

《前端基礎面試題》,《前端校招面試題精編解析大全》,《前端面試題寶典》,《前端面試題:常用算法》PDF完整版點擊這里領取

源碼講義、實戰(zhàn)項目、講解視頻,并且會持續(xù)更新!**

如果你覺得這些內容對你有幫助,可以掃碼獲?。。。▊渥ⅲ呵岸耍?/p>

最后

整理面試題,不是讓大家去只刷面試題,而是熟悉目前實際面試中常見的考察方式和知識點,做到心中有數(shù),也可以用來自查及完善知識體系。

《前端基礎面試題》,《前端校招面試題精編解析大全》,《前端面試題寶典》,《前端面試題:常用算法》PDF完整版點擊這里領取

[外鏈圖片轉存中…(img-TyeqFDBQ-1712546616292)]

[外鏈圖片轉存中…(img-w75QqgmZ-1712546616293)]

[外鏈圖片轉存中…(img-ZXAMMXzY-1712546616293)]

柚子快報邀請碼778899分享:pdf Document

http://yzkb.51969.com/

文章來源

評論可見,查看隱藏內容

本文內容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18810625.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄