Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Use Syncfusion Essential PDF’s layout results to place the next element after the content that was actually rendered. Create a PdfLayoutFormat with Layout = PdfLayoutType.Paginate and Break = PdfLayoutBreakType.FitPage, draw the first element, then continue on result.Page at result.Bounds.Bottom + gap. For an unconditional break, add a new PdfPage before drawing the next section. For tables, use PdfGridLayoutFormat and set AllowRowBreakAcrossPages = false when rows must remain intact.
Choose conditional pagination or a guaranteed new page
There are two different meanings of “page break after an element” in a Syncfusion PDF report:
- Conditional pagination: let Syncfusion keep drawing on the current page when there is room, or continue on a later page when the element does not fit.
- Unconditional section break: finish the current element and start the next section on a newly added page, even if substantial space remains.
Use the first approach for normal report flow. Use the second for requirements such as “every chapter starts on a fresh page.” A PdfLayoutResult is the key to reliable flow because it reports both the page where drawing ended and the bounds occupied by the element.
Set up the layout format
Create one layout format for text and other layout elements:
#1 Best Overall
PdfLayoutFormat layout = new PdfLayoutFormat
{
Layout = PdfLayoutType.Paginate,
Break = PdfLayoutBreakType.FitPage
};
PdfLayoutType.Paginate enables continuation onto later pages. PdfLayoutBreakType.FitPage tells the layout engine to fit content in the available page area and move it when necessary. Pass this format to each draw operation that should participate in automatic pagination.
Place the next text element after the previous one
Draw the first element, keep the returned result, and use its bottom edge as the starting point for the next element:
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Pdf.Grid;
using System.Drawing;
PdfDocument document = new PdfDocument();
PdfPage page = document.Pages.Add();
PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 12);
RectangleF bounds = new RectangleF(40, 40, page.GetClientSize().Width - 80, 500);
PdfLayoutFormat layout = new PdfLayoutFormat
{
Layout = PdfLayoutType.Paginate,
Break = PdfLayoutBreakType.FitPage
};
PdfTextElement first = new PdfTextElement("Section 1", font);
PdfLayoutResult result = first.Draw(page, bounds, layout);
float gap = 10;
PdfTextElement next = new PdfTextElement("Section 2", font);
next.Draw(
result.Page,
new RectangleF(bounds.X, result.Bounds.Bottom + gap, bounds.Width, bounds.Height),
layout);
document.Save("report.pdf");
document.Close(true);
If the first element runs onto another page, result.Page is that later page. Using it instead of the original page prevents the next element from being drawn behind existing content. Using result.Bounds.Bottom instead of a guessed Y coordinate prevents overlap when the first element wraps to multiple lines.
Free tools Windows power users keep installed
One-click scans. No signup required.
Use a continuation loop for several elements
For a sequence of paragraphs, carry the current page and vertical position forward after every draw:
PdfPage currentPage = page;
float top = 40;
float gap = 8;
foreach (string text in sections)
{
PdfTextElement element = new PdfTextElement(text, font);
PdfLayoutResult sectionResult = element.Draw(
currentPage,
new RectangleF(40, top, page.GetClientSize().Width - 80, 500),
layout);
currentPage = sectionResult.Page;
top = sectionResult.Bounds.Bottom + gap;
}
When a draw operation creates or reaches a later page, the next iteration starts from the returned page. In production code, calculate the available height from that page’s client size rather than assuming every page has identical dimensions.
Force the next section onto a fresh page
Automatic pagination is not a hard break. To guarantee a new page, finish the current draw, add a page, and draw the next element there:
Rank #2
- What’s Included: Digital delivery with instant access to WordPerfect; serial key available in your Software Library. For Windows PC only.
- Essential Office Suite: WordPerfect for word processing, Quattro Pro for building spreadsheets, Presentations for creating slideshows, and WordPerfect Lightning for digital note‑taking
- Seamless File Compatibility: Open, edit, and share more than 60 familiar file types—including Microsoft Office formats (Word DOC/DOCX, Excel XLS/XLSX, and PowerPoint PPT/PPTX)
- Creative Content: Includes 900+ TrueType fonts, 10,000+ clip art images, 300+ templates, 175+ digital photos, WordPerfect Address Book, Presentations Graphics (bitmap editor and drawing application), and WordPerfect XML Project Designer
- Reveal Codes: Turn on Reveal Codes to edit the codes and adjust formatting and structure
PdfLayoutResult result = current.Draw(page, bounds, layout);
PdfPage newPage = document.Pages.Add();
next.Draw(
newPage,
new RectangleF(40, 40, newPage.GetClientSize().Width - 80, 500),
layout);
The new page is appended to the document. Do not use result.Page for this requirement: that page is the correct continuation page for normal flow, but it may still contain available space. Add a page only after the current element has been drawn so the current section is not discarded.
When a hard break is the right choice
- Each report chapter, invoice section, or appendix must begin on its own page.
- A page header or footer must appear only at section boundaries.
- A legal or archival layout requires a predictable section start.
If the requirement is merely “avoid overlap and continue naturally,” use the returned layout result instead of adding pages unconditionally.
Paginate a PdfGrid without splitting rows
Tables use PdfGridLayoutFormat, which provides the same pagination settings for grid drawing:
PdfGridLayoutFormat gridLayout = new PdfGridLayoutFormat
{
Layout = PdfLayoutType.Paginate,
Break = PdfLayoutBreakType.FitPage
};
PdfGrid grid = new PdfGrid();
grid.Columns.Add(3);
grid.Headers.Add(1);
grid.Headers[0].Cells[0].Value = "Item";
grid.Headers[0].Cells[1].Value = "Quantity";
grid.Headers[0].Cells[2].Value = "Amount";
grid.Rows.Add();
grid.Rows[0].Cells[0].Value = "Example";
grid.Rows[0].Cells[1].Value = "2";
grid.Rows[0].Cells[2].Value = "$20";
grid.AllowRowBreakAcrossPages = false;
PdfGridLayoutResult gridResult = grid.Draw(
page,
new RectangleF(40, 40, page.GetClientSize().Width - 80, 500),
gridLayout);
PdfGridLayoutFormat enables the grid to flow across pages. Setting AllowRowBreakAcrossPages to false keeps each row on one page; if the entire row does not fit, Syncfusion moves it to the next page. This preserves row integrity but can leave unused space at the bottom of a page. Leaving the property enabled can fill pages more efficiently, but a tall row may be split.
Continue content after a grid
Use the grid’s layout result in the same way as a text result. The result identifies the ending page and bounds, so a paragraph or another grid can start below the table:
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallPdfGridLayoutResult gridResult = grid.Draw(
page,
new RectangleF(40, 40, page.GetClientSize().Width - 80, 500),
gridLayout);
PdfTextElement note = new PdfTextElement("Notes", font);
note.Draw(
gridResult.Page,
new RectangleF(40, gridResult.Bounds.Bottom + 10,
gridResult.Page.GetClientSize().Width - 80, 120),
layout);
For a guaranteed page break after the grid, ignore the available space and call document.Pages.Add() before drawing the note.
Rank #3
- Create a mix using audio, music and voice tracks and recordings.
- Customize your tracks with amazing effects and helpful editing tools.
- Use tools like the Beat Maker and Midi Creator.
- Work efficiently by using Bookmarks and tools like Effect Chain, which allow you to apply multiple effects at a time
- Use one of the many other NCH multimedia applications that are integrated with MixPad.
Control the pagination region with PaginateBounds
PdfLayoutFormat.PaginateBounds can constrain the region used while content is paginated. This is useful when a report reserves space for a header, footer, watermark, or side panel. Define the pagination rectangle so the layout engine does not place flowing content in those reserved areas. Apply the equivalent pagination settings to the grid format when drawing a PdfGrid.
Keep the rectangle’s top and height consistent with the page’s usable client area. A rectangle that is too short causes earlier page transitions; one that extends into a footer can produce collisions even though the draw call succeeds.
Automatic pagination versus fixed coordinates
| Requirement | Recommended technique | Why |
|---|---|---|
| Let content continue when it reaches the bottom | Paginate plus FitPage |
The engine adds or uses later pages as needed. |
| Place the next element directly after variable-height text | result.Page and result.Bounds.Bottom |
The position follows wrapping and page transitions. |
| Always start a new section on a new page | document.Pages.Add() |
The break is unconditional. |
| Paginate a table | PdfGridLayoutFormat |
The grid receives pagination settings appropriate to rows. |
| Keep rows intact | AllowRowBreakAcrossPages = false |
A row moves as a unit instead of splitting. |
| Reserve header or footer space | PaginateBounds |
Flowing content stays inside the permitted region. |
Common failures and fixes
The next element appears on the wrong page
Cause: the code draws it on the original PdfPage instead of the page returned by the previous operation.
Recommended Free Tools
Fix: pass result.Page (or gridResult.Page) to the next draw call.
Elements overlap
Cause: a fixed Y coordinate was reused after text wrapped or a grid grew.
Fix: set the next Y coordinate to result.Bounds.Bottom + gap. Keep the gap in the same drawing units as the rectangle.
Rank #4
- REUSABLE TEMPERATURE DATA LOGGER. Wide temperature measuring range -22℉~158℉(Defult Fahrenheit℉). Highly temperature accuracy (±0.9℉). Perfect for the transportation and storage of pharmaceuticals, frozen food, fresh food, vegetable, fish, and so on.
- AUTO PDF/EXCEL REPORT. Built-in USB port, generate PDF report automatically after connecting to PC or Android Phone, no software needed. Encryptable via PC.
- LCD VISUAL DISPLAY. Press the button to check key information: current temperature value, Max or Min value since recording, Current Date, Logging points.
- MULTIPLE START OPTION & ALARM SETTINGS. Start options: Press the button on the data logger; Pre-set time start or Start delay on Elitechlog software; Alarm Settings: Support up to 5 alarm settings, safeguard the valued items all over. 【Compared to Elitech RC-5】Restart by button pressing. Lower power consumption: Battery life up to 6 months. The external temperature sensor is optional. Temperature record points up to 32,000 points. IP 67 waterproof protection.
- FREE ELITECHLOG SOFTWARE FOR WINDOWS & MACOS. Parameters programmed before leaving the factory: Log interval - 2 mins; Press button to start. The desired parameters also can be set on Elitechlog software: Temperature unit - ℃/℉, Log interval, Temperature alarm range, etc. 24/7 US Technician Support via Email and Phone.
A section does not begin on a new page
Cause: pagination is conditional; it only moves content when it cannot fit.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Fix: call document.Pages.Add() and draw the next section on the returned page.
A table row is split between pages
Cause: row breaking is enabled.
Fix: set grid.AllowRowBreakAcrossPages = false. If a single row is taller than the usable page area, redesign or shorten that row; an intact row still needs room to render.
Content collides with a footer
Cause: the pagination rectangle includes the footer area.
Fix: reduce the rectangle height or set PaginateBounds to the body region, leaving explicit space for the footer.
Pages contain unexpectedly large blank areas
Cause: rows are being kept intact, the pagination bounds are too short, or unconditional breaks are being added.
Best Value
Fix: use row preservation only where required, verify the bounds, and reserve hard breaks for true section boundaries.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Performance, reliability, and maintainability
- Reuse a configured layout format instead of creating inconsistent settings for every element.
- Keep the page reference and last layout result together in your report-writing routine; this prevents accidental drawing on a stale page.
- Use a single margin and gap policy so text, grids, and continuation sections align.
- Test with short content, long wrapped paragraphs, a grid that ends exactly at the page boundary, and rows taller than the remaining space.
- Render and inspect multi-page output, not only the first page. Pagination bugs often appear only when a draw operation creates a continuation page.
Or skip the browser setup
If your goal is to produce a clean image or PDF preview of a report page or a web-based report viewer, ScreenshotNeo provides a website screenshot API. It accepts the page before capture, removes more than 60 known consent platforms plus newsletter popups and chat widgets, and bills only clean shots. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed; the response identifies the result with X-Page-Verdict and X-Billed headers. It is separate from Syncfusion’s PDF layout engine, so use Syncfusion when you are generating the PDF and ScreenshotNeo when you need a rendered web capture or PDF of a URL.
One-call cURL example
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/report-viewer -o shot.webp
See the ScreenshotNeo API documentation for all options. The service also offers an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. Features include full-page capture with lazy images loaded, CSS-selector element capture, device and viewport controls, custom CSS and JavaScript, waits, request blocking, authentication headers and cookies, timezone and geolocation, transparent backgrounds, resizing, chosen-TTL caching, signed links, asynchronous jobs, bulk capture of up to 100 URLs per call, usage reporting, and an OpenAPI specification.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Python and Node.js
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://example.com/report-viewer"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com/report-viewer' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
The Free plan includes 1,000 shots per month with no card. Starter is $5 for 3,000 shots, and paid plans start there; yearly billing provides two months free. Create a free ScreenshotNeo account to try the 1,000-shot allowance.
Frequently Asked Questions
Can I use a fixed Y coordinate after every element?
Only when every element has a known, fixed height. For wrapping text, grids, and any content that may paginate, use the returned bounds and page instead.
Does PdfLayoutResult.Page always mean a new page was created?
No. It identifies the page on which the draw operation ended. It may be the original page or a later page used during pagination.
Should I disable row breaks for every PdfGrid?
Disable them when each record must remain visually intact. Allowing breaks can use page space more efficiently when splitting a row is acceptable.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

