


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、使用PDFLib生成PDF文檔(C語言版)一使用指導1. 基本環(huán)境 打開、關閉、文檔信息設定:新建PDFL讓 對象,PDF_new()設定錯誤處理的方式,PDF_set_pdrdmeter(p, "errorpolicy", "return"), return標示當發(fā)生錯誤時直接從L讓函數(shù)中返回。設定文檔信息,PDF_set_value()新建一個 PDF 文件,PDF_begin_document ()新建一個頁面,PDF_begin_page_ext ()關閉一個頁面,PDF_end_page_ext ()關閉 PDF 文件,PDF_end_docu
2、ment ()釋放 PDFLib 對象,PDF_delete()例外處理,PDF.TRY ()和 PDF.CATCH() 示例代碼:#include <stdio. h>nclude "pdflib. h"int mdin(int drgc, char *argv)Example ();return 0;int Example(void)PDF *p;辻(p 二 PDF_new()二二(PDF *) 0) printf (/zCouldn,t create PDFlib object (out of memory) !/n/z);return (2);PDF.T
3、RY(p) /* This means we must check return values of load_font() etc */PDF_set_parameter(p, "errorpolicy", "returrT);if (PDF_begin_document(p, "d:/hello. pdf", 0,"”)二二-1) printf ("Error: %s/nz,, PDF_get_errmsg (p);return (2);/* This line is required to avoid problems
4、 on Japanese systems */ PDF_set_parameter(p, "hypertextencoding", "host");PDF_set_parameter(p, "fdkebold", "true");PDF_set_info(p, "Creator", "hello, c");PDF_set_info(p, "Author", "Thomas Merz");PDF_set_info(p, "Tit
5、le", "Hello, world (C)!");PDF_begin_page_ext(p, a4_width, a4_height, “");PDF_setcolor(p, "fill", "cmyk", 1, 0, 0, 0);PDF_rect (p, 250,250, 100, 50);PDF_fill(p);PDF_end_page_ext(p, “");PDF_end_document(p, “");PDF.CATCH(p) printf C'PDFlib exception
6、 occurred in sample:/n/z):printf C %d %s: %s/n,z,PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p);PDF_delete(p);getchar ();return (2);PDF_delete(p);return 0;2. 文字輸出 加載字體使用PDF_load_font ()函數(shù)??谇霸赪indows平臺下,似乎只能加載可以安裝到Windows系統(tǒng)中的字體。如果加載已經(jīng)安裝到系統(tǒng)中的字體(在C:/windows/fonts文件夾下),可以直接通過字體的名字加載,如:font = P
7、DF_load_font(p, "MS UI Gothic", 0, "host",;font = PDF_load_font(p, "MKZ2", 0, "unicode",;也可以通過制定字體文件加載字體,如:PDF_set_pdrdmeter(p, "FontOutline",z,MKZ2=C:/windows/fonts/ MKZ2. ttf");font= PDF_load_font(p, "MKZ2", 0, "unicode",;&
8、quot;host"和"unicode"是用于字體編碼的方式,host日文系統(tǒng)下具體與代碼頁 cp932等相關,中文系統(tǒng)下與cp936相關。Unicode與PDF所規(guī)定的CMAP 文件相關,如:UniJIS-UCS2-H、EUC-H等的編碼文件。因為字體已經(jīng)安裝 到了 Windows系統(tǒng)中,具體的字體編碼方式,操作系統(tǒng)能夠自動處理,無需我們顯式的指定。加載字體是一件很耗費時間的工作,大概能占到整個處理的1/4左右。PDFLib已經(jīng)作了些優(yōu)化,當一個字體只要加載過一次,再次加載就會使用前面 產(chǎn)生的字體句柄,不再重新生成。PDFLib加載字體時默認是嵌入的,這樣會增大
9、輸出的PDF文件。好處是當文件被移動到其他系統(tǒng)上時,打開文件時不受字體的影響,否則,打開文件前需要先安 裝字體。我們這次的項LI,生成的PDF文件需要用FTP轉(zhuǎn)送到Solaris系統(tǒng),并且要 送入打印機,所以必須以嵌入方式加載的字體。 設置字體使用PDF_setfont ()函數(shù),如:PDF_setfont(p, font, 30);30指的是字號,也就是字體的高度。但這個和系統(tǒng)的縮放比例相關。如果設 字體前設定系統(tǒng)的縮放比例為2,實際輸出的字體的高度為60個單位。PSEdit的字體的輸出過程中,絕大部分采用的是變換系統(tǒng)坐標的方法來確定 字體的大小,所以編程中使用了 PDF_setfont(p, font, 1)的方式,即字體的大小為 當前系統(tǒng)的縮放比例的值相同。 文字輸出PDFLib的文字處理,較PostScript而言,加強了功能,增加了大量文字及段落 等的處理。但本次PSEdit編程中,受于以詢軟件框架的限制,只使用了單字輸岀的 功能PDF_info_text
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年初級銀行從業(yè)資格之初級個人理財考前沖刺模擬試卷B卷含答案
- 社團活動精細化管理計劃
- 2025年公寓的標準租賃合同
- 2025合同管理的核心原則與實踐合同法
- 2025租房合同范本「正式版」
- 學習方式變革與推廣計劃
- 機車雙機重聯(lián)連接總風管得原因
- 貨車內(nèi)循環(huán)和外循環(huán)的詳細說明
- 上門喂養(yǎng)寵物協(xié)議合同樣本
- 出國干活簽合同標準文本
- 華南理工大學自主招生個人陳述自薦信范文
- 《鄭人買履》課本劇劇本:別讓教條束縛了你的思維(6篇)
- T-SHXFXH002-2024集裝箱式柴油發(fā)電機組及油機平臺消防安全技術標準
- 幼兒園園長法律培訓
- 住建局條文解讀新規(guī)JGJT46-2024《施工現(xiàn)場臨時用電安全技術標準》
- 一例慢性心衰患者雙下肢重度水腫伴左下肢重度潰瘍的個案護理課件
- 男生穿搭技巧學習通超星期末考試答案章節(jié)答案2024年
- 飛機客艙保潔安全
- 《工程勘察設計收費標準》(2002年修訂本)-完整版-1
- 公路工程標準施工招標文件(2018年版)
- 高等數(shù)學(第五版)課件 3.1 微分中值定理與洛必達法則
評論
0/150
提交評論