SourceHanSerifTC-Light中的特殊字符" \ u9d28"(鸭)无法以PDF格式显示

时间:2018-02-01 09:39:29

标签: pdf itext itext7

守则如下

        PdfWriter dest = new PdfWriter("o.pdf");
        PdfDocument pdf = new PdfDocument(dest);
        Document document = new Document(pdf);
        string chFontPath = "c:\\windows\\fonts\\SourceHanSerifTC-Light.otf";
        PdfFont font = PdfFontFactory.CreateFont(chFontPath, PdfEncodings.IDENTITY_H, false);
        Paragraph p = new Paragraph();
        p.SetFont(font);
        p.Add(new Text("\u9d28"));            
        document.Add(p);
        document.Close();

此代码" \ u9d28"'鸭子'无法显示。

然而,其他人的性格很好。如果角色" \ u9d28"鸭与这个角色结合并且#34; \ u9d30"鸹。它也有效。

        p.Add(new Text("\u9d28\u9d30"));            

我也用Itextsharp测试仍然不幸运。 我用SourceHanSerifTC字体用Word测试过,一切都很好。

        Document doc = new Document(PageSize.A7);
        PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(@"C:\Users\rick.DOMAIN10\Desktop\新增資料夾 (3)\ChunkPhraseParagraph.pdf", FileMode.Create));
        doc.Open();

        //設定中文字體
        string chFontPath = "c:\\windows\\fonts\\SourceHanSerifTC-Light.otf";                        
        BaseFont chBaseFont = BaseFont.CreateFont(chFontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
        iTextSharp.text.Font chFont = new iTextSharp.text.Font(chBaseFont, 12);
        Phrase simplePhr1 = new Phrase("鴨", chFont);
        Phrase simplePhr1 = new Phrase("\u928", chFont);
        iTextSharp.text.Paragraph simplePara = new iTextSharp.text.Paragraph();
        simplePara.Add(simplePhr1);

        doc.Add(simplePara);

        doc.Close();

我怎么能用Itext打印出这个角色?

0 个答案:

没有答案