Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在wpf中动态更改windows打印机可打印区域的宽度和高度_C#_Wpf - Fatal编程技术网

C# 如何在wpf中动态更改windows打印机可打印区域的宽度和高度

C# 如何在wpf中动态更改windows打印机可打印区域的宽度和高度,c#,wpf,C#,Wpf,当打印出来时,页面大小宽度=816.0,高度=10560.0。现在我想减小这个大小 PrintDialog dialog = new PrintDialog(); double _width = dialog.PrintableAreaWidth; double _hieght = dialog.PrintableAreaWidth; dialog.PrintVisual(this, "My Window"); 有了这个代码,我可以_width=816.0和_h

当打印出来时,页面大小宽度=816.0,高度=10560.0。现在我想减小这个大小

    PrintDialog dialog = new PrintDialog();
    double _width = dialog.PrintableAreaWidth;
    double _hieght = dialog.PrintableAreaWidth;
    dialog.PrintVisual(this, "My Window");
有了这个代码,我可以_width=816.0和_hiight=10560.0。现在我想在wpf中动态更改可打印区域的宽度和高度。我应该怎么做


目前选择了SnagIt 8。如果我点击上图中的打印按钮,我将得到一张图像。该图像的大小为1200px,高度为2128px。因此,我需要更改此大小。

您需要创建一个自定义类,如下所示(它是关于实现打印预览)。使用这个方法。

我的意思是,如果运行我上面提到的这个程序,它将显示对话框窗口,然后我单击选择打印机(CutePDF Writer)然后单击对话框中的“打印”按钮。然后它正在打印,但它有自己的可打印宽度和高度。因此,我需要更改已安装打印机的宽度和高度。@user1459420这将是特定于打印机的,您必须查看打印驱动程序文档以了解您想要执行的操作,在这种情况下,正确的方法是设置发送到打印机的页面的大小。马克·霍尔,我编辑的文章可能带有数字,请检查。@user1459420看看这个。我以前根据你上面提到的网站尝试过这个。但页面宽度和高度仍然没有改变。
    PrintDialog dialog = new PrintDialog();
    double _width = dialog.PrintableAreaWidth;
    double _hieght = dialog.PrintableAreaWidth;
    dialog.PrintVisual(this, "My Window");