<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    The Spark of Thinking

    Focus on Eclipse Tools.

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      3 隨筆 :: 27 文章 :: 4 評(píng)論 :: 0 Trackbacks
    最近調(diào)查了一個(gè)新鮮東東。XSL-FO和FOP,用來將FO文件生成PDF文件,覺得它是個(gè)不錯(cuò)的東東,所以記下來,與大家分享。
    相關(guān)術(shù)語:
    XSL-FO(XML?Stylesheet?Language-Formatting?Objects)
    XSL-T(XSL Transformations)
    FOP?(Formatting?Objects?Processor)?
    英文教程:
    http://www.w3schools.com/xslfo/default.asp
    FOP下載地址:
    http://apache.justdn.org/xml/fop/
    http://www.onjava.com/pub/a/onjava/2002/10/16/fop.html
    注意:fop.jar要放在你的CLASSPATH中。
    ?
    命令格式:
    -------------------------------------------------------------------
    至于XSL-FO的起源,特點(diǎn)和作用我就不多啰嗦了,祥細(xì)說明在網(wǎng)上到處都是,自已去看吧。我只想來點(diǎn)實(shí)用的。在這里只要了解一點(diǎn),XSL-FO他只是描述了頁面展現(xiàn)給用戶的時(shí)候它應(yīng)該是什么樣子的就行了。
    ?
    1:直接將fo文件通過FOP命令轉(zhuǎn)換成pdf文件。
    格式: fop test.fo test.pdf
    ?
    2:將xml+xslt(樣式表文件)轉(zhuǎn)換成pdf文件。
    格式:fop -xsl test.xsl -xml test.xml -pdf test.pdf
    --------------------------------------------------------------------
    ?
    對(duì)雙字節(jié)(中/日文)的支持:
    --------------------------------------------------------------------
    這里我只介紹日文的例子,中文照著做就行了。
    實(shí)現(xiàn)步驟:
    1.使用批處理生成字體文件(XML)
    java -cp build\fop.jar;lib\avalon-framework-cvs-20020806.jar; org.apache.fop.fonts.apps.TTFReader -ttcname "MS Gothic" C:\WINNT\Fonts\MSGOTHIC.TTC msgothic.xml
    注意:TTC文件和TTF文件的生成方式不同。
    上面給出的是TTC字體文件的例子。
    TTF命令格式是:
    java -cp build\fop.jar;lib\avalon-framework-cvs-20020806.jar; org.apache.fop.fonts.apps.TTFReader C:\WINNT\Fonts\Cyberbit.ttf msmincho.xml
    ?
    上面只用到了fop.jar和avalon-framework-cvs-20020806.jar,這因?yàn)槲业腇OP Ver是0.20.5,如果小于這個(gè)版本則要加上其他的包,這個(gè)在網(wǎng)上的教程沒有說,
    結(jié)果我用他們給出的命令格式狂試,結(jié)果就是出錯(cuò),最后還是在apache網(wǎng)上找到了正解,
    擦汗....
    ?
    2.將生成的字體文件注冊(cè)到fop。
    修改下面的配置文件conf/userconfig.xml
    增加下面的內(nèi)容:
    <!-- Example Japanese fonts -->
    ?<font metrics-file="D:\xslfo\fop-0.20.5\msgothic.xml" embed-file="c:\winnt\fonts\msgothic.ttc" kerning="yes">
    ??? <font-triplet name="Gothic" style="normal" weight="normal"/>
    ??? <font-triplet name="Gothic" style="normal" weight="bold"/>
    ??? <font-triplet name="Gothic" style="italic" weight="normal"/>
    ??? <font-triplet name="Gothic" style="italic" weight="bold"/>
    ?</font>
    ?
    3.利用FOP再次生成PDF文件(FOP命令格式有變)
    修改你的FOP.BAT批處理文件,將最后一行
    java -cp "%LOCALCLASSPATH%" org.apache.fop.apps.Fop %1 %2 %3 %4 %5 %6 %7 %8
    ?
    修改成
    java -cp "%LOCALCLASSPATH%" org.apache.fop.apps.Fop -c conf/userconfig.xml %1 %2 %3 %4 %5 %6 %7 %8
    也就是增加了-c conf/userconfig.xml參數(shù)。
    網(wǎng)上很多地方這一點(diǎn)也沒說到,害得我注冊(cè)好字體后怎么試都不成功,生成的PDF就是不能正常顯示日文。后來想想修改后的配置文件沒有用到,到網(wǎng)上查了一下才知道那里要修改一下,增加-c參數(shù),我狂暈~~~~~。
    ?
    要驗(yàn)證你的日文是否被正確顯示,針對(duì)FO文件需要修改以下地方有:
    原:<fo:block font-size="20pt" font-family="serif"
    ??????????????? line-height="30pt">
    ??????? Hello~kaegunテスト
    ????? </fo:block>
    現(xiàn):<fo:block font-size="20pt" font-family="Gothic"
    ??????????????? line-height="30pt">
    ??????? Hello~kaegunテスト
    ????? </fo:block>
    ?
    如果你是用XML+XSLT的方式成生PDF,則要修改xsl文件
    原:<xsl:template match="name">??????
    ?????? <fo:block font-size="18pt"
    ???????????? font-family="serif"
    ???????????? line-height="24pt"
    ???????????? space-after.optimum="15pt"
    ???????????? background-color="blue"
    ???????????? color="white"
    ???????????? text-align="center"
    ???????????? padding-top="3pt">
    ???????? <xsl:value-of select="."/>
    ?????? </fo:block>
    ?</xsl:template>
    現(xiàn):<xsl:template match="name">??????
    ?????? <fo:block font-size="18pt"
    ???????????? font-family="Gothic"
    ???????????? line-height="24pt"
    ???????????? space-after.optimum="15pt"
    ???????????? background-color="blue"
    ???????????? color="white"
    ???????????? text-align="center"
    ???????????? padding-top="3pt">
    ???????? <xsl:value-of select="."/>
    ?????? </fo:block>
    ?</xsl:template>
    經(jīng)過上述操作后,用新的批處理命令即可生成能正確顯示日文的PDF文件了。
    posted on 2006-07-24 10:03 The Spark of Thinking 閱讀(591) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲综合另类小说色区| 男人的天堂亚洲一区二区三区| 免费一级毛片不卡在线播放| 色偷偷女男人的天堂亚洲网| 四虎在线视频免费观看视频| 亚洲最大视频网站| 91黑丝国产线观看免费| 亚洲精品亚洲人成在线观看麻豆| 免费精品99久久国产综合精品| 久久精品国产亚洲av成人| 8x成人永久免费视频| 亚洲欧洲在线播放| 成人毛片18女人毛片免费视频未 | 亚洲日本在线观看| 午夜视频免费在线观看| 亚洲高清无在码在线无弹窗| 免费AA片少妇人AA片直播| 亚洲av日韩综合一区二区三区| 国产一区二区三区无码免费| 91av免费在线视频| 亚洲国产精品乱码一区二区 | 免费网站看v片在线香蕉| 青青青亚洲精品国产| 亚洲女人被黑人巨大进入| 在线观看免费无码专区 | 亚洲精品又粗又大又爽A片| 国产成人免费高清在线观看| 国产日韩久久免费影院| 久久精品夜色国产亚洲av| 国产又黄又爽又猛免费app| 亚洲AV无码专区在线厂| 国产亚洲色婷婷久久99精品| 亚洲精品在线免费观看视频| 妇女自拍偷自拍亚洲精品| 亚洲情XO亚洲色XO无码| 97性无码区免费| 免费中文字幕视频| 亚洲欧洲日产国码二区首页| 免费v片在线观看| 亚洲最大免费视频网| 免费国产黄网站在线看|