user406580
user406580

Reputation: 17

iTextsharp adding language to PDF document

I am using iTextsharp dll version (5.5.5.0). i need to copy a pdf file . The destination file should have a language "en-GB". This should be there in document properties-> Advance-> Language I tried doing this through c#

Code as follows

           iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(@"C:\Users\Administrator\Desktop\a.pdf");
            iTextSharp.text.pdf.PdfStamper stamper = new iText.PdfStamper(reader, new FileStream(@"C:\Users\Administrator\Desktop\b.pdf", FileMode.Create));
            stamper.Writer.ExtraCatalog.Put(iText.PdfName.LANG, new iText.PdfString("EN"));

            stamper.Close();

Not sure whether i am missing any thing else . I tried doing this in a different way but could not see. the language in b.pdf.

                iTextSharp.text.Document doc = new iTextSharp.text.Document();

            iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(@"C:\Users\Administrator\Desktop\a1.pdf");
            iText.PdfCopy copy = new iText.PdfCopy(doc, new FileStream(@"C:\Users\Administrator\Desktop\b.pdf", FileMode.Create));

            doc.Open();
           doc.AddLanguage("en-US");




            for (int page = 0; page < reader.NumberOfPages; )
            {
                copy.AddPage(copy.GetImportedPage(reader, ++page));
            }

            copy.FreeReader(reader);
            reader.Close();
            doc.Close();

Could some one please let me know what i need to do..

Upvotes: 0

Views: 3300

Answers (2)

user406580
user406580

Reputation: 17

TRy to use in an older version of Adobe Reader. It works. Tried in Adobe XI. Issue is there.

Upvotes: 0

Micha&#235;l Demey
Micha&#235;l Demey

Reputation: 1577

Setting the language is done on the PdfWriter object;

writer.SetLanguage("en-GB");

Same code for PdfCopy, seeing how it's a subclass of PdfWriter.

Upvotes: 1

Related Questions