Why z3c.RML ignores the pageSize Attribute of <template>
Question: I am trying to get an A4-Landscape output file. The Document i am modifying is
A4-Portrait, so i thought simple switch: **_pageSize="(21cm, 29.7cm)"_** to
**_pageSize="(29.7cm, 21cm)"_** , but nothing happend.

I then fount an Attribute: **_rotation="90"_**. The Page on the Screen ist
still A4-Portrait, but the content ist turned 90 degres around. On paper it
woulde be fine, but on screen i have to turn my head by 90 degress, not very
comfortable.

After this i tryed: **_pageSize="(10cm, 10cm)"_** , thought this should look
terrible, but nothing changed.

Could it be possible, that the Size of the generated PDF-File is set in
thePython-Code and not set by the RML-File?

This is the Python Code:

    
    
    #!venv/bin/python
    # -*- coding: utf-8 -*-
    from z3c.rml import pagetemplate
    rmlPageTemplate = pagetemplate.RMLPageTemplateFile("test.rml")
    open('test.pdf', 'wb').write(rmlPageTemplate())
    

My RML-File locks like:

    
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE document SYSTEM "rml_1_0.dtd">
    <document test.pdf">
        <docinit>
            ...
        </docinit>
        <template   pageSize="(10cm, 10cm)"
                    rotation="90"
                    leftMargin="2.5cm"
                    rightMargin="2.5cm"
                    topMargin="2.5cm"
                    bottomMargin="2.5cm"
                    showBoundary="1"
                    >
            <pageTemplate id="main">
                <frame id="first" x1="2.5cm" y1="2.5cm" width="24.7cm" height="16cm" showBoundary="1"/>
            </pageTemplate>
        </template>
        <stylesheet>
            ...
        </stylesheet>
        <story>
            ...
        </story>
    </document>
    

Thank you very much.


Answer: <https://github.com/zopefoundation/z3c.rml/blob/master/RML-DIFFERENCES.rst>

**RML2PDF and z3c.rml Implementation Differences**

This document outlines the differences between ReportLab Inc.'s RML2PDF
library and z3c.rml.

**Incompatibilies**

_page**S** ize_: This is called page**s** ize in this implementation to match
the API.

