原文:【win10 開發】讀取pdf文件
關於用來讀取pdf文件的內容的api,其實在win8.1的時候就有,不過沒關係,既咱們討論的是10的uap,連同8.1的內容也包括進去,所以老周無數次強調:把以前的內容學好了,就可以在不學習任何新知識的前提直接進入10的開發,至於你信不信,反正我信了。
好,p話不扯了,今天剛公升級了build 10061,vs建立uap並執行是沒什麼問題的,不過xaml設計器貌似不太聽話,比較淘氣;還有個別api有問題,雖然異常報的是clr損壞,但我們知道rt其實是基於com的形式註冊的,實際上是win32的資料封送過程出現錯誤造成的,更精細一點說,就是指標讀了不該讀的記憶體位址造成的。這種事件在com中也常見,畢竟現在是預覽階段,任何靈異事件都是正常的,我已經向官方團隊feed back了。
支援讀取pdf文件的型別都扔在windows.data.pdf命名空間下,你就在這裡面拼命找就行了。
載入pdf文件操作起來也不算複雜。
1、pdfdocument類表示乙個pdf文件物件,可以呼叫靜態的loadfromfileasync方法從檔案中載入,也可以呼叫靜態的loadfromstreamasync方法從流載入。從pdf檔案載入的情況比較多。
2、得到pdfdocument例項後,你可以查閱一下pagecount屬性,看看這個文件有多少頁。如果頁數不多,可以考慮一次性載入,如果文件有30萬頁的話,建議換一台世界上最貴的電腦來載入。
3、通過getpage方法獲取乙個頁面的內容,方法引數當然是頁碼了,這個頁碼從0開始,最後一頁就是count - 1。
4、得到pdfpage例項後,因為頁面內容剛被取出,有些緊張,全身發抖,所以先呼叫一下preparepageasync方法,讓頁面做一下深呼吸,調整一下心態。但經測試,不呼叫這個方法也沒有發生異常,頁面也能正確載入。
5、深呼吸做完後,就要開始表演了。呼叫rendertostreamasync方法讓頁面表演節目,並且全程錄影,最後以格式儲存到流中。這個流可以是記憶體流,也可以是檔案流。如果是檔案流的話,相當於把pdf的每一頁都匯出為一張。
6、可以用image類在介面上顯示pdf頁面了。
理論永遠都是無聊的,咱們還是實幹吧。為了解除大家的工作疲勞狀態,我這個示例用來演示的pdf是關於美女的,我知道大家看到美女就會興奮的。
看看**:
"));
pdfdocument pdf = await
pdfdocument.loadfromfileasync(pdffile);
//獲取pdf文件的總頁數
uint pagecount =pdf.pagecount;
list
pageimages = new list();
//獲取頁面列表
for(uint p = 0; p < pagecount; p++)
flpv.itemssource = pageimages;
載入後得到文件的總頁數,然後乙個迴圈把所有頁面都讀出來,並生成影象。因為這個pdf頁數不多,反正在小霸王學習機上面執行是沒問題的。
<好,執行一下,看看結果。grid
margin
="20"
>
<
grid.rowdefinitions
>
<
rowdefinition
height
="auto"
/>
<
rowdefinition
/>
grid.rowdefinitions
>
<
button
content
="載入pdf"
margin
="15,8"
click
="onclick"
/>
<
flipview
grid.row
="1"
name
="flpv"
>
<
flipview.itemtemplate
>
<
datatemplate
>
<
scrollviewer
zoommode
="enabled"
horizontalscrollbarvisibility
="auto"
verticalscrollbarvisibility
="auto"
>
<
image
source=""
/>
scrollviewer
>
datatemplate
>
flipview.itemtemplate
>
flipview
>
grid
>
就這樣吧,要開飯了。
讀取PDF文件
coding utf 8 匯入開發包 frompdfminer.pdfparserimportpdfparser,pdfdocument frompdfminer.pdfinterpimportpdfresourcemanager,pdfpageinterpreter frompdfminer.pd...
c 讀取pdf文件
2.解壓pdfbox,專案中新增存在解壓後bin目錄下的dll檔案 ikvm.gnu.classpath.dll ikvm.runtime.dll fontbox 0.1.0 dev.dll pdfbox 0.7.3.dll 3.檔案中引入2個命名空間 using org.pdfbox.pdmode...
win10開發者模式
1.偶然逛開源中國的時候看到了一篇文章 說是開發者應該轉向win10而放棄linux當時很不以為然。還有所說的vs code 無非就是盜版的atom嗎?後來自己決定親自體驗下,說實話,作為乙個php開發者來說!這種方式確實好過linux下wine辦公軟體好很多!2.先將window開啟開發人員模式 ...