I see, thanks for the details.
This can be done using HtmlContainer.ScrollOffset property.
Lets say the page height is 1000px then when you want to render page 2 you set ScrollOffset to -1000 (note the negative value):
Note 1: you will need to have to do manual work to create the HtmlContainer, set MaxSize restriction by the page size, call PerformLayout and call PerformPaint once for each page.
Note 2: this approach has a significant drawback, if the "page" ends in a middle of a text line it will cut between the end of page 1 and the beginning of page 2.
Having proper support for it will require to ignore text rendering when it is outside of vertical restriction which can be complicated for complex layouts..
Note 3: because you wan't to render to print device you should use GDI+ text rendering for better results.
This can be done using HtmlContainer.ScrollOffset property.
Lets say the page height is 1000px then when you want to render page 2 you set ScrollOffset to -1000 (note the negative value):
ScrollOffset = new Point(0,-1000);
-2000 for page 3, etc...Note 1: you will need to have to do manual work to create the HtmlContainer, set MaxSize restriction by the page size, call PerformLayout and call PerformPaint once for each page.
Note 2: this approach has a significant drawback, if the "page" ends in a middle of a text line it will cut between the end of page 1 and the beginning of page 2.
Having proper support for it will require to ignore text rendering when it is outside of vertical restriction which can be complicated for complex layouts..
Note 3: because you wan't to render to print device you should use GDI+ text rendering for better results.
UseGdiPlusTextRendering = true;