3
我想在网络上检测我的3D打印机,但由于某种原因它只返回2d打印机,因为3D打印机连接在网络上,有点奇怪,可从本地软件中检测到。有关如何显示所有网络打印机的任何想法?视觉工作室没有检测到网络上的3D打印机
using System;
using System.Printing;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
namespace PrintQueuesExample
{
public partial class Window1 : Window
{
PrintQueueCollection _Printers;
public Window1()
{
_Printers = new PrintServer().GetPrintQueues(new[] {
EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections});
foreach (var queue in _Printers)
{
Console.WriteLine(queue.Name);
var capabilities = queue.GetPrintCapabilities();
foreach (var size in capabilities.PageMediaSizeCapability)
{ Console.WriteLine(size.ToString()); }
Console.WriteLine();
}
InitializeComponent();
}
public PrintQueueCollection Printers
{ get { return _Printers; } }
private void PrintTestPageClick(object sender, RoutedEventArgs e)
{
var queue = _PrinterList.SelectedItem as PrintQueue;
if (queue == null)
{
MessageBox.Show("Please select a printer.");
return;
}
var size = _SizeList.SelectedItem as PageMediaSize;
if (size == null)
{
MessageBox.Show("Please select a page size.");
return;
}
queue.UserPrintTicket.PageMediaSize = size;
queue.UserPrintTicket.PageOrientation = _PortraitRadio.IsChecked == true ?
PageOrientation.Portrait : PageOrientation.Landscape;
var canvas = (Canvas)Resources["MyPrintingExample"];
canvas.Measure(new Size(size.Width.Value, size.Height.Value));
canvas.Arrange(new Rect(0, 0, canvas.DesiredSize.Width,
canvas.DesiredSize.Height));
var writer = PrintQueue.CreateXpsDocumentWriter(queue);
writer.Write(canvas);
}
}
public class PrintQueueToPageSizesConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{
return value == null ? null :
((PrintQueue)value).GetPrintCapabilities().PageMediaSizeCapability;
}
public object ConvertBack(object value, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{ throw new NotImplementedException(); }
}
}
并且通常在打印机列表对话框中显示3d打印机*我会*想象*保留给传统打印机......但我不知道,但没有3D打印机。如果你进入记事本打印:它会出现吗? –
不认为3D打印机被识别为* priner *本身。它应该是*一个设备*,就像一个硬币验证器,或一些USB闪光灯 – Tigran
Windows打印驱动程序目前没有第三维。所以,他们不太可能在Windows中的任何*打印机列表中显示。如果它们显示在控制面板中的打印机列表中,则应该放在C#应用程序的打印机列表中。 –