C# PrintCapabilities 检查打印机是否支持 ISOA4 页面介质尺寸

C# PrintCapabilities check whether ISOA4 page media size is supported by printer

我有一个 PrintCapabilities 对象,现在我正在尝试检查打印机是否支持 ISOA4 页面介质大小,以便我可以遍历只读 enumeration:

PrintDialog print = new PrintDialog();
PrintCapabilities pc = print.PrintQueue.GetPrintCapabilities(print.PrintTicket);

foreach (PageMediaSize mediaSize in pc.PageMediaSizeCapability)
{
    if (mediaSize.PageMediaSizeName == PageMediaSizeName.ISOA4)
    {
        Console.WriteLine("A4 size is supported");
        break;
    }
}

我正在尝试使用 Linq 做同样的事情,但没有成功。可能吗?如果可以,怎么做?

你应该可以做这样的事情(抱歉 - 我没有测试过这段代码)。

if (pc.PageMediaSizeCapability.Any(ms=>ms.PageMediaSizeName == PageMediasizeName.ISOA4))
{
    Console.WriteLine("A4 size is supported");
}