Que faire pour définir le paysage pour une exportation PDF?
Utilisation de System.Drawing.Printing.Printing.Pardintings Avant une rafraîchissement ne fonctionne pas. P>
Type tip = reportViewer1.GetType(); FieldInfo[] pr = tip.GetFields(BindingFlags.Instance | BindingFlags.NonPublic); System.Drawing.Printing.PageSettings ps = new System.Drawing.Printing.PageSettings(); ps.Landscape = true; // ps.PaperSource= foreach (FieldInfo item in pr) { if (item.Name == "m_pageSettings") { item.SetValue(reportViewer1, ps); } }
3 Réponses :
Vous devez définir la taille du rapport dans la définition du rapport. Voici quelqu'un avec le même problème: P>
Le meilleur moyen est de passer des informationsInformation pendant le rendu de l'exportation.
Consultez http://msdn.microsoft.com/en-us/library/ms154682.aspx p>
Vous pouvez transmettre la pageDeight and PageWidth en tant que périphériqueInformation, vous pouvez donc spécifier 8.5x11 pour votre Format de paysage. P>
Exemple de code ci-dessous: P>
Dim warnings As Warning() = Nothing Dim streamids As String() = Nothing Dim mimeType As String = Nothing Dim encoding As String = Nothing Dim extension As String = Nothing Dim bytes As Byte() Dim deviceInf as String deviceInf = "<DeviceInfo><PageHeight>8.5in</PageHeight><PageWidth>11in</PageWidth></DeviceInfo>" bytes = ReportViewer1.LocalReport.Render("PDF", deviceInf, mimeType, encoding, extension, streamids, warnings) Dim fs As New FileStream(FILENAME, FileMode.Create) fs.Write(bytes, 0, bytes.Length) fs.Close()
Changer
dans la vue de conception de votre rapport ( rdlc code>) Sélectionnez un rapport et dans le volet Propriétés Définissez les éléments suivants dans
Taille de la page CODE>
width :11in
height :8.5in
Ou, pour tout le monde en Europe utilisant A4, largeur: 29,7cm, hauteur: 21cm.
Vérifiez cet article: Stackoverflow.com/Questtions/25387415/...