JFreeChart-導(dǎo)出圖表為PDF格式_第1頁
JFreeChart-導(dǎo)出圖表為PDF格式_第2頁
JFreeChart-導(dǎo)出圖表為PDF格式_第3頁
JFreeChart-導(dǎo)出圖表為PDF格式_第4頁
JFreeChart-導(dǎo)出圖表為PDF格式_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

JFreeChartJohnRain簡介圖表實(shí)例下載和安裝JFreeChart使用JFreeChart餅圖直方條形圖折線圖時序圖定制圖表動態(tài)圖圖表工具條圖表條目標(biāo)簽多軸和數(shù)據(jù)源圖表組合圖表數(shù)據(jù)源和JDBC導(dǎo)出圖表為PDF格式導(dǎo)出圖表為SVG格式AppletServletsJFreeChart相關(guān)技術(shù)包使用JFreeChart簡介什么是AcrobatPDFITextGraphics2D開始導(dǎo)出實(shí)例應(yīng)用查看PDF文件Unicode字符問題導(dǎo)出圖表為PDF格式將一個JFreeChart生成圖表轉(zhuǎn)換成PDF格式文件,使用的工具是IText。后面用一個簡單的實(shí)例說明創(chuàng)立PDF文件的過程,該P(yáng)DF文件包含了一個簡單的圖表。生成的文件,可以使用Acrobat閱讀器來閱讀,也可以使用支持PDF文件閱讀的閱讀器來閱讀。簡介簡介什么是AcrobatPDFITextGraphics2D開始導(dǎo)出實(shí)例應(yīng)用查看PDF文件Unicode字符問題導(dǎo)出圖表為PDF格式AcrobatPDF是一款非常流行的電子文檔閱讀器。可實(shí)現(xiàn)不同的硬件平臺和軟件應(yīng)用程序之間的信息共享,不受軟件版本的不同和安裝的字體的影響。PDF可以使用Adobe提供的一個免費(fèi)工具AcrodbatReader來創(chuàng)立。AcrodbatReader在終端用戶各種平臺上是有效的,包括GNU/Linux,Windows,Unix,Machintosh等。如果你的系統(tǒng)上沒有安裝AcrodbatReader,可以到下面鏈接去下載:什么是AcrobatPDF簡介什么是AcrobatPDFITextGraphics2D開始導(dǎo)出實(shí)例應(yīng)用查看PDF文件Unicode字符問題導(dǎo)出圖表為PDF格式iText是一個能夠快速產(chǎn)生PDF文件的java類庫。iText的主頁下載地址是:IText簡介什么是AcrobatPDFITextGraphics2D開始導(dǎo)出實(shí)例應(yīng)用查看PDF文件Unicode字符問題導(dǎo)出圖表為PDF格式JFreeChart使用iText工具是非常容易的事情,因?yàn)閕Text提供了Graphics2D的實(shí)現(xiàn)。在說明實(shí)例應(yīng)用之前,先回憶一下Graphics2D的類。類,標(biāo)準(zhǔn)java2DAPI的一局部。定義了在二維空間中大量畫文本和圖形的方法。Graphics2D局部子類處理全部的轉(zhuǎn)化細(xì)節(jié),從輸出〔文本和圖形〕到具體設(shè)置的映射轉(zhuǎn)化。Graphics2DJFreeChart畫圖表時,僅僅使用Graphics2D定義的方法。這就意味著JFreeChart可以將圖表輸出到Graphics2D子類支持的任何設(shè)備。Graphics2DiText工具融入了PdfGraphics2D的一個類,這就意味著iText使用Graphics2D類定義的方法產(chǎn)生PDF內(nèi)容。并且正如你在后面看到的,在PDF格式中產(chǎn)生圖表會變的非常的容易。Graphics2D簡介什么是AcrobatPDFITextGraphics2D開始導(dǎo)出實(shí)例應(yīng)用查看PDF文件Unicode字符問題導(dǎo)出圖表為PDF格式為了完成和演示應(yīng)用實(shí)例,我們需要下面的jar文件:首先JFreeChart包括兩個jar文件,其次iText需要一個jar文件。開始導(dǎo)出簡介什么是AcrobatPDFITextGraphics2D開始導(dǎo)出實(shí)例應(yīng)用查看PDF文件Unicode字符問題導(dǎo)出圖表為PDF格式首先,需要創(chuàng)立一個圖表,我們創(chuàng)立一個時序圖,代碼如下:這里沒有任何的特殊代碼——事實(shí)上,可以使用創(chuàng)立JFreeChart的其他對象替代上面的代碼。實(shí)例應(yīng)用下一步,將在一個PDF文件中保存一個圖表的副本:下面有一些需要注意的問題:首先,PDF文件名稱是硬編碼完成的,不能修改。主要是在演示中,減少代碼量。在實(shí)際應(yīng)用中,需要提供一些讓用戶指定文件名稱與路徑的方式,比方彈出一個文件選擇對話框。實(shí)例應(yīng)用其次,saveChartAsPDF()方法還未實(shí)現(xiàn)。為了創(chuàng)立這個方法,先創(chuàng)立另一個更通用的writeChartAsPDF().方法。該方法執(zhí)行saveChartAsPDF()方法需要的全部工作。但該方法的輸入?yún)?shù)是一個文件輸出流而不是一個文件,代碼如下:實(shí)例應(yīng)用在上面代碼的方法里面,看到一些創(chuàng)立和代碼iText文檔的代碼,從文檔中獲得了一個Graphics2D實(shí)例,使用Graphics2D對象畫出這個圖表,并關(guān)閉了這個文檔。同時也注意到方法的一個參數(shù)是FontMapper對象。iText使用FontMapper接口將java字體對象映射成根本的字體對象。DefaultFontMapper類預(yù)先默認(rèn)映射為java本地化字體。如果希望用這些字體,使用DefaultFontMapper構(gòu)建缺省的對象即可,如果想使用其他的字體〔例如,支持一個特殊的字符集〕,那么需要做一些額外的工作。后面將有介紹。實(shí)例應(yīng)用在writeChartAsPDF()方法的實(shí)現(xiàn)里面,創(chuàng)立了一個自定義頁面尺寸大小〔匹配字符的需要尺寸〕的PDF文檔。提前設(shè)置了改變了字符的尺寸、位置并且在PDF文檔中畫出多個字符,以適應(yīng)不同的頁面尺寸。實(shí)例應(yīng)用現(xiàn)在將使用saveChartAsPDF()方法很容易的實(shí)現(xiàn)了將一個PDF數(shù)據(jù)發(fā)送到一個數(shù)據(jù)流上。簡化了創(chuàng)立文件輸出流的過程,并且將該對象傳給了writeChartAsPDF()方法。代碼如下:上面的每一步代碼都是必須的。上面的代碼組合成全部的代碼如下〔整個工程的代碼都在這里,以便可以看到所有的聲明和內(nèi)容〕:實(shí)例應(yīng)用在完成和運(yùn)行上面的應(yīng)用之前,記得修改PDF文件的名稱以滿足要求。同時前面提到的jar也必須在的classpath中。實(shí)例應(yīng)用簡介什么是AcrobatPDFITextGraphics2D開始導(dǎo)出實(shí)例應(yīng)用查看PDF文件Unicode字符問題導(dǎo)出圖表為PDF格式完成上面實(shí)例,運(yùn)行實(shí)例,會產(chǎn)生一個PDF文檔??梢允褂靡粋€PDF瀏覽器〔比方AcrobatReader〔或者其他支持的閱讀器,GnomePDFViewer〕〕查看該文件,顯示的界面如以下圖查看PDF文件大局部的PDF閱讀器都提供了縮放技術(shù),以允許更進(jìn)一步瀏覽圖表。查看PDF文件簡介什么是AcrobatPDFITextGraphics2D開始導(dǎo)出實(shí)例應(yīng)用查看PDF文件Unicode字符問題導(dǎo)出圖表為PDF格式在JFreeChart和iText中使用Unicode字符集是沒有任何問題的。在上面的例子中需要做一些修改來演示如何做到這些。背景字體、iText和Java映射第三方的字體Unicode字符問題Java使用同一的字符集譯碼成文本字符串。這種譯碼對每個字符使用16進(jìn)制。這就意味著將有65,536個有效的不同字符集〔在Unicode標(biāo)準(zhǔn)中定義了大約38,000個字符〕??梢栽贘FreeChart和iText中使用這些字符,但歸于一條:那就是只要使用字體,包括用來顯示的文本或者不顯示的,都必須定義這些字符。許多字體并不完全顯示成Unicode字符集。下面的網(wǎng)站含有那些確實(shí)支持Unicode的字體的有用信息:可以成功的提取使用tahoma.ttf字體。實(shí)際上,下面實(shí)例中將使用該字體,Tahoma字體并不是支持Unicode定義的每一個字符。因此,如果想使用一種特殊的字體時,就得必須選Unicode中一種相近的字體來代替。系統(tǒng)上都安裝了字體UnicodeMS(arialuni.ttf)——該字體完全支持Unicode字符集,盡管這種字體的定義的文件特別大〔大約24M〕背景背景字體、iText和Java映射第三方的字體Unicode字符問題iText依照PDF規(guī)格來處理字體,這就對使用PDF文件嵌入的字體來處理文件帶來了非常大的方便性,同時也需要自由讀取定義文件的字體。而java在字體類中汲取了局部字體格式的大局部細(xì)節(jié)內(nèi)容。在iText中,為支持Graphics2D的實(shí)現(xiàn)畫圖功能,實(shí)現(xiàn)從Java字體對象到BaseFont對象的映射字體對象是非常有必要的。這就是FontMapper接口所扮演的角色。字體、iText和Java如果使用缺省的構(gòu)建器構(gòu)建了一個新的DefaultFontMapper實(shí)例,那么總會帶有Java規(guī)格定義的本地字體映射。但是如果使用其他一些字——并且必須使用Unicode之外的字符——那么需要將其他的字符映射參加到DefaultFontMapper對象中。字體、iText和Java背景字體、iText和Java映射第三方的字體Unicode字符問題這里使用Tahoma字體來顯示標(biāo)題。該字體

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論