I decided with some parameters that were missing in several tutorials that I found and other answers here in StackO, I do not know why exactly the two of them worked and in mine, maybe it's something relative to versions.
It turned out that I did not check if it was really necessary to convert the PrintDialog Object to PrintDocument, but that's how I did it:
this.printDocumentFunciona = this.printDialog1.Document;
The implementation itself:
this.printDocumentFunciona.PrinterSettings.PrinterName = "Microsoft XPS Document Writer";
this.printDocumentFunciona.DefaultPageSettings.PrinterSettings.PrintToFile = true;
this.printDocumentFunciona.DefaultPageSettings.PrinterSettings.PrintFileName = "NomeArquivo.xps";
this.printDocumentFunciona.PrintController = new StandardPrintController();
this.printDocumentFunciona.Print();
Important, if you select the Foxit Printer, it does not work at all, the dialog for choosing the name always appears, but using the Windows XPS printer or Office / Windows PDF, it works without opening anything.