I am using RawPrint nuget to print silently in UWP:
https://github.com/frogmorecs/RawPrint
Sample:
...
if (file != null)
{
IPrinter printer = new Printer();
var stream = await file.OpenStreamForReadAsync();
printer.PrintRawStream("Brother DCP-L2540DN series Printer", stream, file.DisplayName);
}