I'm using iTextSharp to generate PDF documents in my asp.net application. That works great. The only issue I have is when I generate a PDF document with size of a legal paper and print it, the printer use the default paper which is letter size. I have to change the printing options manually in order to print it in legal paper. Is there a way I can specify in which paper size I want the document to print programmatically so that I won't have to do it manually?
I'm using this line of code to specify the page size in iTextSharp:
Document doc = new Document(PageSize.LEGAL.Rotate());
Allen Scott
05-Dec-2014The key is to set the viewer preference Choose paper source by PDF page size to true.
writer.AddViewerPreference(PdfName.PICKTRAYBYPDFSIZE, PdfBoolean.PDFTRUE);
Mark M
05-Dec-2014You cannot control the client printer. That would be a huge security problem in the PDF format. It is up to that computer's settings.