0

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..

user406580
  • 17
  • 1
  • 7

2 Answers2

1

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.

Michaël Demey
  • 1,567
  • 10
  • 18
  • I tried specifying the code as this it is not working. COuld you please help me on this michael. doc.Open(); doc.AddLanguage("en-US"); for (int page = 0; page < reader.NumberOfPages; ) { copy.AddPage(copy.GetImportedPage(reader, ++page)); } copy.SetLanguage("en-GB"); copy.FreeReader(reader); reader.Close(); doc.Close(); – user406580 Apr 06 '15 at 21:46
  • Forgot to update in the above comment i have doc.AddLanguage("en-GB"); – user406580 Apr 06 '15 at 21:58
  • Try setting the language before opening the document. – Michaël Demey Apr 07 '15 at 07:52
  • Tried specifying it before the document is opened. copy.SetLanguage("en-GB"); Still it is not working.. – user406580 Apr 07 '15 at 21:48
0

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

user406580
  • 17
  • 1
  • 7