ScreenshotNeo

BlogHTML to image & PDF

How to Save a Webpage as PDF with Web Fonts Embedded

Save a webpage as a PDF, then verify whether its web fonts are embedded. Learn what to do when fonts fall back and how page owners can improve print output.

By the ScreenshotNeo team4 October 20265 min read

Short answer: Open the webpage, wait for its fonts to load, choose Print → Save to PDF, and inspect the saved PDF’s font properties if actual embedding matters. A page displaying a web font does not guarantee that the browser will put that font in the PDF. Printing support varies by browser and operating system, and the page may use a fallback font instead.

If you only need a PDF that looks right on your computer, print preview is a useful check. If other people must see the same typography, verify the PDF itself or have the page owner provide a prepared document with the intended fonts, subject to the font’s license.

1. Save the webpage with your browser

  1. Open the page and wait for its text and layout to settle. If the page uses a remote font, allow time for it to load before printing.
  2. Open the browser’s print dialog. In Firefox, choose Save to PDF as the destination.
  3. Review the preview. Adjust the paper size, scale, margins, headers and footers, or background printing if those controls are available and useful.
  4. Save the PDF.
  5. If embedded fonts are required, inspect the PDF’s font properties in a PDF reader or a font-inspection utility. Do not treat visual appearance alone as proof that fonts are embedded.

Print settings differ across browsers, operating systems, and output formats. Firefox documents its print workflow and available controls in its web page printing guide. A preview helps you judge page breaks and layout, but the saved file is the artifact to check for font embedding.

2. Understand web fonts, fallback fonts, and embedding

A web page can load fonts with CSS @font-face, which points the browser to a font resource or a local font. WOFF2 is a common modern web delivery format. That browser-side setup determines how text can be rendered on the page; it does not, by itself, specify what font resources the browser puts into a PDF.

Adobe Fonts explains that printing behavior depends on the browser and operating system. If that combination does not support printing with web fonts, the page can print using the fallback fonts in its font stack. In that case, the PDF may look different even though the page looked correct on screen. See Adobe’s Printing web fonts guidance.

There are two separate questions to check:

  • Does the PDF look right? Inspect the print preview and the saved pages for substitutions, clipping, or unexpected wrapping.
  • Are the fonts embedded? Inspect the saved PDF’s font properties. Appearance alone cannot establish whether the file depends on fonts installed on the computer that created it.

3. If you control the webpage, improve its print layout

Print CSS can make a page more suitable for paper or PDF. It controls presentation, not whether a particular browser embeds fonts. The following is a small example you can adapt in the page’s stylesheet:

@media print {
  body {
    color: #111;
    background: #fff;
    font-size: 11pt;
  }

  nav,
  .cookie-banner,
  .no-print {
    display: none !important;
  }

  a {
    color: inherit;
    text-decoration: none;
  }
}

@page {
  size: A4 portrait;
  margin: 18mm;
}

@media print applies styles for print output. The @page rule can set page dimensions, orientation, and margins. Browser support for paged-media features varies, and some detailed behavior is version-sensitive. MDN covers printing with CSS; Chrome for Developers describes support for generated content in page margins in Chrome 131 in its print margins article.

If typography must be consistent for readers, the page owner can prepare and offer a PDF or EPS using the intended fonts, after checking the font’s licensing terms. Adobe recommends a prepared document as an alternative when browser printing with web fonts is unreliable.

4. Troubleshoot missing or changed fonts

What you see Likely cause What to try
The font changed in the PDF The font had not loaded before printing, or the browser/operating system used the CSS fallback font. Wait for the page typography to settle, print again, and compare another browser’s output. If you own the page, make sure the font resource loads successfully and the fallback stack is intentional.
The preview looks right, but you need proof of embedding Visual appearance does not show whether the PDF contains embedded font data. Inspect the saved PDF’s font properties with a PDF reader or font-inspection utility.
Text wraps differently or page breaks look wrong Print layout differs from screen layout, or the print settings and page size changed the available space. Review scale, paper size, and margins. If you control the page, add or adjust print-specific CSS and inspect the preview again.
Margins, page numbers, or other page details differ by browser Print controls and support for paged-media features vary. Check the browser’s print dialog for header/footer settings and validate the actual PDF in the target browser and operating system.
A remote font appears late or is missing The page printed before the font finished loading, or the font could not be fetched. Wait for loading to finish and retry. For a page you maintain, check the font URL, network access, and CSS font-face declaration.

5. Reliability, performance, and cost

For an occasional page, browser printing is the simplest route and uses the browser’s built-in controls. Allow the page to finish loading before printing, and check both preview and output. A different browser or operating system may produce different typography, so use the same environment when repeatability matters.

For a recurring publishing workflow, print CSS reduces avoidable layout surprises, but it cannot make every browser embed a web font. If recipients must have consistent typography, prepare and distribute a PDF with the intended fonts and confirm the font license allows that use. Browser printing has no per-document service charge, while a prepared document takes authoring and maintenance effort.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server for developers. Its API returns screenshots or PDFs from a single GET request. This can automate PDF capture, though a returned PDF should still be checked for embedded fonts when embedding is a requirement; the API’s ability to return a PDF does not itself establish font embedding.

For a PDF, set the API’s output format to PDF using the documented options. See the ScreenshotNeo API documentation for PDF settings and request parameters.

curl -G "https://api.screenshotneo.com/v1/shot" \
  -d access_key=YOUR_API_KEY \
  --data-urlencode url=https://stripe.com \
  -d format=pdf \
  -o page.pdf

Cookie banners, popups, and chat widgets are removed before the shot. Bot checks, blank pages, and failed loads are never billed. An MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 screenshots. Learn about ScreenshotNeo or sign up free.

FAQ

Does saving a webpage as PDF always embed its web fonts?

No. Printing support varies by browser and operating system. Check the saved PDF’s font properties when embedding matters.

Can CSS force a browser to embed a font in its PDF?

No print stylesheet rule guarantees that outcome. Print CSS adjusts presentation; browser and operating-system behavior determines the PDF output.

How can I tell whether the PDF embeds fonts?

Inspect the PDF’s font properties in a PDF reader or font-inspection utility. The reviewed sources do not establish one universal checker.

What should I provide if readers need the same typography everywhere?

Consider offering a prepared PDF or EPS made with the intended fonts, after confirming the font license permits distribution.