Class PrinterDiscoveryService
- Namespace
- combit.Reporting.Printing.Pdf
- Assembly
- combit.ListLabel31.CrossPlatform.Printing.Pdf.dll
Default implementation of IPrinterDiscoveryService that delegates
to a platform-specific combit.Reporting.Printing.Pdf.Internal.IPrinterCapabilityProbe.
using combit.Reporting.Printing.Pdf;
using var discovery = new PrinterDiscoveryService();
IReadOnlyList<PrinterInfo> printers = await discovery.GetPrintersAsync();
foreach (PrinterInfo printer in printers)
{
Console.WriteLine(printer.Name);
}
using combit.Reporting.Printing.Pdf;
var printerName = "My Printer";
using var discovery = new PrinterDiscoveryService();
PrinterCapabilities? capabilities = await discovery.GetCapabilitiesAsync(printerName);
if (capabilities is not null)
{
Console.WriteLine($"PDF passthrough: {capabilities.SupportsPdfPassthrough}");
}
public sealed class PrinterDiscoveryService : IPrinterDiscoveryService
- Inheritance
-
PrinterDiscoveryService
- Implements
- Inherited Members
Constructors
PrinterDiscoveryService(ILogger?)
Initializes a new instance of the PrinterDiscoveryService class using the platform-default capability probe.
public PrinterDiscoveryService(ILogger? logger = null)
Parameters
Methods
GetCapabilitiesAsync(string, CancellationToken)
Queries the detailed capabilities of a specific printer.
public Task<PrinterCapabilities?> GetCapabilitiesAsync(string printerName, CancellationToken cancellationToken = default)
Parameters
printerNamestringThe system name of the printer to query.
cancellationTokenCancellationTokenToken used to observe cancellation requests.
Returns
- Task<PrinterCapabilities>
A PrinterCapabilities describing the printer's features, or null when the printer does not exist or its capabilities cannot be determined.
Exceptions
- ArgumentNullException
Thrown when
printerNameis null.
GetPrinterAsync(string, CancellationToken)
Retrieves information about a specific printer by its system name.
public Task<PrinterInfo?> GetPrinterAsync(string printerName, CancellationToken cancellationToken = default)
Parameters
printerNamestringThe system name of the printer to look up.
cancellationTokenCancellationTokenToken used to observe cancellation requests.
Returns
- Task<PrinterInfo>
A PrinterInfo for the requested printer, or null when no printer with the specified name exists.
Exceptions
- ArgumentNullException
Thrown when
printerNameis null.
GetPrintersAsync(CancellationToken)
Enumerates all printers available on the current system.
public Task<IReadOnlyList<PrinterInfo>> GetPrintersAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationTokenToken used to observe cancellation requests.
Returns
- Task<IReadOnlyList<PrinterInfo>>
A read-only list of PrinterInfo instances describing each discovered printer. Returns an empty list when no printers are found.