Use EO.Pdf’s converter-level multi-column layout: set HtmlToPdf.Options.ColumnCount, set StartPosition to the vertical offset in inches, and set StartColumnIndex to -1 when that offset must apply to later columns as well. This is the practical configuration reported for the case where a taller first-page header leaves the columns starting too high; verify the StartColumnIndex behavior with the EO.Pdf version you use.
Set the column count and starting offset
Configure the converter options before calling ConvertHtml. For two columns and a header that occupies 1.25 inches of the output area, the core setup is:
HtmlToPdf.Options.ColumnCount = 2;
HtmlToPdf.Options.StartPosition = 1.25;
HtmlToPdf.Options.StartColumnIndex = -1;
HtmlToPdf.ConvertHtml(html, doc);
Replace 1.25 with the vertical space your content needs. The value is in inches, not CSS pixels, points, or a paper-edge coordinate. The example assumes html contains the markup to convert and doc is the PDF document you are adding the result to; initialize and manage those using the APIs in the EO.Pdf version installed in your project.
What each setting does
ColumnCountselects EO.Pdf’s paging-aware multi-column layout and gives it the number of columns to fill.StartPositionsets the starting Y offset on the first page. It is measured from the top of theOutputArea.StartColumnIndex = -1is the practical setting reported for carrying a nonzero starting offset to subsequent columns. Because that behavior comes from a community implementation answer rather than the official API description, test it against your installed EO.Pdf version.
The official API description says StartPosition begins at 0 and resets to 0 after each conversion. Set it for each conversion that needs a nonzero offset; do not assume a prior conversion leaves it configured.
#1 Best Overall
Calculate the offset from the output area
A one-inch StartPosition means one inch down from the top of the OutputArea. If the output area begins below a one-inch top margin, that position is two inches from the paper’s top edge. This distinction matters when matching the start of body text to a header drawn or positioned above the content area.
Set the offset to the header space that the converted content must leave clear, using inches. If a header’s required clear space is 1.25 inches from the top of the output area, use 1.25. Do not add the page margin a second time unless your target measurement is deliberately from the paper edge: the margin and the offset are different parts of the page geometry.
For a larger header only on page one, keep the requested first-page offset in mind when inspecting later pages. The documented property describes the starting Y position on the first page; it is not a general CSS rule that reserves that same header area on every page. The reported StartColumnIndex = -1 configuration is intended to make later columns honor the starting position too. Check the actual layout in the EO.Pdf version and document configuration you ship.
Use EO.Pdf columns, not CSS columns, for page-aware flow
For this PDF pagination problem, set ColumnCount on HtmlToPdf.Options rather than relying on -webkit-column-count or -moz-column-count. EO.Pdf support describes its multi-column feature as filling column 1 on page 1, then column 2 on page 1, then column 1 on page 2, continuing in that order. That is the page-aware order developers generally need when content should flow through PDF columns.
Rank #2
CSS multi-column layout is a browser layout feature, not the same paging-aware column flow. EO.Pdf support has said that WebKit and Mozilla column properties are not supported for the requested PDF behavior in the Chromium engine used by the converter. CSS columns may still be appropriate when you want browser-style layout, but do not expect them to behave like EO.Pdf’s page-and-column sequence across PDF pages.
If your input arrives as separate HTML pieces and cannot be combined into one input, EO.Pdf support’s stated workaround is to convert the pieces into the same PdfDocument and use HtmlToPdf.Options.Follow between them. For continuous rendering, the API also exposes the prior result’s LastPageIndex and LastPosition.
Continue a conversion across HTML snippets
When a second HTML fragment must continue after the first rather than start at a fresh position, carry forward the first conversion’s result. The API pattern is:
var result = HtmlToPdf.ConvertHtml("<p>paragraph1</p>", doc);
HtmlToPdf.Options.StartPageIndex = result.LastPageIndex;
HtmlToPdf.Options.StartPosition = result.LastPosition;
HtmlToPdf.ConvertHtml("<p>paragraph2</p>", doc);
The shortcut for the continuation setup is:
HtmlToPdf.Options.Follow(result);
Use the result from the immediately preceding conversion that you want to continue. This continuation pattern addresses where the next fragment resumes; it is distinct from choosing an initial header clearance for the first page. If a multi-column conversion also requires the initial offset behavior, configure and verify the column settings for that conversion separately.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Prevent images from splitting at page boundaries
If an image must remain intact rather than break across a page boundary, EO.Pdf support recommends this CSS rule:
img { page-break-inside: avoid; }
This addresses image cuts at page breaks. It does not replace the converter-level column configuration, and it does not guarantee that every image will fit in the remaining space; inspect the resulting PDF when image integrity is important.
Troubleshoot a misplaced or unexpected start position
All columns start too high
Confirm that StartPosition is set before the conversion, that the value is in inches relative to OutputArea, and that ColumnCount is greater than one. For a nonzero offset that must carry into later columns, try the reported StartColumnIndex = -1 setting and verify it on the exact EO.Pdf version deployed.
The first column starts correctly but a later column does not
Check whether StartColumnIndex is set to -1. This is the setting associated with applying the offset to the later columns in the reported implementation. Since the available documentation for that detail is a community answer, treat a mismatch as a version-specific behavior to test, not proof that your inch calculation is wrong.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchRank #4
The offset seems larger than expected
Measure from the top of the output area, then account separately for the page’s top margin. For example, a one-inch top margin plus a one-inch offset places the start position two inches from the paper edge. Avoid entering a paper-edge measurement as though it were an output-area offset.
A later conversion unexpectedly starts at zero
StartPosition resets to zero after a conversion. Set it again before the next conversion that requires an offset. If the next HTML fragment should resume where an earlier fragment ended instead, use the preceding conversion result with Follow(result) or its LastPageIndex and LastPosition values.
CSS columns do not flow through PDF pages as expected
Switch to EO.Pdf’s ColumnCount feature for the paging-aware order. CSS multi-column properties do not provide the requested PDF page-and-column behavior in the described converter setup. For separate HTML segments that need to continue, add them to the same document and use the continuation pattern.
An image is cut at a page boundary
Apply page-break-inside: avoid to images and inspect the output. That is EO.Pdf support’s suggested mitigation for image cuts; it is not a promise that an image larger than the available page space can be kept intact without layout consequences.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Best Value
Reliability, concurrency, and what is not established
EO.Pdf support has stated that separate option sets are maintained per thread. That is relevant if conversions run concurrently: the cited guidance does not say that one thread’s option values should be treated as another thread’s settings. Keep each conversion’s configuration and its intended document flow clear in your application, and verify behavior under the concurrency model you actually use.
The available material establishes API behavior and support guidance, not performance benchmarks, throughput figures, or a universal version guarantee for StartColumnIndex = -1. There is no evidence here to quote a conversion speed, a maximum number of columns, or a cost for this configuration. Check the API documentation for your EO.Pdf release and validate representative PDFs, especially when page geometry, headers, and continuation fragments interact.
Or skip the browser setup
ScreenshotNeo is a separate option for capturing a web page as an image or PDF; it does not configure EO.Pdf’s paging-aware multi-column layout. If your task is a clean capture of a URL rather than a custom paginated, multi-column PDF, its one-request API is:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for request options. ScreenshotNeo accepts consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, with response headers indicating the page verdict and billing status. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots.
Free tools Windows power users keep installed
One-click scans. No signup required.
Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
Sources and scope
The converter behavior described here is based on EO.Pdf API documentation, an Essential Objects support reply from 2012, another support reply from 2016, and a community implementation answer for StartColumnIndex = -1. The older support replies describe the behavior and engine at the time of those replies; check your installed EO.Pdf version rather than assuming that every version exposes identical behavior.
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.

