danfickle / danfickle/openhtmltopdf

Dynamically sized page margin content

Open
#733 3 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
2.2k
Forks
423
PR merge metrics
No merged PRs in 30d

Description

If i have na element defined as `running` at the top of the page, and the content of this element is bigger than the page margin i get result where the header overflows the body.

Of course i could just increase the margin, but in my case, the header will be dynamic, and there is no way to know how big it can be..

## Screenshot
### Page 1
![image](https://user-images.githubusercontent.com/34727800/124829403-f5d8c780-df4e-11eb-9956-3db32135a7f1.png)

### Page 2
![image](https://user-images.githubusercontent.com/34727800/124829434-01c48980-df4f-11eb-9f65-a753e730d91a.png)

## Reproducible code:

```



* {
font-family: 'Arial';
}
@page {
size: A4;
font-size: 16px;
margin: 2cm;

@top-center {
content: element(header);
}

@bottom-center {
content: element(footer);
}
}
.header {
page-break-inside: avoid;
position: running(header);
}
.footer {
page-break-inside: avoid;
position: running(footer);
}
table {
width: 100%;
font-size: 16px;
margin: 1cm;
border-collapse: collapse;
}

td, th {
padding: 6px;
border: 1px solid gray;
}
tfoot td {
background-color: aqua;
}
thead th {
background-color: coral;
}




This example shows how to use table pagination.


This example shows how to use table pagination.


This example shows how to use table pagination.


The table header and footer are automatically reproduced on each page.





Title 1Title 2


HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloWorld!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloWorld!
HelloWorld!
HelloWorld!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!
HelloHello World! Hello World! Hello World!
Hello World! Hello World! Hello World!
HelloWorld!
HelloWorld!


```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.