.net Core 使用 iTextSharp 生成PDF 简单示例

 

在 Nuget 中导入需要的插件:

 

 

实现的代码:

 1 [HttpGet, Route("CreatePdf")]
 2 public Response CreatePdf()
 3 {
 4 Response resp = new Response();
 5 resp.StartTime = DateTime.Now;
 6 try
 7 {
 8 string pdfPath = @"D:\temp.pdf";
 9 
10 //.NET Core 在默认情况下是没有注册EncodeProvider,需要我们手动自己去注册
11 //需要先添加CodePagesEncoingProvider的引用,在NuGet包System.Text.Encoding.CodePages里面
12 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
13 
14 Document document = new Document();
15 BaseFont bf = BaseFont.CreateFont(@"C:\Windows\Fonts\MSYH.TTC,0", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
16 Font f = new Font(bf, 9);
17 PdfWriter.GetInstance(document, new FileStream(pdfPath, FileMode.Create));
18 document.Open();
19 Paragraph paragraph = new Paragraph("Hello World! 你好", f);
20 document.Add(paragraph);
21 document.Close();
22 
23 resp.FilePath = pdfPath;
24 }
25 catch (Exception ex)
26 {
27 //throw ex;
28 resp.Message = ex.Message;
29 }
30 
31 resp.EndTime = DateTime.Now;
32 
33 return resp;
34 }

 

返回结果的对象:

 1     /// <summary>
 2     /// 返回结果
 3     /// </summary>
 4     public class Response
 5     {
 6         /// <summary>
 7         /// 开始时间
 8         /// </summary>
 9         public DateTime StartTime { get; set; }
10         /// <summary>
11         /// 结束时间
12         /// </summary>
13         public DateTime EndTime { get; set; }
14         /// <summary>
15         /// 提示信息
16         /// </summary>
17         public string Message { get; set; }
18         /// <summary>
19         /// 文件路径
20         /// </summary>
21         public string FilePath { get; set; }
22     }

 

posted @ 2021-09-08 11:21  Nine_Jason  阅读(548)  评论(0编辑  收藏  举报