❶ post請求下載pdf文件內容顯示不出來
post請求下載pdf文件內容顯示轎族不出橋橘來原因:
1、網路錯誤,下載時未完全將文件下載成功,導致無法顯示。
2、原閉消弊文件出錯,導致下載後的pdf文件無法正常使用。
❷ 請求pdf文件轉word文件
1.需要用到轉換PDF文件格式的工具,例如
迅捷PDF轉換器
,當然,手機上這樣的軟體也比較多,
以PDF轉檔型Word為例
2.運行PDF轉換器,點擊「PDF轉Word」這個睜蠢散功能。
3.找到要進行轉換的pdf文件,軟體會自動導出手機里存有的PDF文件,選中即可。
4.找到你想要轉換的PDF文件,點擊添加PDF文件,然後點擊確定轉換
5.接著開始轉換文檔,需要稍悉氏微等一會兒
6.待PDF轉換成Word文檔格式後,點擊查看文檔
7.可通過手機上的WPS,打開查看編輯轉換好的Word文檔。
❸ 解決react項目中PDF的顯示與列印問題
最近項目中有這樣一個需求:
拿到這個需求,真時一頭霧水。因為沒有做過類似需求,不知從何下手。在查閱資料的過程中,發現有很多jQuery插件可以實現顯示pdf, 但是我們是react單頁面應用項目,看來這些插件並不適用,只能另尋其它方法。
後來在 npmjs.com 上找到了 react-pdf-js 組件, 心想顯示pdf有望。就迫不及待將 react-pdf-js 依賴 通過 cnpm install react-pdf-js --save-dev 命令安裝到項目中,通過 import PDF from 'react-pdf-js' 引入到項目里。將<PDF file={pdfUrl} onDocumentComplete={this.onDocumentComplete} onPageComplete={this.state.page} />插入render里。
在調試過程中發現靜態pdf文件可以顯示,在線pdf文件不能顯示。通過控制的報錯信息了解道,react-pdf-js組件要求file文件地址是url或者base64格式, 既然url行不通,就只能往base64上靠了。
一開始我直接將將pdf的在線地址url轉換為base64,但是不能顯示。後來想明白了,只把url轉換成base64格式是沒有用的,需要把pdf的文件內容轉換成base64才行。接下來就順理成章,通過從後台獲取到的pdf的url地址,再次請求獲取到pdf文件。
在做這部分的遇到一個小問題:能請求成功,就是獲取不到pdf文件,在這糾結了很久,也不知道該如何解決,把問題描述給我們公司的架構師,我們分析這是跨域問題造成的,他給nginx伺服器的配置解決了跨域問題。
這里需要注意請求pdf文件的時候要設置 responseType 為blob, 為什麼使用blob類型下面解釋,到這我就拿到了pdf文件,將其轉化為base64格式。
base64格式的轉換,需要時blob格式,將轉化為base64格式的pdf,在file={file}, 將其在瀏覽器上顯示出來。實際上最終是以canvas來呈現的PDF。
pdf顯示算是告一段落,接下來就是列印了。
在瀏覽器上,列印分整頁列印和指定部分列印。項目需要列印製定部分內容列印,實現列印的方法多種多樣,我使用了傳統的css控制。通過 @media print 將列印時不需要列印的部分隱藏掉,那麼剩下的就是要列印的部分了。
這里有個調試的小技巧:因為只有當調用了瀏覽器的列印才會調用@media print 里的樣式,所以可以將這部分樣式放在外面,當將不需要列印的部分都隱藏掉了,再將外部的這些樣式去掉,給@media print即可。
調用瀏覽器的列印使用的 window.print() , 雖然不能兼容所有瀏覽器,但是常見的高級瀏覽器都可以兼容,滿足了我們的項目需求,這里我就沒有繼續深挖。
pdf的顯示與列印,前前後後遇到了不少問題,以上流水做個總結。