Próbuję drukować na drukarce sieciowej z kodu, ale status drukarki sieciowej w oknie dialogowym drukowania mówi Access denied, unable to connect
, a przycisk drukowania jest wyłączony. Ale mogę drukować na tej drukarce po prostu dobrze, jeśli wydrukuję z innej aplikacji. A jeśli wybiorę opcję Drukuj do pliku PDF z okna dialogowego drukowania, to również działa poprawnie. Po prostu nie mogę drukować na drukarce sieciowej. Mam problem z uprawnieniami?Odmowa dostępu do drukarki sieciowej w PrintDialog
if (File.Exists(previewDocument))
File.Delete(previewDocument);
PrintDialog printD = new PrintDialog();
printD.PageRangeSelection = PageRangeSelection.AllPages;
printD.UserPageRangeEnabled = true;
if (printD.ShowDialog() ?? false)
{
XpsDocument xpsDoc = new XpsDocument(previewDocument, FileAccess.ReadWrite);
XpsDocumentWriter xpsWriter = XpsDocument.CreateXpsDocumentWriter(xpsDoc);
xpsWriter.Write(((IDocumentPaginatorSource)messageFlow).DocumentPaginator);
FixedDocumentSequence fixedDocSeq = xpsDoc.GetFixedDocumentSequence();
printD.PrintDocument(fixedDocSeq.DocumentPaginator, "Hello!");
}
Możesz także sprawdzić kontekst, w którym aplikacja próbuje uruchomić. Możesz podszywać się pod kontekst aplikacji, jeśli aplikacja działa pod przywilejem, który nie pozwala na drukowanie. – Nair
Spróbuj uruchomić aplikację jako administrator. – Hozikimaru
Czy otrzymujesz ten błąd z kompilacji programu lub z debugowania? – Hank