Oui. Avant que j'ai été essayé le même problème. Mais après cela j'ai eu la solution. La chose principale est, nous ne pouvons pas imprimer le rapport directement à partir de la machine client. J'ai trouvé deux façons d'imprimer le rapport dans la machine client. L'un est à travers le contrôle ActiveX. Le client ne sait pas, comment installer le contrôle ActiveX dans leur machine, principalement ils ne veulent pas ces choses irrettantes. Donc, j'ai trouvé l'autre moyen que nous pouvons imprimer à travers le fichier PDF. Maintenant, tous ont Adobe Reader PDF dans leur machine. J'ai donc navigué, comment imprimer directement pdf sans enregistrer dans leur machine client. Finalement j'ai eu la solution. Les étapes sont:
L'exemple de code écrit en C#.
i). Convertir le rapport en flux mémoire:
string reportType = "PDF";
string mimeType;
string encoding;
string fileNameExtension;
//The DeviceInfo settings should be changed based on the reportType
////http://msdn2.microsoft.com/en-us/library/ms155397.aspx
string deviceInfo = "<DeviceInfo>" + " <OutputFormat>PDF</OutputFormat>" + " <PageWidth>8.27in</PageWidth>" + " <PageHeight>11.69in</PageHeight>" + " <MarginTop>0in</MarginTop>" + " <MarginLeft>0in</MarginLeft>" + " <MarginRight>0in</MarginRight>" + " <MarginBottom>0in</MarginBottom>" + "</DeviceInfo>";
Warning[] warnings;
string[] streams;
byte[] renderedBytes;
//Render the report
renderedBytes = _rptViewer.LocalReport.Render(reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
Stream mystream = new MemoryStream(renderedBytes);
Nous vous remercions de votre réponse. J'obtiens les mêmes résultats, peu importe ce que je fais, installe, n'installe pas ou même ne fais que faire une pause pendant un moment quand la boîte de dialogue est affichée ... ils plantent tous l'onglet dans le navigateur, et le site disparaît, puis le navigateur "récupère" un onglet vierge. C'est dans IE qui doit être le navigateur que j'utilise (par le client) – rogdawg
Essayez ceci: Accédez à Program Files \ Microsoft \ SQL Server \ MSSQL.x \ Reporting Services \ ReportServer \ bin et copiez ces fichiers dans Windows \ Downloaded fichiers de programme (fenêtres de commande d'utilisation, cmd): - RSClientPrint.dll - rsclientprint.inf - RsClientPrint_1028.rll - RsClientPrint_1031.rll - RsClientPrint_1033.rll - RsClientPrint_1036.rll - RsClientPrint_1040.rll - RsClientPrint_1041.rll - RsClientPrint_1042.rll - RsClientPrint_2052.rll - RsClientPrint_3082.rll Ensuite, enregistrez RSClientPrint.dll (regsvr32 [chemin] RSClientPrint.dll). Si vous ne trouvez pas ces fichiers, extrayez rsclientprint.cab. –
Merci d'avoir suivi ce sujet. Je reçois toujours une erreur ... cette fois, j'ai choisi d'installer le truc ActiveX. Il y avait un problème, m'a demandé si je voulais déboguer le problème (en utilisant le débogueur), j'ai choisi non, et il a planté le navigateur (onglet) de la même manière qu'il le faisait auparavant. Je pense que je devrais simplement désactiver l'impression sur les rapports. Mes clients ne seront probablement pas en mesure de télécharger le contrôle ActiveX pour obtenir l'impression. Merci de votre aide. Je leur dirai d'exporter pour exceller en premier (ou en PDF), puis imprimer. MERCI BEAUCOUP POUR VOTRE GUIDAGE. – rogdawg