配置

服务器端使用 YAML 定义页面布局和允许值的配置文件。这个文件通常被称为配置.yaml.

一般结构如下:

dpis:
  - 254
  - 190
  {...}

?maxSvgWidth: 2048 # set the maximum dimensions to 2048 points, this is useful when using MapServer and a maximum dimension is there
?maxSvgHeight: 2048
?integerSvg: false # the library in MapServer <= 5.6 does not support floating point values in the SVG coordinate space, set this to true if using a WMS that does not support floating point values in SVG coordinates

?ignoreCapabilities: false # assume client is correct and do not load capabilities.  This is not recommended to be used unless you it fails when false (false is default)
?maxPrintTimeBeforeWarningInSeconds: 30 # if print jobs take longer than this then a warning in the logs will be written along with the spec.
?printTimeoutMinutes: 5 # The maximum time to allow a print job to take before cancelling the print job.  The default is 5 (minutes)
?formats:
  - pdf
  - png
  {...}

scales:
  - 25000
  - 50000
  {...}

hosts:
  - {HOST_WHITELIST_DEFINITION}
  {...}

?localHostForward: # For request on map.example.com we build an http request on localhost with the header Host=map.example.com, this is to not pass the request through the proxy.
?  from:
?    - map.example.com
?  https2http: True # For above hosts on request on https we build a request on http

?headers: ['Cookie', 'Referer'] # The header that will be copied to the tiles http requests

?keys:
?  - !key
?    host: !dnsMatch
?      host: maps.google.com
?      port: 80
?    domain: !dnsMatch
?      host: localhost
?    key: 1234456
?    id: gmd-xyz


?fonts:
? - {PATH}

?globalParallelFetches: 5
?perHostParallelFetches: 5
?tilecacheMerging: false
?connectionTimeout: 30000           MF_V1.2
?socketTimeout: 180000              MF_V1.2
?outputFilename: Mapfish-print      MF_V1.2
?disableScaleLocking: false
?brokenUrlPlaceholder: default      MF_V2.0
?proxyBaseUrl: http://mapfishprint.org  MF_V2.0
?tmsDefaultOriginX: 0.0f   MF_V2.0
?tmsDefaultOriginY: 0.0f   MF_V2.0

?security:
?  - !basicAuth
?      matcher: !dnsMatch
?        host: www.camptocamp.com
?        post: 443
?      username: xyz
?      password: zyx
?      preemptive: true
?  - !basicAuth
?    username: abc
?    password: bca

layouts:
   {LAYOUT_NAME}:
?   : Mapfish-print.pdf  MF_V1.2
?   metaData:
?     {METADATA_DEFINITION}
?   titlePage:
?     {PAGE_DEFINITION}
    mainPage:
?     rotation: false
      {PAGE_DEFINITION}
?   lastPage:
?     {PAGE_DEFINITION}
  {...}

可选零件在左边空白处有一个问号。问号不能放在配置文件中。显示它们的默认值。

注意:可以以两种形式之一输入DPI等值集:

dpi: [1,2,3,...]

dpis:
  - 254
  - 190

从上述配置中选择的DPI值在WMS GetMap请求中用作添加的format_options(GeoServer)或map_resolution(MapServer)参数。这用于适合高分辨率打印输出的符号/标签重缩放,请参见 GeoServer format_options specification (GeoServer 2.1)和 MapServer defresolution keyword (MapServer 5.6)了解更多信息。

通常,PDF的尺寸和位置是以点为单位指定的。72点==1英寸==25.4毫米。

名单 {{HOST_WHITELIST_DEFINITION}} 定义用于获取地图的允许URL。其格式将在 the next sub-section .

formats元素列出服务器允许的值格式。如果省略,则只允许“pdf”。如果单个元素' ' (quotes are required) is present then all formats that the server can produce can be requested. The formats the server can produce depends to a large degree on how the Java is configured. PDF is supported on all systems but for image output formats JAI and ImageIO is used which means both must be on the server for them to be available. You can get the list of supported formats by running the standalone client with the --clientConfig flag enabled (you will need to supply a yaml config file as well). If you are using the servlet then do a get info request to see the list of formats (with the ' '作为配置文件中的outputFormats参数)。

您可以有任意多的版面。它们的名称必须是唯一的,并且将在客户端使用。布局可以具有 titlePage 将添加到生成的文档的开头。它不能包含任何映射。同样适用于 lastPage ,但在文档末尾。这个 mainPage 节是必需的,将对请求的每一页使用一次。a的细节 {{PAGE_DEFINITION}} 可以找到部分 in another sub-section of this document .

如果要让用户旋转地图(对于给定的布局),必须设置 rotate 字段到 true 在相应的 mainPage 部分。

globalParallelFetchesperHostParallelFetches 用于调整地图瓦片/图像的并行加载。如果要禁用并行加载,请设置 globalParallelFetches 到1。

新版本的tilecache增加了在单个WMS请求中合并多个层的支持。如果要使用此功能,请设置 tilecacheMerging 属性为true。

connectionTimeoutsocketTimeout (仅限于MapFish v1.2版)可用于调整从地图服务器读取分幅的超时。

如果 outputFilename 参数,则MapPrintServlet在将PDF发送到客户端时将使用该名称。它将是客户端下载的文件的名称。如果在布局中定义了‘outputFilename’参数,则该值将覆盖默认名称。在这两种情况下,.pdf都是可选的;如果不存在,服务器将在名称后附加.pdf。在所有情况下,json请求都可以通过在发布的JSON中发布“outputFilename”属性来覆盖配置文件中定义的文件名。如果outputFilename中包含${date}、${time}或${dateTime},则会使用相关的DateFormat.get*instance().format()方法将其替换为当前日期。如果提供了模式,它将被传递到SimpleDataFormat进行处理。下面是几个示例:

  • 输出文件名: host-${{yyyyMMdd}}.pdf #HOST-20111213.pdf中的结果

  • 输出文件名: host-${{date}} #host-Dec_13_2011.pdf中的结果(实际输出取决于服务器的区域设置)

  • 输出文件名: host-${{dateTime}} #主持人:2011年12月13日1:10:50_下午.pdf(实际输出取决于服务器的区域设置)

  • 输出文件名: host-${{time}}.pdf #host-1:11:14_pm.pdf中的结果(实际输出取决于服务器的区域设置)

  • 输出文件名: host-${{yyMMdd-hhmmss}} #结果显示在host-111213-011154.pdf中(实际输出取决于服务器的区域设置)

disableScaleLocking 允许您忽略从可用因素中选择比例,只需使用内部生成的建议值地图块.java.

brokenUrlPlaceholder 在url断开的情况下使用的占位符图像。默认情况下,当url请求失败时,会抛出错误并终止pdf进程。但是,如果设置了此参数,则返回占位符图像。非空值为:

  • default -使用系统默认图像。

  • throw -抛出异常。

  • <url>-从提供的url获取图像。如果此URL被破坏,则将引发异常。这可以是从文件url到https url的任何有效url类型。

proxyBaseUrl mapfish打印和internet之间代理的可选url。这是将在信息.json回应。有时,包含mapfish print的web服务器的url或端口不是对internet公开的服务器,请求被代理到mapfish print web服务器。在这种情况下信息.json请求返回公共URL而不是Web服务器的URL。

tmsDefaultOriginX 默认情况下,此值为空。如果非空,则tmsmapreader将使用它作为原点x值;如果为空,则原点将从maxextent参数派生。

tmsDefaultOriginY 默认情况下为空。如果非空,则TmsMapReader将此值用作原点y值如果为空,则原点将从maxExtent参数派生。

安全性

密钥和安全性都是访问受保护服务的选项。密钥目前用于谷歌地图高级帐户,安全性用于其他类型,目前更为普遍,只支持basicauth,但可以轻松添加其他策略。

security:
    - !basicAuth
        matcher: !dnsMatch
          host: www.camptocamp.com
          post: 443
        username: xyz
        password: zyx
        preemptive: true
    - !basicAuth
      username: abc
      password: cba

上面的示例有2个安全配置。对每个选项进行测试(以便查看它是否可用于给定的URI),并查看它是否适用于配置对URI的请求。在上面的示例中,如果URI与所提供的hostMatcher匹配,则将使用第一个配置;否则,将应用第二个配置。最后一个配置没有主机匹配器,因此它应用于所有URI。

基本安全配置由4个选项组成

  • matcher-一个主机matcher,用于确定哪些请求需要应用安全性。

  • 用户名-basicauth的用户名

  • 密码-basicauth的密码

  • 先发制人-可选,但对于需要在没有挑战的情况下发送凭据的情况

钥匙

谷歌地图目前需要使用一个私人密钥(我们只支持用户谷歌地图高级帐户)。

“密钥”部分允许将密钥映射到主机。主机通过主机匹配器进行标识,主机匹配器在<configuration.html host whitelist definition>子部分中进行了描述。

此外,可以使用域hostmatcher根据本地服务器的域选择密钥。如果在具有不同域的测试环境和生产环境中使用相同的配置,这可能很有用。例如mapfish.org和mapfish.net。

最后,google maps(例如)还需要与私钥关联的客户机ID。对于google premium services,法律密钥是:

keys:
  - !key
    key: yxcvyxvcyxvyx
    id: gme-xxxcs

多亏了主机和域匹配器,谷歌地图可以有一个密钥,而不同的服务可以有一个不同的密钥。

字体定义

这个 fonts 节是可选的。它包含要使用的字体的路径。条目可以指向文件(TTF、OTF、TTC、AFM、PFM)或目录。不要指向包含太多文件的目录,因为这会减慢启动时间。默认情况下,PDF允许您访问以下字体(仅限Cp1252编码):

  • Courier(粗体,-斜体,-粗体)

  • Helvetica(-粗体,-斜体,-粗体)

  • Times(-Roman,-粗体,-斜体,-粗体)

  • 符号

  • ZapfDingbats

主机允许列表定义

在这一部分中,您可以放置任意多的条目,即使对于同一类型的过滤器也是如此。如果至少有一个匹配,则可以使用映射服务器。

本节不用于定义哪些客户机可以请求映射。这里只是为了避免将打印模块用作从防火墙后面的计算机访问文档的代理。

有3种方法允许列出主机。

允许所有本地服务:

- !localMatch
  dummy: true

这个 dummy 参数被忽略,但必须避免YAML格式的限制。

按DNS名称允许:

- !dnsMatch
  host: labs.metacarta.com

按IP地址允许:

  - !ipMatch
    ip: www.camptocamp.org
?   mask: 255.255.255.255

这个 ip 参数可以是要解析的DNS名称,也可以直接是IP地址。

所有方法都接受以下可选参数:

  • 端口:限制到某个TCP端口

  • path regexp:必须与URL的路径部分匹配的regexp(在“?”之前).

元数据定义

允许向生成的PDF添加一些元数据。它们在acroread的文件->属性菜单中可见。

结构是这样的:

    metaData:
?     title: ''
?     author: ''
?     subject: ''
?     keywords: ''
?     creator: ''
?     supportLegacyReader: false

所有字段都是可选的,可以使用全局变量,如 Block definition 第章。页特定变量不可访问。

页面定义

结构是这样的:

      pageSize: A4
?     landscape: false
?     marginLeft: 40
?     marginRight: 40
?     marginTop: 20
?     marginBottom: 20
?     backgroundPdf: template.pdf
?     condition: null
?     header:
        height: 50
        items:
          - {BLOCK_DEFINITION}
          {...}
      items:
        - {BLOCK_DEFINITION}
        {...}
?     footer:
        height: 50
        items:
          - {BLOCK_DEFINITION}
          {...}

condition 我们可以完全隐藏一个页面,其行为与块中相同。

如果 backgroundPdf 指定后,将添加给定PDF文件的第一页作为每页的背景。

这个 headerfooter 部分是可选的。如果 items 那是在主要部分太大,更多的页面被生成。页眉和页脚也将绘制在这些页面上。

以下是支持的 页面大小

名称

宽度

高度

LETTER

612

792

LEGAL

612

1008

A4

595

842

A3

842

1191

完整的列表可以在http://api.itextpdf.com/itext/com/itextpdf/text/PageSize.html。如果要使用自定义页面大小,可以设置 页面大小 以空间分隔的宽度和高度。

块定义

下一小节记录了可能的块类型。

通常,文本值或URL可以包含从 spec 结构随客户端请求一起提供。使用类似于shell的语法:${variableName}。如果当前页是 标题页 ,则仅采用根值。如果这是一个 主页 ,该服务将首先在当前 page 部分,然后在根值中。以下是如何使用此功能:

text: 'The value of mapTitle is: ${mapTitle}'

可以使用一些虚拟变量:

  • $pagenum:当前页码。

  • $pagetot:总页数。只能在文本块中使用。

  • $现在:由机器区域设置定义的当前日期和时间。

  • $现在格式:由格式字符串定义的当前日期和时间。语法如下:http://java.sun.com/j2se/1.5.0/docs/api/java/text/simpledateform.html

  • $configdir:配置文件目录的绝对路径。

  • ${format PRINTF VAR}:使用提供的格式化VAR的值 PRINTF format (例如:%,d)。

所有块都可以有一个采用spec属性名的条件属性。如果属性名存在且不等于 false0 ,将绘制块。否则,它将被忽略。感叹号可以放在条件的前面进行反转,感叹号是yaml语法的一部分,而表达式应该用引号括起来。

示例:仅当在规范中属性名为 showText 是给定的,不等于 false 不等于 0

- !text
  text: 'mytext'
  condition: showText

文本块

        - !text
?         font: Helvetica
?         fontSize: 12
?         fontEncoding: Cp1252
?         fontColor: black
?         spacingAfter: 0
?         align: left
?         vertAlign: middle
?         backgroundColor: #FFFFFF
          text: 'Blahblah'

典型 fontEncoding 值为:

  • CP1250型

  • CP1252型

  • CP1257型

  • Identity-H(水平UTF-8)

  • Identity-V(垂直UTF-8)

  • MacRoman

这个 font 必须参考标准PDF字体或 declared font .

图像块

        - !image
          maxWidth: 200
          maxHeight: 100
?         spacingAfter: 0
?         align: left
?         vertAlign: middle
          url: http://trac.mapfish.org/trac/mapfish/chrome/site/img/mapfish.png

支持的格式有png、gif、jpeg、jpeg2000、bmp、wmf(vector)、svg和tiff。

将尊重原始纵横比。url可以包含 ${{}} 变量。

列块

        - !columns
?         config: {TABLE_CONFIG}
?         widths: [25,25,25,25]
?         backgroundColor: #FFFFFF
?         absoluteX: null
?         absoluteY: null
?         width: {PAGE_WIDTH}
?         spacingAfter: 0
?         nbColumns: -1
          items:
            - {BLOCK_DEFINITION}
            {...}

可以叫 !桌子 也。

默认情况下,列的宽度将相等。

每个项目都将在自己的列中。

如果 绝对性绝对的宽度 如果给定,则列块将浮动在页面顶部的指定位置。

这个 宽度 属性可用于更改列的宽度(默认情况下,它们具有相同的宽度)。每列必须包含一个整数。给定列的宽度为 tableWidth*columnWeight/sum(columnWeight) .

除了 map 如果列有绝对位置。

看看<http://trac.mapfish.org/trac/mapfish/wiki/PrintModuleServer#表格配置要知道如何指定 配置 字段。

地图块

只允许在 主页 .

        - !map
          width: {WIDTH}
          height: {HEIGHT}
?         name: map
?         spacingAfter: 0
?         align: left
?         vertAlign: middle
?         absoluteX: null
?         absoluteY: null
?         overviewMap: null
?         backgroundColor: #FFFFFF

宽度高度 是强制性的。您可以在这个部分中使用变量替换,但是如果您这样做了,浏览器在调用 info.json . 你必须 覆盖mapfish.widgets.print.已接收Base.configReceived 并设置布局的地图宽度和高度。

如果 绝对性绝对的 如果给定,则映射块将浮动在页面顶部的指定位置。

这个 name 是将在Acrobat的读卡器层面板中显示的内容。地图图层将显示在下面。

如果 概述地图 如果指定,则映射将是给定因子所增强的范围的概述。地图概述中很少有需要考虑的情况:

  1. 如果没有概述覆盖,也没有ol.control.map overview,那么所有层都将显示在PDF地图概述中。

  2. 如果存在概述覆盖,则忽略ol map overview控件。

  3. 如果没有概述覆盖,并且有一个ol.control.mapoverview(以第一个为准),那么将考虑在控件中定义的层。默认情况下,它是当前的基础层。

scalebar块

显示scaleBar。

只允许在 主页 .

        - !scalebar
          maxSize: 150
?         type: line
?         intervals: 3
?         subIntervals: false
?         units: m
?         barSize: 5
?         lineWidth: 1
?         barDirection: up
?         textDirection: up
?         labelDistance: 3
?         font: Helvetica
?         fontSize: 12
?         fontColor: black
?         color: #000000
?         barBgColor: null
?         spacingAfter: 0
?         align: left
?         vertAlign: middle
?         backgroundColor: #FFFFFF
?         lockUnits: true

比例尺的宽度会调整到 maxSize (包括标签)以便在每个刻度处有1、2或5个值的倍数。例如:

  • 0,1,2,…

  • 0,2,4,…

  • 0,5,10,…

  • 0,10,20,…

这个 barSize 是条形图的厚度或线条上记号的高度。这个 lineWith 用于线条(或条形边框)的厚度。

单位可以是:

  • m(mm、cm、m或km)

  • 英尺(英寸、英尺、码、英里)

  • 度(分、秒、度)

如果值太大或太小,模块将切换到括号中的一个单位(每个间隔使用相同的单位)。如果不需要此行为,lockUnits参数将强制将声明的单元(如果未声明任何单元,则为映射单元)用于scaleBar。

intervals 可以设置为任何大于等于2的值。标签只在主间隔绘制。如果没有空间以特定间隔显示标签,则不会显示此标签。如果 subIntervals 如果启用,它们的数目将取决于间隔的长度。

类型可以是:

  • 线条:带刻度的简单线条

  • 酒吧:有一套彩色和芭比色块的粗酒吧。

  • Bar_-Sub:类似于Bar,但标签线很少。

../../_images/scalebarTypes.png

条形图和/或文本方向可以设置为 updownleftright .

这个 align 属性用于将整个比例尺放置在周围的列或页面内。这个 vertAlign 属性仅在放置在列中时使用。

标签始终以刻度为中心,其距离由labelDistance指定。

属性块

允许显示显示功能属性的表。

只允许在 主页 .

        - !attributes
          source: results
?         tableConfig: {TABLE_CONFIG}
          columnDefs:
            {COLUMN_NAME}:
?             columnWeight: 0        MF_V1.2
              header: {BLOCK_DEFINITION}
              cell: {BLOCK_DEFINITION}
            {...}

here 如何指定 表格配置 字段。

这个 柱重 (仅限MF V1.2)允许定义列宽的权重。如果为一列指定,则必须为所有列指定。给定列的宽度是tableWidth*columnWeight/sum(columnWeight)。

这个 来源 值定义客户机根目录中的条目名称 spec . 例如,它看起来是这样的:

{
  ...
  pages: [
    {
      ...
      results: {
        data: [
          {id:1, name: 'blah', icon: 'icon_pan'},
          ...
        ],
        columns: ['id', 'name', 'icon']
      }
    }
  ]
  ...
}

在这个规范中,您必须用名称定义3个columndef idnameicon . 每个单元格定义块都可以访问当前行的所有值。

当两个MapFish小部件 grids 参数已设置。

下面是一个疯狂的columndef示例,它将显示图标的名称,并将位图并排显示在单个列中:

columnDefs:
  icon:
    header: !text
      text: Symbol
      backgroundColor: #A0A0A0
    cell: !columns
      items:
        - !text
          text: '${icon}'
        - !image
          align: center
          maxWidth: 15
          maxHeight: 15
          url: 'http://www.mapfish.org/svn/mapfish/trunk/MapFish/client/mfbase/mapfish/img/${icon}.png'

一个更复杂的例子可以在SVN中找到: config.yaml spec.json

打印小部件能够根据 Ext.grid.GridPanel .只需将它们通过grids参数。

图例块

显示每个层及其类(图标和标签)。

        - !legends
?         backgroundColor: #FFFFFF
?         borders: false
?         horizontalAlignment: center
?         maxWidth: 0
?         maxHeight: 0
?         iconMaxWidth: 0
?         iconMaxHeight: 8
?         iconPadding: 8 7 6 5
?         textMaxWidth: 8
?         textMaxHeight: 8
?         textPadding: 8 7 6 5
?         defaultScale: 1.0
?         inline: true
?         classIndentation: 20
?         layerSpaceBefore: 5
?         layerSpace: 5
?         classSpace: 2
?         layerFont: Helvetica
?         layerFontSize: 10
?         classFont: Helvetica
?         classFontSize: 8
?         fontEncoding: Cp1252
?         columnMargin: 3

边框 主要用于调试用途,并显示图例表中的所有边框。这可以是“true”或“false”。

水平对齐 可以是左、右或居中(默认),并将所有项目左、右或居中对齐。

图标最大宽度图标符号默认比例 值为0表示将忽略该值,即这些值将自动分别设置为无穷大、无穷大和1的等效值。如果将图例URL传递给MapFish(请参见http://mapfish.org/doc/print/protocol.html#打印-pdf)是从WMS GetLegendGraphic请求中获得的,宽度/高度只是指示性的(如果标签文本包含在 LEGEND_OPTIONS/forceLabels parameter )为了保持图例和地图之间的比例一致性,设置 图标最大宽度图标符号 到零。

textMaxWidth/HeighticonMaxWidth/Height 定义图例项的文本/图标单元格的宽度/高度。此时将忽略textMaxHeight。

文本填充图标添加 可以像标准的CSS填充一样使用。在上面的例子中,8是padding top,7 padding right,6 padding bottom和5 padding left。

如果 内联的 是真的,图标和文本在同一行上呈现,但多列仍处于启用状态。

如果 最大宽度 设置整个图例的最大宽度,就像其他块一样。请注意 最大宽度 不会对图标大小产生任何影响,因此图标可能会溢出图例块之外。

如果 最大高度 设置整个图例的最大高度。如果图例高于指定值,则强制显示多个列。这可用于启用多列布局。0使maxHeight=max值,即无穷大的等效值。

如果 defaultScale 非空意味着图例图像将被缩放,因此它不会占用整个空间。对于发送到打印模块的规范JSON中的各个类,可以通过添加一个名为‘Scale’的属性并给它一个数字来覆盖它。与icMaxWidth/Height结合使用,可用于控制平均值和最大宽度/高度。如果 defaultScale 等于1,则在生成的PDF中将一个像素缩放到一点(1/72英寸)。默认情况下,由于Geoserver图例是以~90 dpi分辨率(恰好为25.4/0.28)生成的,因此设置 defaultScale 值为0.7937(72*0.28/25.4)会生成与相应地图图标大小相同的图例图标。作为 LEGEND_OPTIONS/dpi GeoServer parameter 如果不是由MapFish处理,则分辨率必须为~91 dpi,这可能会导致与地图的视觉质量差异。

要使其工作,您需要设置 分层树 MF打印小部件上的配置选项,更准确地说,图例应该出现在打印.pdfJSON请求。

之前的层空间 指定第二层和连续层之前的空间。

分层空间类空间 指定要在图层和类之后添加的行空间。

列最大宽度 多列布局中列的最大宽度。未经测试(写作时)。

分类缩进 要按其缩进类的点数。

之前的层空间 如果一个图层在另一个图层之后,这将定义其之前的空间量。如果图层是多列布局中其列中的第一项,则不会应用此选项。

layerFont层 图层名称图例项的字体。

图层字体大小 层名称的字体大小。

类字体 类图例项的字体。

类字体大小 类的字体大小。

字体编码 (见下文)

表配置

这个 columns block 以及 attributes block 可以采用这样的表配置对象:

    config:
?     borderWidth: 0
?     borderWidthLeft: 0
?     borderWidthRight: 0
?     borderWidthTop: 0
?     borderWidthBottom: 0
?     borderColor: black
?     borderColorLeft: black
?     borderColorRight: black
?     borderColorTop: black
?     borderColorBottom: black
?     cells:
?       - {CELL_CONFIGURATION}

单元配置如下:

?     row: {...}
?     col: {...}
?     borderWidth: 0
?     borderWidthLeft: 0
?     borderWidthRight: 0
?     borderWidthTop: 0
?     borderWidthBottom: 0
?     borderColor: black
?     borderColorLeft: black
?     borderColorRight: black
?     borderColorTop: black
?     borderColorBottom: black
?     padding: 0
?     paddingLeft: 0
?     paddingRight: 0
?     paddingTop: 0
?     paddingBottom: 0
?     backgroundColor: white
?     align: LEFT
?     vertAlign: TOP

在表级别配置的内容用于表边框,而不是每个单元格。

这个 细胞 列表定义某些单元格的覆盖。应用覆盖的单元格由 rowcol 属性。这些属性可以有几种格式:

  • 0 :仅应用于行或列0(第一个)

  • 0-10 :仅应用0到10之间的行或列

  • 或者可以使用任何正则表达式

每个匹配的覆盖将按顺序应用,并将覆盖在前一个覆盖中定义的值。

例如,如果要绘制这样的属性块:

../../_images/tableConfig.png

您可以定义:

- !attributes
  tableConfig:
    borderWidth: 1
    cells:
      # match every cell (default cell formatting)
      - borderWidthBottom: 0.5
        borderWidthLeft: 0.5
        padding: 4
        paddingTop: 0
      # match every even cell (yellowish background)
      - row: '\d*[02468]'
        backgroundColor: #FFFFCC
      # for the header
      - row: 0
        borderWidthBottom: 1
        backgroundColor: #FA0002
        align: center
  {...}

保修免责声明和许可

作者以“原样”提供这些文件,不作任何明示或暗示的保证。

文件 Creative Common License Attribution-Share Alike 2.5 Generic .

作者:Mapfish开发者。