在单个A4页上打印两个A5页-通过代码配置打印设置

时间:2019-01-10 11:00:20

标签: c# .net printing system.drawing

要求

我们有一个自定义应用程序(打印服务),可以将任何文档打印到所需的网络打印机。

此操作基于以下条件完成:

System.Drawing.Printing

特别是:

  • PrintDocument
  • PrinterSettings

应用程序运行良好已有一段时间,最近我收到了支持以下内容的更改请求:

  

必须能够在A4页上每两页打印A5文档   时尚

这意味着我们必须能够通过代码支持以下手动打印选项:

enter image description here

enter image description here

我认为这应该可行,我只是不知道在哪里看。

  

PrintDocument可以这样做吗?如果是这样,通过哪些设置?在那儿   还有什么我可以用来做的?

1 个答案:

答案 0 :(得分:1)

如果您当前的代码正在打印到Graphics对象,则像这样:

public void Print(Graphics g);

然后,您应该能够像这样在同一个物理页面上挤入两个页面输出:

  g.Transform = create matrix scaled to 50% and rotated 90°
  page1.Print(g);
  g.Transform = create matrix scaled to 50%, rotated 90° and translated half a page, 
  page2.Print(g);