|
Rank: Advanced Member Groups: Member
Joined: 11/8/2017 Posts: 66
|
I have a requirement to have a header at the top of each page that only covers the right half of the top line. The problem I have is that there is other text on the left (aligned at the top) that is being repeated (as part of the header) on all of the pages. My HTML code looks like the below
Code: HTML/ASPX
<table>
<td style="vertical-align:top">
My other data that should not appear in the header but appears within the top line
</td>
<td style="vertical-align:top;">
<table>
<thead style="display: table-header-group;page-break-inside:avoid;">
<tr>
<th colspan="2" style="text-align: left !important;">xxxx MyHeader-Line1 xxxx</th>
</tr>
</thead>
<tr><td>MyData-Line1</td></tr>
<tr><td>MyData-Line2</td></tr>
<tr><td>MyData-Line3</td></tr>
<tr><td>...many more lines...</td></tr>
</table>
</td>
<table>
Is there any way I can limit the header to be only part that that is within the "table-header-group" ?
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,221
|
Hi,
You will need to do this in your HTML. The whole header will always be repeated. You will need to adjust your header HTML so that it is empty on the left side and only has visible contents on your right side. As soon as you get your HTML to render the desired result, the PDF will have the desired result. There is no tweaking between these two regarding layout.
Thanks!
|
|
Rank: Advanced Member Groups: Member
Joined: 11/8/2017 Posts: 66
|
Many thanks for the reply - just to confirm
The PDF generated by the above HTML posted is as follows (below the period character is used to simply align MyData-Line999 in the editor):-
My other data that should not appear in the header but appears within the top line xxxx MyHeader-Line1 xxxx ....................................................................................................................MyData-Line1 ....................................................................................................................MyData-Line2 ....................................................................................................................MyData-Line3 ....................................................................................................................MyData-Line4 ....................................................................................................................MyData-Line5 ....................................................................................................................MyData-Line6 ....................................................................................................................MyData-Line7 ....................................................................................................................etc ========================================================================page-break My other data that should not appear in the header but appears within the top line xxxx MyHeader-Line1 xxxx ....................................................................................................................MyData-Line100 ....................................................................................................................MyData-Line101 ....................................................................................................................MyData-Line102 ....................................................................................................................MyData-Line103 ....................................................................................................................MyData-Line104
What I want is as follows (below the period character is used to simply align MyData-Line999 in the editor):-
My other data that should not appear in the header but appears within the top line xxxx MyHeader-Line1 xxxx ....................................................................................................................MyData-Line1 ....................................................................................................................MyData-Line2 ....................................................................................................................MyData-Line3 ....................................................................................................................MyData-Line4 ....................................................................................................................MyData-Line5 ....................................................................................................................MyData-Line6 ....................................................................................................................MyData-Line7 ....................................................................................................................etc ========================================================================page-break ....................................................................................................................xxxx MyHeader-Line1 xxxx ....................................................................................................................MyData-Line100 ....................................................................................................................MyData-Line101 ....................................................................................................................MyData-Line102 ....................................................................................................................MyData-Line103 ....................................................................................................................MyData-Line104
Are you saying this is not possible ? i.e. is there is no way to put text within that header line without it showing up in subsequent headers ?
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,221
|
Hi,
No. That is not possible with the built-in header repeating feature. The built in header repeating feature always repeat the whole header on every page. There are no options for you to customize per page.
If you want to have different headers per page, you should do some kind of "post process": run the main contents first, then use a loop to loop through each page and render additional output on every page however way you want. You can even render a solid white area in the header area from the second page on to cover up the area of the header section that you want to be invisible.
Thanks
|
|
Rank: Advanced Member Groups: Member
Joined: 11/8/2017 Posts: 66
|
Again thanks for the reply - this could be a problem for us - again to confirm:-
When you say "The built in header repeating feature always repeat the whole header on every page. There are no options for you to customize per page." - we're not actually changing the header - it is static - i.e. we only want to put the part that is in the "table-header-group" which is "xxxx MyHeader-Line1 xxxx" - this doesn't change - ever - the other text is printing in the header only because it happens to be in that top area where the header happens to appear
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,221
|
I see what you meant. The key missing piece of information that wasn't pointed out here is when the converter repeats a table header, it doesn't exactly repeat the header itself. It repeats the whole section from the top of the header to the bottom of the header. So for example, if the Y value of your table header spans from 10 px to 50 px, then everything between Y = 10px to Y = 50px is repeated. This is why your "other data" got repeated because it falls into that Y range.
The easiest way for you to fix this kind of situation is to NOT to render the "other data" with the main contents and then add it after you convert the main contents through "post process" as mentioned in the previous reply.
|
|
Rank: Advanced Member Groups: Member
Joined: 11/8/2017 Posts: 66
|
OK thanks - unfortunately post processing isn't really feasible - we have lots of reports - and the part that comes out in the header that shouldn't, isn't always simply text (sometimes a chart) and it sometimes overlaps with the body. We are trying to migrate over from another PDF tool which does support this requirement however speed is the reason for migrating (I suspect post processing would slow it down especially for a large report)
Is there any way the tool could be enhanced to include the functionality driven purely by HTML ?
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,221
|
Unfurtunately no. I do not believe this will be supported in the near future. In your case, you will need to either give up the repeating headers all together, or use post process to add the additional output on the first page. If you just add simple additional output on a single page, you can use our ACM interface to do so and it will be very fast. The performance impact will be minimum.
|
|