简体   繁体   中英

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

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.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM