0

I am generating a report on a web page that needs to be printed in landscape mode.

I have been searching for this since a few days and found a lot of answers on the web. Basically a simple style is needed for this:

@page {
    size: landscape;
    margin: 0.5cm 0.5cm 0.5cm 0.5cm;
}

But that does not seem to be working for me.

Can anyone please help?

Thank you.

Steve
  • 1
  • 1
  • It Seems To have Already had The Answer,[Please Check This Link](http://stackoverflow.com/questions/138422/landscape-printing-from-html) – Tamilmani Purushothaman Sep 23 '16 at 11:05
  • Thank you for your response. Yes the code does have the solution I thought would work, but that is not working for me all the time. Browsers seem to take orientation as hint and not a command. Using -webkit-transform, -moz-transform will not work either. The header (first div in sample here - https://www.dropbox.com/s/027765h9am7qh0c/sample.html.zip?dl=0) has to be dislayed on all pages and does not appear correctly if we rotate. I have pulled out half the hair on my head working on this one. – Steve Sep 26 '16 at 05:03

1 Answers1

0

Check this method. I tested this in Chrome and Mozilla Firefox. You can further improve this with your content and styles.Here is a sample page which can print .Save this as Html page try out more like these Your can refer more from here

<html>

<head>
  <style type="text/css">
    h3 {
      text-align: center;
    }
  
    .output {
      height;
      8.5in;
      width: 11in;
      border: 1px solid red;
      position: absolute;
      top: 0px;
      left: 0px;
    }
    @media print {
      .output {
        -ms-transform: rotate(270deg);
        /* IE 9 */
        -webkit-transform: rotate(270deg);
        /* Chrome, Safari, Opera */
        transform: rotate(270deg);
        top: 1.5in;
        left: -1in;
      }
    }
  </style>

</head>

<body>
  <div class="output">
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

Why do we use it?
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).


Where does it come from?
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
  </div>
</body>

</html>
Community
  • 1
  • 1
Geo V L
  • 866
  • 8
  • 25
  • Thank you for your reply. I guess, in this case I owe you an apology that I did not give a full picture of what I need to do. The header has "position" set to "fixed" to have it This report is viewed as well as printed. I have created a sample file with necessary elements and style. It can be downloaded from this dropbox link - https://www.dropbox.com/s/027765h9am7qh0c/sample.html.zip?dl=0 You will see that the box is overlapping with header – Steve Sep 23 '16 at 13:27
  • Sorry, previous comment did not go in correctly. I am a first timer here. :-) Adding another comment below. – Steve Sep 23 '16 at 13:37
  • Thanks for replying. I owe you an apology for not giving a full picture of what I need. This is for a report that is viewed AND printed with images in a matrix like 2x2, 3x3 and so on. I have created a sample file with necessary elements and style. dropbox link - https://www.dropbox.com/s/027765h9am7qh0c/sample.html.zip?dl=0 You can remove class from top div and print preview to see the result I need. The header has "position" = "fixed" to have it printed on all pages. The boxes with red border is where images are displayed. Overlap of content with header is handled by padding-top. – Steve Sep 23 '16 at 13:38