zoukankan      html  css  js  c++  java
  • backup: 通过 fop 正常显示汉字(宋体)

    主要内容都是 fop example 中的内容,备份用途是记下如何让 pdf 可以正常显示 宋体,因为完成示例程序的过程中,生成的 pdf 不能正常显示汉字。

    fop.xconf

    <?xml version="1.0"?>
    <!-- $Id: fop.xconf 1616312 2014-08-06 19:19:31Z gadams $ -->
    
    <!--
    
    This is an example configuration file for FOP.
    This file contains the same settings as the default values
    and will have no effect if used unchanged.
    
    Relative config url's will be resolved relative to
    the location of this file.
    
    -->
    
    <!-- NOTE: This is the version of the configuration -->
    <fop version="1.0">
    
      <!-- Base URL for resolving relative URLs -->
      <base>.</base>
      
      <!-- Source resolution in dpi (dots/pixels per inch) for determining the size of pixels in SVG and bitmap images, default: 72dpi -->
      <source-resolution>72</source-resolution>
      <!-- Target resolution in dpi (dots/pixels per inch) for specifying the target resolution for generated bitmaps, default: 72dpi -->
      <target-resolution>72</target-resolution>
      
      <!-- Default page-height and page-width, in case value is specified as auto -->
      <default-page-settings height="11.00in" width="8.50in"/>
      
      <!-- Information for specific renderers -->
      <!-- Uses renderer mime type for renderers -->
      <renderers>
        <renderer mime="application/pdf">
          <filterList>
            <!-- provides compression using zlib flate (default is on) -->
            <value>flate</value>
      
            <!-- encodes binary data into printable ascii characters (default off)
                 This provides about a 4:5 expansion of data size -->
            <!-- <value>ascii-85</value> -->
      
            <!-- encodes binary data with hex representation (default off)
                 This filter is not recommended as it doubles the data size -->
            <!-- <value>ascii-hex</value> -->
          </filterList>
    
          <fonts>
            <!-- embedded fonts -->
            <!--
            This information must exactly match the font specified
            in the fo file. Otherwise it will use a default font.
    
            For example,
            <fo:inline font-family="Arial" font-weight="bold" font-style="normal">
                Arial-normal-normal font
            </fo:inline>
            for the font triplet specified by:
            <font-triplet name="Arial" style="normal" weight="bold"/>
    
            If you do not want to embed the font in the pdf document
            then do not include the "embed-url" attribute.
            The font will be needed where the document is viewed
            for it to be displayed properly.
    
            possible styles: normal | italic | oblique | backslant
            possible weights: normal | bold | 100 | 200 | 300 | 400
                              | 500 | 600 | 700 | 800 | 900
            (normal = 400, bold = 700)
            -->
    
            <!--
            <font metrics-url="arial.xml" kerning="yes" embed-url="arial.ttf">
              <font-triplet name="Arial" style="normal" weight="normal"/>
              <font-triplet name="ArialMT" style="normal" weight="normal"/>
            </font>
            <font metrics-url="arialb.xml" kerning="yes" embed-url="arialb.ttf">
              <font-triplet name="Arial" style="normal" weight="bold"/>
              <font-triplet name="ArialMT" style="normal" weight="bold"/>
            </font>
            -->
    
            <!-- auto-detect fonts -->
            <!-- <auto-detect/> -->
            
            <font embed-url="/C:/Windows/Fonts/SimSun.ttc" sub-font="SimSun">
              <font-triplet name="宋体" style="normal" weight="normal"/>
            </font>
            
    
          </fonts>
    
          <!-- This option lets you specify additional options on an XML handler -->
          <!--xml-handler namespace="http://www.w3.org/2000/svg">
            <stroke-text>false</stroke-text>
          </xml-handler-->
    
        </renderer>
    
    
      </renderers>
    
    </fop>

    projectteam2fo.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!--
      Licensed to the Apache Software Foundation (ASF) under one or more
      contributor license agreements.  See the NOTICE file distributed with
      this work for additional information regarding copyright ownership.
      The ASF licenses this file to You under the Apache License, Version 2.0
      (the "License"); you may not use this file except in compliance with
      the License.  You may obtain a copy of the License at
    
           http://www.apache.org/licenses/LICENSE-2.0
    
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
    -->
    <!-- $Id$ -->
    <xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="fo">
      <xsl:output method="xml" version="1.0" omit-xml-declaration="no" indent="yes"/>
      <xsl:param name="versionParam" select="'1.0'"/> 
      
      <xsl:attribute-set name="border">
        <xsl:attribute name="border-top">1pt solid black</xsl:attribute>
        <xsl:attribute name="border-bottom">1pt solid black</xsl:attribute>
        <xsl:attribute name="border-left">1pt solid black</xsl:attribute>
        <xsl:attribute name="border-right">1pt solid black</xsl:attribute>
      </xsl:attribute-set>
      
      <!-- ========================= -->
      <!-- root element: projectteam -->
      <!-- ========================= -->
      <xsl:template match="projectteam">
        <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
          <fo:layout-master-set>
            <fo:simple-page-master master-name="simpleA4" page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2cm" margin-right="2cm">
              <fo:region-body/>
            </fo:simple-page-master>
          </fo:layout-master-set>
          <fo:page-sequence master-reference="simpleA4">
            <fo:flow flow-name="xsl-region-body">
              <fo:block font-family="宋体" font-size="16pt" font-weight="bold" space-after="5mm">Project: <xsl:value-of select="projectname"/>
              </fo:block>
              <fo:block font-size="12pt" space-after="5mm">Version <xsl:value-of select="$versionParam"/>
              </fo:block>
              <fo:block font-size="10pt">
                <!-- border-collapse : collapse | separate -->
                <fo:table table-layout="fixed" width="100%" border-collapse="collapse">
                  <fo:table-column column-width="4cm" />
                  <fo:table-column column-width="4cm" />
                  <fo:table-column column-width="5cm" />
                  <fo:table-body>
                    <xsl:apply-templates select="member"/>
                  </fo:table-body>
                </fo:table>
              </fo:block>
            </fo:flow>
          </fo:page-sequence>
        </fo:root>
      </xsl:template>
      <!-- ========================= -->
      <!-- child element: member     -->
      <!-- ========================= -->
      <xsl:template match="member">
        <fo:table-row>
          <xsl:if test="function = 'lead'">
            <xsl:attribute name="font-weight">bold</xsl:attribute>
          </xsl:if>
          <fo:table-cell xsl:use-attribute-sets="border">
            <fo:block>
              <xsl:value-of select="name"/>
            </fo:block>
          </fo:table-cell>
          <fo:table-cell xsl:use-attribute-sets="border">
            <fo:block>
              <xsl:value-of select="function"/>
            </fo:block>
          </fo:table-cell>
          <fo:table-cell xsl:use-attribute-sets="border">
            <fo:block>
              <xsl:value-of select="email"/>
            </fo:block>
          </fo:table-cell>
        </fo:table-row>
      </xsl:template>
    </xsl:stylesheet>

    --- THE END ---

  • 相关阅读:
    LDA模型了解及相关知识
    GAN
    tensorflow学习6
    GAN的文献综述
    python相关工具
    tensorflow学习5----变量管理
    tensorflow学习5----GAN模型初探
    8月14日至8月20日技术积累
    8月7日至8月13日技术积累
    8月1日到8月6日技术要点
  • 原文地址:https://www.cnblogs.com/shadow-abyss/p/15164833.html
Copyright © 2011-2022 走看看