Reputation: 17
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
Reputation: 17
TRy to use in an older version of Adobe Reader. It works. Tried in Adobe XI. Issue is there.
Upvotes: 0
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