Click here to Skip to main content
13,505,219 members
Rate this:
Please Sign up or sign in to vote.
See more:
i m using printdocument for a printout. i want to increment the size of the paper after each row is added. I found a similar question here and here. But the solution doesnot work. I m using a Component class to override the base method of Printdocument and I m setting the page size in OnBeginPrint event

int pageHt = 288, pageWt = 314;
protected override void OnBeginPrint(System.Drawing.Printing.PrintEventArgs e)
            // Run base code
            base.DefaultPageSettings.PaperSize = new PaperSize("Custom", pageWt, pageHt);
            base.DefaultPageSettings.Landscape = false;

Then for each iteration i m trying to increase the paper height
base.DefaultPageSettings.PaperSize.Height += 22;

But the paper height does not increment. Help appreciated. Thanx.
Posted 1-Feb-13 19:40pm
Updated 1-Feb-13 19:42pm

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 2

I found the answer to this question after struggling for 2 days. It was pretty simple

public void PrintEstimate(PrintPageEventArgs e)
  e.PageSettings.PaperSize = new PaperSize("Custom", pageWt, pageHt);//initialize the height and width of the page
  foreach(.. )
    /* ...
     Write the loop here
     e.PageSettings.PaperSize.Height = e.PageSettings.PaperSize.Height + 22;// foreach iteration, increment the page height.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web02 | 2.8.180417.1 | Last Updated 4 Feb 2013
Copyright © CodeProject, 1999-2018
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100