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:
[language=java:3446b1pr]PD4PageMark header = new PD4PageMark() {
public String getHtmlTemplate(int pageNumber) {
if ( pageNumber == 1 ) {
return “Title page. $[title]“;
return super.getHtmlTemplate();
header.setHtmlTemplate(“Page $[page]”);
Unfortunately there is still no way to define title page header/footer with 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
[language=java:3446b1pr]pd4ml.setPageInsets(new Insets(20,40,20,20));[/language:3446b1pr]
via margin CSS property of 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.