2

我对 mapfish print-servlet 和 geowebcache 服务器的图层有疑问。(更多信息: http: //www.mapfish.org/doc/print/index.html

如果我尝试将“规范”数据中的一层作为 POST 发送 - 请求它可以正常工作。如果我使用另一层,它也可以正常工作。

我的问题是我希望两个图层都显示在 PDF 的同一张图片中。

我试过了

layers: [{
                    baseURL:"hier steht die url",
                    opacity:1,
                    singleTile:true,
                    customParams:{
                        TRANSPARENT:true
                    },
                    type:"WMS",
                    layers:
                    ["Strom"],
                    format:"image/png"
                },
                {baseURL:"hier steht die url",
                    opacity:1,
                    singleTile:true,
                    customParams:{
                        TRANSPARENT:true
                    },
                    type:"WMS",
                    layers:
                    ["Kataster"],
                    format:"image/png"
                }
                ]

和这个

layers: [{
                    baseURL:""hier steht die url"",
                    opacity:1,
                    singleTile:true,
                    customParams:{
                        TRANSPARENT:true
                    },
                    type:"WMS",
                    layers:
                    ["Kataster", "Strom"],
                    format:"image/png"
                }

两者都没有工作。我只是在 PDF 中收到一条消息,提示找不到图层 Kaster,Strom。

所以它不会被读取为一个数组(就像一个字符串)。

这是我的完整规格数据。

  var jsSpec = {
                layout: "A4 portrait",
                title: "Demo MGC PDF",
                srs : "EPSG:900913",
                units : "dd",
                outputFilename :  "PrintFile",
                outputFormat : "pdf",
                layersMerging:true,
                layers: [{
                    baseURL:"hier steht die url",
                    opacity:1,
                    singleTile:true,
                    customParams:{
                        TRANSPARENT:true
                    },
                    type:"WMS",
                    layers:
                    ["Strom"],
                    format:"image/png"
                },
                {baseURL:"hier steht die url",
                    opacity:1,
                    singleTile:true,
                    customParams:{
                        TRANSPARENT:true
                    },
                    type:"WMS",
                    layers:
                    ["Kataster"],
                    format:"image/png"
                }
                ],
                pages : [{
                    center: [959585.51046, 6390630.44659],
                    scale: 64000000,
                    dpi: 190,
                    mapTitle: printFormPanel.getForm().findField('titlefieldvalue').getValue(),
                    comment: printFormPanel.getForm().findField('commentfieldvalue').getValue(),
                    data: [{
                        id : 1, 
                        name: "blah", 
                        icon: "icon_pan"
                    },{
                        id : 2, 
                        name: "blip", 
                        icon: "icon_pan"
                    }]
                }]
            };

这是我的完整配置文件:

layouts:     
A4 portrait:
mainPage:
  rotation: true
  pageSize: A4
  header:
    height: 50
    items:
      - !text
        font: Helvetica
        fontSize: 30
        align: right
        text: '${mapTitle}'
  items:
    - !map
      spacingAfter: 30
      width: 440
      height: 483
    - !text
      text: '${comment}'
      spacingAfter: 30
  footer:
    height: 30
    items:
      - !columns
        items:
          - !text
            backgroundColor: #FFFF00
            align: left
            text: Copyright Firma
          - !text
            align: right
            text: 'Page ${pageNum}'

有人可以告诉我我做错了什么吗?servlet 不能打印多于一层吗?

4

1 回答 1

0

现在对解决方案的解释会很棒

于 2022-03-03T07:00:00.383 回答