简体   繁体   English

iTextsharp将语言添加到PDF文档

[英]iTextsharp adding language to PDF document

I am using iTextsharp dll version (5.5.5.0). 我正在使用iTextsharp dll版本(5.5.5.0)。 i need to copy a pdf file . 我需要复制一个pdf文件。 The destination file should have a language "en-GB". 目标文件应使用“ en-GB”语言。 This should be there in document properties-> Advance-> Language I tried doing this through c# 这应该在文档属性->高级->语言中,我尝试通过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. 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; 设置语言是在PdfWriter对象上完成的;

writer.SetLanguage("en-GB");

Same code for PdfCopy, seeing how it's a subclass of PdfWriter. 相同的PdfCopy代码,看看它是PdfWriter的子类。

TRy to use in an older version of Adobe Reader. TRy用于旧版本的Adobe Reader。 It works. 有用。 Tried in Adobe XI. 在Adobe XI中尝试过。 Issue is there. 问题在那里。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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