none
word在打印时,有一个按纸型缩放的功能,用C#怎么实现呢? RRS feed

  • 问题

  • 原稿是B5纸大小的 

       通过WORD 打印控制菜单  操作人员可以把他缩放到A3  A4  B5 任意规格 都可以,并且 这个缩放是等比例放大缩小,不改变排版   格式内容  和原稿在B5上排出来的效果 字数内容完全一样,只是进行了0%-1000%  一个百分比放大。

    田田qq:764574267

    2015年10月22日 15:35

答案

  •  int PrintZoomPaperWidth = 11907;
                    int PrintZoomPaperHeight = 16839;
                    switch (cboPageSize.Text)
                    {
                        case "A3":
                            {
                                PrintZoomPaperWidth = 16839;
                                PrintZoomPaperHeight = 23814;
                            } break;
                        case "A4":
                            {
                                PrintZoomPaperWidth = 11907;
                                PrintZoomPaperHeight = 16839;
                            } break;
                        case "B4 (JIS)"://待录制
                            {
                                PrintZoomPaperWidth = 11907;
                                PrintZoomPaperHeight = 16839;
                            } break;
                        case "B5 (JIS)":
                            {
                                PrintZoomPaperWidth = 10319;
                                PrintZoomPaperHeight = 14571;
                            } break;
                    }通过这种方法实现了

    田田qq:764574267

    • 已标记为答案 ttsoft888 2016年1月3日 15:40
    2016年1月3日 15:40

全部回复

  • 你好,

    你有没有试过在编程中设置Paper Size的这个属性,相当于在打印页面选择任意纸张。

    https://msdn.microsoft.com/en-us/library/system.drawing.printing.pagesettings.papersize%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

    http://stackoverflow.com/questions/684801/setting-the-paper-size


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年10月23日 7:17
    版主
  • 你好,首先感谢你的回答!这种方式纸张是可以选择了,但是怎么把word通过printDocument控件调进来呢?

    我目前使用的方式是这样的:

    先打开要打印的word,让他变成Document对象doc,然后用doc.PrintOut这个方法打印的。这个方法可以调要打印的word文档。但是要按纸张缩放怎么实现,还没有研究清楚!


    田田qq:764574267

    2015年10月23日 16:50
  • 还有采用printDocument控件的这种方式,实现奇偶打印、切换打印机驱动等是否方便,用doc.PrintOut这种方式是很容易实现的。


    田田qq:764574267

    2015年10月23日 16:52
  •  int PrintZoomPaperWidth = 11907;
                    int PrintZoomPaperHeight = 16839;
                    switch (cboPageSize.Text)
                    {
                        case "A3":
                            {
                                PrintZoomPaperWidth = 16839;
                                PrintZoomPaperHeight = 23814;
                            } break;
                        case "A4":
                            {
                                PrintZoomPaperWidth = 11907;
                                PrintZoomPaperHeight = 16839;
                            } break;
                        case "B4 (JIS)"://待录制
                            {
                                PrintZoomPaperWidth = 11907;
                                PrintZoomPaperHeight = 16839;
                            } break;
                        case "B5 (JIS)":
                            {
                                PrintZoomPaperWidth = 10319;
                                PrintZoomPaperHeight = 14571;
                            } break;
                    }通过这种方法实现了

    田田qq:764574267

    • 已标记为答案 ttsoft888 2016年1月3日 15:40
    2016年1月3日 15:40