我正在使用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();
有人可以让我知道我需要做什么..
答案 0 :(得分:1)
在PdfWriter对象上设置语言;
writer.SetLanguage("en-GB");
PdfCopy的相同代码,看看它是如何成为PdfWriter的子类。
答案 1 :(得分:0)
尝试在较旧版本的Adobe Reader中使用。有用。在Adobe XI中尝试过。问题在那里。