PDFPipe

ISO A series / A3

A3 page size for PDF generation

A3 is two A4 sheets side by side, and it is what a document becomes when a table stops fitting.

The dimensions

One measurement in four units. Millimetres and inches are what a printer works in; points are what the PDF itself stores; pixels are only useful for checking a screen mock-up against the real thing.

  • Millimetres: 297 x 420 mm
  • Inches: 11.69 x 16.54 in
  • Points: 842 x 1191 pt
  • CSS pixels: 1123 x 1587 px at 96 dpi

Where the size comes from

A3 is A4 unfolded. That relationship is the practical reason it gets used: an A3 sheet folded once is an A4 booklet, and an A3 spreadsheet printed at 71 percent lands exactly on A4 with no cropping. The 71 percent is one over the square root of two, and it is the same number on every photocopier reduction button in the world.

What gets printed at this size

  • wide financial tables that will not fit A4 without a font nobody can read
  • engineering drawings, floor plans and anything dimensioned
  • project timelines and Gantt output, which are wide by nature
  • poster proofs, before they are scaled up for real printing

Margins that survive a real printer

20mm all round. The extra width invites people to fill it edge to edge, and A3 output is far more likely to be printed on a shared office device with a wider unprintable border than a desktop printer has. If the sheet will be folded to A4 for filing, keep 25mm clear of the centre fold line at 148.5mm from the left.

The CSS

A3 is one of the six named formats the render API accepts, so it can be set in the request options or in the document's own CSS. Setting it in CSS keeps the size with the template, which is usually what you want.

css
@page {
  size: A3 portrait;
  margin: 20mm;
}

/* Wide tables are the reason A3 was chosen. Let the table set its own
   width rather than forcing it to 100 percent of a page it overflows. */
table {
  width: auto;
  min-width: 100%;
  border-collapse: collapse;
}

The render request

With a named format the size travels in the options and the CSS is optional.

json
{
  "html": "<!doctype html>...",
  "options": {
    "format": "A3",
    "margin": { "top": "18mm", "bottom": "18mm", "left": "16mm", "right": "16mm" }
  }
}

The mistake people make

Reaching for A3 landscape when the real problem is a table with too many columns. A landscape A4 is 297mm wide, which is exactly the width of a portrait A3, and it prints on the paper that is already in the tray.

Frequently asked

What is A3 in pixels?

1123 x 1587 px at 96 dpi, at the 96 pixels to the inch that CSS assumes. That number is useful for comparing a screen mock-up against the page, and useless for laying out the document: use 297 x 420 mm instead, because a page laid out in pixels shifts whenever the render scale changes.

Can I pass A3 as a format?

Yes. "A3" is one of the six format values the API accepts, alongside A4, A3, A5, Letter, Legal and Tabloid.

Does landscape need a different page size?

No. Landscape is the same rectangle turned, so it is set as an orientation rather than as swapped dimensions. Writing the width and height the other way round produces the same page and makes the intent harder to read later.

Other page sizes

Sizes that come up in the same conversation, and one from each of the other families.

Paste the CSS below into the playground and see the page box it produces.