Hebrew text in PDF

前端 未结 1 1862
情歌与酒
情歌与酒 2020-12-11 05:41

I wrote a PDF document, and I try to write in Hebrew (UTF-8), and I can not in Windows Forms using C# and Visual Studio 2010 using the following code.

Docume         


        
相关标签:
1条回答
  • 2020-12-11 06:03

    Use a PdfPTable, then you can set the right-to-left mode:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using iTextSharp.text;
    using iTextSharp.text.pdf;
    using System.IO;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                Document Doc = new Document(PageSize.LETTER);
    
                //Create our file stream
                using (FileStream fs = new FileStream(@"C:\Users\moshe\Desktop\Test18.pdf", FileMode.Create, FileAccess.Write, FileShare.Read))
                {
                    //Bind PDF writer to document and stream
                    PdfWriter writer = PdfWriter.GetInstance(Doc, fs);
    
                    //Open document for writing
                    Doc.Open();
    
                    //Add a page
                    Doc.NewPage();
    
                    //Full path to the Arial file
                    string ARIALUNI_TFF = Path.Combine(@"C:\Users\moshe\Desktop\proj\gold\fop\gold", "ARIAL.TTF");
    
                    //Create a base font object making sure to specify IDENTITY-H
                    BaseFont bf = BaseFont.CreateFont(ARIALUNI_TFF, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
    
                    //Create a specific font object
                    iTextSharp.text.Font f = new iTextSharp.text.Font(bf, 12);
    
                    //Use a table so that we can set the text direction
                    PdfPTable T = new PdfPTable(1);
                    //Hide the table border
                    T.DefaultCell.BorderWidth = 0;
                    //Set RTL mode
                    T.RunDirection = PdfWriter.RUN_DIRECTION_RTL;
                    //Add our text
                    T.AddCell(new Phrase("מה קורה", f));
    
                    //Add table to document
                    Doc.Add(T);
    
                    //Close the PDF
                    Doc.Close();
    
                }
            }
        }
    }
    
    0 讨论(0)
提交回复
热议问题