iTextsharp将语言添加到PDF文档中

时间:2015-04-02 01:50:14

标签: c# pdf-generation itextsharp itextpdf

我正在使用iTextsharp dll版本(5.5.5.0)。我需要复制一个pdf文件。目标文件应具有“en-GB”语言。这应该在文档属性中 - >高级 - >语言我尝试通过c#

这样做

代码如下

           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();

不确定我是否缺少其他任何东西。我尝试以不同的方式做到这一点,但看不到。 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();

有人可以让我知道我需要做什么..

2 个答案:

答案 0 :(得分:1)

在PdfWriter对象上设置语言;

writer.SetLanguage("en-GB");

PdfCopy的相同代码,看看它是如何成为PdfWriter的子类。

答案 1 :(得分:0)

尝试在较旧版本的Adobe Reader中使用。有用。在Adobe XI中尝试过。问题在那里。