In few days we plan to release a new PD4ML version which addresses the issues. Below are our comments:
> I am not able to control the height of header/footer.
Unfortunately RTF format does not allow to control header/footer height. I would recommend to define header/footer as a table, with an explicitly given height matches the desired header/footer height.
> Also I am not able to use multiple headers/footers - it seems that the last used will be on all pages regardless.
> Looking at the RFT spec, the format seems rather limited, but I see that it is possible to have a different
> footer/header on the first page (\headerf) which I would assume is the most common need.
You are right, it is possible to define a different page header/footer for a title page only. In the new version you may define such header/footer that way:
PD4PageMark header = new PD4PageMark() {
@Override
public String getHtmlTemplate(int pageNumber) {
if ( pageNumber == 1 ) {
return "<b>Title page. $[title]</b>";
}
return super.getHtmlTemplate();
}
};
header.setHtmlTemplate("Page $[page]");
pd4ml.setPageHeader(header);
Unfortunately there is still no way to define title page header/footer with
<pd4ml:page.header> tag.
> I am not able to control any margins. Looking at the generated RTF, page margins are printed out,
> but is it a way to control this in the template, e.g. through the body?
Now you may define margins via API call
pd4ml.setPageInsets(new Insets(20,40,20,20));
via
margin CSS property of
<body> element or combined. CSS way does not impact page header/footer positioning, the API call does.
> Unwanted line breaks
We suppressed the line breaks were it was possible.
Note: RTF tables do not allow to define top and bottom margins. If HTML source defines the margins, PDF output blank lines instead of them.