Partage
  • Partager sur Facebook
  • Partager sur Twitter

afficher un texte de droite à gauche avec itextsharp

    24 février 2011 à 12:36:53

    Bonjour :) ,
    c'est mon premier post dans ce forum,
    voilà , je cherche à afficher un text de droite à gauche dans un pdf urdu, arabic ...
    pour cela j'ai eu recours à itextsharp
    mon code fonctionne parfaitement mais n'affiche pas ce genre de langage (il affiche le français , l'anglais..)
    <%@ Import Namespace="System.IO" %>
    <%@ Import Namespace="itextsharp.text" %>
    <%@ Import Namespace="itextsharp.text.pdf" %>
    <%@ Import Namespace="itextsharp" %>  
     
    <script runat="server">     
     
     
     Protected Sub btnGeneratePDF_Click(ByVal sender As Object, ByVal e As EventArgs)                         'Create Document class object and set its size to letter and give space left, right, Top, Bottom Margin                  
    Dim doc As New Document(iTextSharp.text.PageSize.LETTER, 10, 10, 42, 35)         
    Try 
                Dim wri As PdfWriter = PdfWriter.GetInstance(doc, New FileStream("C:Documents and SettingsRahmaBureauTest.pdf", FileMode.Create))                   
    'Open Document to write 
                doc.Open() 
     'Write some content                      
    Dim paragraph As New Paragraph("hello")                     
    Dim underContent As iTextSharp.text.pdf.PdfContentByte = Nothing                       
     Dim pharse As New Phrase("This is my second line using Pharse.")                         
    Dim chunk As New Chunk(" This is my third line using Chunk.") 
                ' Now add the above created text using different class object to our pdf document 
                doc.Add(paragraph)          
    ColumnText.ShowTextAligned(underContent, Element.ALIGN_CENTER,pharse, 100, 100, 50, PdfWriter.RUN_DIRECTION_LTR, ColumnText.AR_LIG)
    doc.Add(pharse)            
    doc.Add(chunk)                              
    Catch dex As DocumentException 
                'Handle document exception 
            Catch ioex As IOException 
                'Handle IO exception 
            Catch ex As Exception 
                'Handle Other Exception 
            Finally 
                'Close document 
        doc.Close() 
            End Try 
        End Sub</script> 
    <html><body><form id="Form1" runat="server"> 
    <asp:Button id="button2" Text="Click me" runat="server" OnClick="btnGeneratePDF_Click" /></form></body></html>
    


    certains m'ont proposé d'utiliser ColumnText.ShowTextAligned ,
    mais mon problème est je savais pas quoi mettre dans ses paramètres,
    j'ai fais ceci :
    ColumnText.ShowTextAligned(underContent, Element.ALIGN_CENTER,pharse, 100, 100, 50, PdfWriter.RUN_DIRECTION_LTR, ColumnText.AR_LIG)
    

    mais le texte ne s'affiche pas

    merci de me donner un coup de main


    could display arabic , but i didn't know how to use it , so if any one could help me with that please ...
    • Partager sur Facebook
    • Partager sur Twitter
      24 février 2011 à 14:34:21

      En WPF 4 tu as déjà une propriété qui fait ça... mais je ne sais pas trop laquelle
      • Partager sur Facebook
      • Partager sur Twitter
        24 février 2011 à 19:45:32

        J'espère que ça va te revenir.
        • Partager sur Facebook
        • Partager sur Twitter
          25 février 2011 à 11:07:50

          merci pour vos réponse :)
          voici un code qui permet d'afficher un texte de droite à gauche
          comme l'arabe , j'éspère qu'il aidera plusieurs :

          <%@ Import Namespace="System.IO" %>
          <%@ Import Namespace="itextsharp.text" %>
          <%@ Import Namespace="itextsharp.text.pdf" %> 
          <script runat="server">
           
              Protected Sub btnGeneratePDF_Click(ByVal sender As Object, ByVal e As EventArgs)
                  
                  'Création d'un document
                  Dim myDocument = New Document()
                  'Ouverture d'un flux pour l'écriture sur le document
                  Dim fileS As New FileStream("C:\Documents and Settings\me\Bureau\fichier.pdf", FileMode.Create)
                  PdfWriter.GetInstance(myDocument, fileS)
                  'Ouverture du document
                  myDocument.Open()
                  'Ajout de la police
                  Dim bf = BaseFont.CreateFont("c:\\windows\\fonts\\times.ttf", BaseFont.IDENTITY_H, True)
                  Dim f2 As new iTextSharp.text.Font(bf, 24, iTextSharp.text.Font.NORMAL, Nothing)
                  'insertion texte arabe 
                  Dim atext As New String("&#1589;", 1)
                  myDocument.Add(New Phrase("hello world"))  
                  'création d'un tableau
                  Dim tableau As New PdfPTable(1)
                  tableau.RunDirection=PdfWriter.RUN_DIRECTION_RTL
                  tableau.AddCell(new Phrase(10, atext, f2))
                  myDocument.Add(tableau)
           
                  'fermerture du document et du flux
                  myDocument.Close()
                  fileS.Close()
              End Sub
          </script>
           
          <html>
          <body>
          <form id="Form1" runat="server">
           
          <asp:Button id="button2" Text="Click me" runat="server" OnClick="btnGeneratePDF_Click" />
          </form>
          </body>
          </html>
          


          Bonne continuation à tous :)
          • Partager sur Facebook
          • Partager sur Twitter

          afficher un texte de droite à gauche avec itextsharp

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown