Я новичок в WPF, и у меня есть эта проблема с печатью. Я использую следующий код:WPF не будет печатать большую часть времени
public static void PrintImageFile(string ImagePath, int ImageCopyCount, PageOrientation ImagePageOrientation = PageOrientation.Unknown, PrintQueue Printer = null, string PrintingName = "")
{
PrintDialog printDialog = SetPrintDialog(ImageCopyCount, ImagePageOrientation, Printer);
BitmapImage imageToPrint = BitmapImageFromPath(ImagePath);
PrintCapabilities capabilities = printDialog.PrintQueue.GetPrintCapabilities(printDialog.PrintTicket);
Size size = new Size(capabilities.PageImageableArea.ExtentWidth, capabilities.PageImageableArea.ExtentHeight);
DrawingVisual drawingVisualToPrint = BitmapImageToDrawingVisual(imageToPrint, size);
try
{
printDialog.PrintVisual(drawingVisualToPrint, PrintingName);
}
catch (Exception e)
{
Info("Error in PrintImageFile : " + e.Message);
}
}
Проблема в том, что он не будет печатать большую часть времени. В этих случаях задание на печать кратко отображается в списке заданий печати принтера, а затем исчезает. Никакого сообщения об ошибке нет, и программа ведет себя так, как если бы PrintVisual никогда не выполнялся. Около 1 из 6-7 раз, однако, печать происходит точно так, как ожидалось ...
Принтер отлично работает.
Я потратил много времени, пытаясь понять это, и я не видел никого, имеющего такую же проблему. Спасибо.
Вы уверены, что есть содержимое в чертежеVisualToPrint? Это досягаемость, но очередь печати может определять, что в задании печати ничего не происходит, поэтому он падает,/ – Paparazzi
drawingVisualToPrint имеет контент, это не проблема. – user1209585