Win10 開發 讀取PDF文件

2021-09-07 01:38:00 字數 2508 閱讀 7890

原文:【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開啟開發人員模式 ...