J'ai conçu un rapport de cristal qui sera envoyé à une imprimante spécifique (code à barres) via une interface Web. Permettre que le rapport soit généré dans la visionneuse de rapports Crystal standard posait des problèmes, donc j'utilise maintenant le code-behind pour envoyer le rapport directement à l'imprimante.Changement de police Crystal Report .NET
ReportDocument Report = new ReportDocument();
ParameterDiscreteValue Order = new ParameterDiscreteValue();
Order.Value = Convert.ToInt32(txtOrder);
Report.Load(reportPath);
Report.SetParameterValue("OrderNo", Order);
PageMargins margins;
margins = Report.PrintOptions.PageMargins;
margins.bottomMargin = 0;
margins.leftMargin = 0;
margins.rightMargin = 0;
margins.topMargin = 0;
Report.PrintOptions.ApplyPageMargins(margins);
Report.PrintOptions.PrinterName = "\\\\printserver\\Zebra Z6M Plus (300dpi)";
Report.PrintToPrinter(1, false, PageNum, PageNum);
Report.Close();
lors de l'impression du concepteur (CRXI) tout fonctionne bien, mais lorsque l'interface Web envoie le travail à une imprimante (toute imprimante), il change la police Times New Roman qui salit toutes les tailles sur le terrain. Si j'utilise l'afficheur de rapports .NET standard, il utilise la police correcte, donc je suis assez sûr que la modification est causée par la création/utilisation du ReportDocument.
Comment puis-je envoyer le rapport directement à une impression sans que les polices ne soient redéfinies sur Times New Roman?
Vos pilotes d'imprimante sont-ils à jour? – PowerUser
Oui, je m'assure que les pilotes sont à jour, et cela fonctionne correctement avec le concepteur Crystal, mais pas avec le code .NET. – wham12