C#根据内容打印页面高度

时间:2013-07-11 08:16:37

标签: c# winforms printing thermal-printer

我正在用c#做一些打印工作并遇到一个小问题。我正在使用热敏收据打印机。我想根据页面的内容设置页面的高度。这意味着,当我的项目较少时,页面应该更小,当我有很长的项目列表时,页面应该相应增长。 我尝试用PrintPageEventArgs设置它,但这不会导致满意的结果。怎么办呢?

由于

2 个答案:

答案 0 :(得分:0)

只需要照顾宽度。打印机将在最后一页上的最后一个打印元素后剪切纸张。

答案 1 :(得分:0)

仅供记录。我遇到过同样的问题。 最后我所做的是:

Int Line= starting position (in pixels)
For each line I want to print -> g.DrawString("text",font,xx,margin,line);

and then just before print
  ps.Height = Line;
  pd.Print();

pd is ->  PrintDocument pd = new PrintDocument();
ps is ->  PaperSize ps = new PaperSize("",my_width,1));
`enter code here`           pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
            pd.PrintController = new StandardPrintController();
            pd.DefaultPageSettings.Margins.Left = 0;
            pd.DefaultPageSettings.Margins.Right = 0;
            pd.DefaultPageSettings.Margins.Top = 0;
            pd.DefaultPageSettings.Margins.Bottom = 0;
            pd.DefaultPageSettings.PaperSize = ps;