iTextsharp 将语言添加到 PDF 文档
Posted
技术标签:
【中文标题】iTextsharp 将语言添加到 PDF 文档【英文标题】:iTextsharp adding language to PDF document 【发布时间】:2015-04-02 01:50:14 【问题描述】:我正在使用 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();
有人可以告诉我我需要做什么..
【问题讨论】:
【参考方案1】:在 PdfWriter 对象上设置语言;
writer.SetLanguage("en-GB");
PdfCopy 的代码相同,看看它是如何成为 PdfWriter 的子类。
【讨论】:
我尝试指定代码,因为它不起作用。你能帮我解决这个问题吗? doc.Open(); doc.AddLanguage("en-US"); for (int page = 0; page 忘记在上面的评论中更新我有 doc.AddLanguage("en-GB"); 在打开文档之前尝试设置语言。 尝试在打开文档之前指定它。 copy.SetLanguage("en-GB");还是不行..【参考方案2】:尝试在旧版本的 Adobe Reader 中使用。有用。在 Adobe XI 中尝试过。问题就在那里。
【讨论】:
以上是关于iTextsharp 将语言添加到 PDF 文档的主要内容,如果未能解决你的问题,请参考以下文章