我不知道我将如何编写包含 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);
您要设置的字体需要作为嵌入资源放在捆绑包中,然后您需要在App数据目录中创建文件的副本并将路径传递给SetFont()方法。
第1步:
第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);