2015-04-02 137 views
0

我正在使用iTextsharp dll版本(5.5.5.0)。我需要复制一个PDF文件。目标文件应该具有“en-GB”语言。这应该是有文件属性 - >高级 - >语言我试着这样做,通过C#iTextsharp将语言添加到PDF文档

代码如下

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

可能有人请让我知道我需要做的..

回答

0

TRy用于旧版本的Adobe Reader。有用。试用Adobe XI。问题在那里。

1

设置语言PdfWriter对象上完成的;

writer.SetLanguage("en-GB"); 

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

+0

我试着指定代码,因为它不工作。请帮助我请这个迈克尔。 doc.Open(); doc.AddLanguage(“en-US”); for(int page = 0; page user406580 2015-04-06 21:46:18

+0

忘记更新上述评论我有doc.AddLanguage(“en-GB”); – user406580 2015-04-06 21:58:52

+0

尝试在打开文档前设置语言。 – 2015-04-07 07:52:37

相关问题