當前位置:編程學習大全網 - 編程語言 - pvf文件怎麽打開

pvf文件怎麽打開

PDFLib虛擬文件系統(PVF)允許客戶端直接通過內存提供數據。這可以提高效率,特別是當從數據庫中讀取數據時,或者是客戶端在內存中已具備需要的數據。PVF是建立在命名的虛擬只讀文件的基礎上的。可以通過API函數象操作正常的文件壹樣使用,甚至可以在UPR配置文件中使用。虛擬文件名可以由客戶程序按任意方式生成。顯然,虛擬文件名必須避免與實際磁盤文件沖突。由於這個原因,推薦使用以下的層次命名規範(filename是指由客戶程序指定的在作用域內唯壹的文件)。同時,推薦使用標準的文件名後綴。柵格圖象文件:/pvf/image/filename字形文件:/pvf/font/filenameICC profiles: /pvf/iccprofile/filename編碼和代碼頁:/pvf/codepage/filenamePDF文檔;/pvf/pdf/filenamePDFLib查找命名文件時,首先檢查文件名是否指向現有的虛擬文件,然後才試圖打開硬盤上的文件。虛擬文件的生命周期。壹些函數使用虛擬文件中的全部數據,另外壹些,可能僅讀取文件的壹部分,剩余部分在其它時間使用。由於這個原因,必須考慮虛擬文件的生命周期。PDFLib為每個虛擬文件加壹個內部的鎖,直到文件不再需要時才解鎖。除非客戶顯式請求復制數據(使用PDF_create_pvf()函數的復制選項),虛擬文件的內容只能被修改、刪除或釋放(當不再被PDFLib鎖定時)。當調用PDF_刪除()時,PDFLib自動刪除所有的虛擬文件。然而,實際的文件內容(虛擬文件中的數據)必須由客戶程序來釋放。不同的管理策略 PVF支持不同的方法對虛擬文件進行管理。管理規則基於這樣壹個事實,PDFLib也許需要在調用以虛擬文件名為參數的函數後存取虛擬文件的內容,但決不會在調用PDF_close()之後在存取文件內容。註意,調用PDF_刪除_pvf()並不會釋放實際的文件內容(除非提供了copy選項),而是釋放用於管理PVF文件名稱的數據結構。這就產生了以下的策略:最小化內存消耗:推薦在調用接受虛擬文件名稱的API之後或者是調用PDF_close()之後立即調用PDF_刪除_pvf()。第二個調用是必需的,因為PDFLib也許仍然需要存取數據,所以第壹個調用可能無法接除鎖定。有些情況下,第壹次調用已經釋放了數據,但第二次調用不會造成任何傷害。客戶程序只有在PDF_刪除_pvf()成功的情況下,才會釋放文件數據。通過重用虛擬文件優化性能:壹些客戶程序也許希望在壹系列的文檔輸出中重復使用某些數據(例如:字體定義),從而避免多次重復創建/刪除相同的文件內容。在這種情況下,建議在所有使用虛擬文件的PDF文檔輸出完成前,不要調用PDF_刪除_pvf()。懶人編程:如果內存消耗影響不大的話,客戶程序可以選擇不調用PDF_刪除_pvf()。PDFLib在PDF_刪除()中會內部刪除所有未釋放的虛擬文件。在所有的情況下,客戶程序只有在PDF_刪除_pvf()調用成功或PDF_刪除()調用之後才可以釋放相應的數據

  • 上一篇:編程入門先學什麽
  • 下一篇:設計模塊
  • copyright 2024編程學習大全網