Я пытаюсь решить эту головоломку.
Я написал на C# функцию для печати FlowDocument на принтере. .
FlowDocument сначала разбивается на страницы с таблицами и разделами с разными свойствами шрифта в зависимости от раздела.
На практике в зависимости от раздела я решаю, что размер шрифта, который нужно назначить, и должен ли он печататься жирным или обычным шрифтом.
Моя проблема заключается в том, что когда я запускаю функцию с компьютера с Windows 10 или с Windows 11, обновленной с версии 10, жирный шрифт печатается правильно, но если я делаю это на родном компьютере с Windows 11, нет.
Безумие, что не печатается только жирный шрифт, а размер шрифта меняется.
Это функция печати, которую я создал
Код: Выделить всё
private static bool PrintDocument(FlowDocument Doc, string PrinterName, int Copie, int OrderCode)
{
string txt = "";
string str = "";
IDocumentPaginatorSource idpSource = Doc;
System.Windows.Controls.PrintDialog prnt = new System.Windows.Controls.PrintDialog();
try
{
prnt.PrintQueue = new PrintQueue(new PrintServer(), PrinterName);
for (int j = 0; j < Copie; j++) prnt.PrintDocument(idpSource.DocumentPaginator, str);
}
catch (Exception ex)
{
string txtErr = DateTime.Now.ToString() + "; " + ex.Message + ";";
Utility.LogEvent(txtErr);
}
return true;
}
Я пытался включить WindowsBase и PresentationCore, но среди ссылок, но Visual Studio выдает ошибку.
Я также установил VCredist x64 и x86, но ничего не изменилось.
Я также компилировал на ПК с Windows 11 и Windows 10, но ничего.
Подробнее здесь: https://stackoverflow.com/questions/783 ... windows-11