我正在使用iTextSharp在我的asp.net应用程序中生成PDF文档。这很好用。我唯一的问题是,当我生成一张包含合法纸张大小的PDF文档并打印出来时,打印机使用的是默认纸张,即字母大小。我必须手动更改打印选项,以便在合法纸张中打印。有没有一种方法可以指定哪种纸张尺寸我希望以编程方式打印文档,以便我不必手动执行?
我正在使用这行代码在iTextSharp中指定页面大小:
Document doc = new Document(PageSize.LEGAL.Rotate());
答案 0 :(得分:1)
您无法控制客户端打印机。这将是PDF格式中的一个巨大的安全问题。这取决于计算机的设置。
答案 1 :(得分:1)
好的,我在另一篇文章中找到了答案:Propagate the orientation setup at iTextSharp.text.Document creation to the Print dialog。
关键是将观众偏好按PDF页面尺寸选择纸张来源设置为true。
writer.AddViewerPreference(PdfName.PICKTRAYBYPDFSIZE, PdfBoolean.PDFTRUE);