Skip to content Skip to sidebar Skip to footer

Scale Html Table Before Printing Using Css

I have a table as the entire content of an HTML document (for legitimate table purposes...it is table data, not for layout). Some cells have widths and heights specified (not thro

Solution 1:

You should use the media types

@media print {
    body {transform: scale(.7);}
    table {page-break-inside: avoid;}
}

So, this styles will by applying only in print preview mode. http://www.w3.org/TR/CSS21/media.html


Solution 2:

I know I'm raising the dead, but for future search results reference:

I ran into a problem with super wide tables causing all the browsers to calculate the height incorrectly and repeat the thead multiple times on single pages - my solution was to apply zoom: 80% to the body (% varies based on your needs) which forced our page to effectively fit for print and the thead then was repeated properly at the top of every page. Perhaps trying zoom will work where transform did not.

Example CSS

@media print {
  body {
    zoom: 80%;
  }
}

Solution 3:

I ended up rewriting the whole table with percentage sizes applied as classes and then was able to scale the page for printing. Not sure why the browser was ignoring my print styles regarding the transform but converting the table from fixed sizes to proportional sizes has enabled me to scale it with CSS and the issue is gone.


Solution 4:

Using scale does not work for me.

My solution was to set page size to A3 even if I want a default print happen in A4 to let browser scale my page as it attempt to print in A3. The scaled page of A3 fit nicely on A4.

@media print {
  @page {
    size: A3;
  }
}

Post a Comment for "Scale Html Table Before Printing Using Css"