我如何在 itext7 表格单元格上设置字体.Maui

问题描述 投票:0回答:1

我不知道我将如何编写包含 SetFont 方法的内容。我的代码如下;

 Cell cellx1 = new Cell(i + 1, 1)
.SetMargin(10)
.SetFont()
.SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER)
.Add(new Paragraph(quoteP.Unitprice.ToString()));
 tableUrunler.AddCell(cellx1);
.net itext maui
1个回答
0
投票

您要设置的字体需要作为嵌入资源放在捆绑包中,然后您需要在App数据目录中创建文件的副本并将路径传递给SetFont()方法。

第1步:

  • 将字体(.ttf 文件)添加到资源/字体
  • 将文件的构建操作设置为其属性中的嵌入资源

第2步:

下面是访问 iText 单元格并将字体设置为示例代码。

var assembly = Assembly.GetExecutingAssembly();
using var fontStream = assembly.GetManifestResourceStream("YourNameSpace.Resources.Fonts.your-font.ttf");
string tempFontPath = Path.Combine(FileSystem.AppDataDirectory, "your-font.ttf");
if(File.Exists(tempFontPath))
    File.Delete(tempFontPath);
        
using (var fileStream = new FileStream(tempFontPath, FileMode.Create, FileAccess.Write))
{
    fontStream.CopyTo(fileStream);
}

PdfFont font = PdfFontFactory.CreateFont(tempFontPath, PdfEncodings.IDENTITY_H);
Cell cellx1 = new Cell(i + 1, 1)
.SetMargin(10)
.SetFont(font)
.SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER)
.Add(new Paragraph(quoteP.Unitprice.ToString()));
 tableUrunler.AddCell(cellx1);
© www.soinside.com 2019 - 2024. All rights reserved.