Unity生成pdf表格

Unity生成pdf表格

using System.Collections.Generic;
using System.IO;
using UnityEngine;
using iTextSharp.text.pdf;
using iTextSharp.text;
using Font = iTextSharp.text.Font;

public  class PdfInformation
{
    public string mID;
    public string mName;
    public string mReserve; 
}
public class Pdf
{
    private static Pdf _instance;
    public static Pdf Instance => _instance ??= new Pdf();
    
    public void Generate()
    {
        FontFactory.RegisterDirectories();
        Font font = FontFactory.GetFont("simhei", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED, 18);
        Generate(font);
    }
    public void Generate(Font font)
    {
        List<PdfInformation> dataList = new List<PdfInformation>();
        for (int i = 0; i < 10; i++)
        {
            dataList.Add(new PdfInformation()
            {
                mID = $"{i}",
                mName = $"name-{i}",
                mReserve = $"reserve-{i}"
            });
        }
        string pdfFilePath = Application.streamingAssetsPath + "/info.pdf";
        // 创建一个新的 PDF 文档
        Document doc = new Document();
        PdfWriter.GetInstance(doc, new FileStream(pdfFilePath, FileMode.Create));

        doc.Open();
        Paragraph title = new Paragraph("测试标题", font);
        title.Alignment = Element.ALIGN_CENTER;
        doc.Add(title);
        doc.Add(new Paragraph("\n"));
        PdfPTable table = new PdfPTable(3);
        table.AddCell("ID");
        table.AddCell("mName");
        table.AddCell("mReserve");
        
        // 在 PDF 中添加数据
        foreach (var data in dataList)
        {
            table.AddCell(data.mID);
            table.AddCell(data.mName);
            table.AddCell(data.mReserve);
        }

        doc.Add(table);
        doc.Close();

        Debug.Log("PDF 文件已生成。");
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值