之前生成pdf一直用的是iTextSharp,但生成的pdf一是显示效果跟预想的不太一样,二是部分css不兼容,反正开发体验很不好。

Spire.XLS 是收费的一个库,如果没有付费会对生成的pdf打上水印,有一个免费版本Free Spire.XLS,如果对打印的页数在2页之内的话,这个免费版本是不二之选,无论是生成效果还是效率。

如果可以html生成pdf,在html里面不存在很多图片的情况下,HtmlToPdfConverter这个库是非常好的选择,为什么要说明不存在很多图片呢,因为如果存在很多图片,会进行加载,效率非常的低,100张图片生成出来要100多秒。 

 // 创建PDF转换器
                var converter = new HtmlToPdfConverter();
                // 设置中文字体(如果需要)
                converter.CustomWkHtmlArgs = " --dpi 300"; // 自定义WkHtmlToPdf参数
                converter.Size = NReco.PdfGenerator.PageSize.A4; // 设置页面大小
                converter.Orientation = PageOrientation.Portrait; // 设置页面方向

                // 将HTML内容转换为PDF
                byte[] pdfBytes = converter.GeneratePdf(html);
                #endregion
                //先保存在文件夹然后从文件夹下载
                fileName = $"{Guid.NewGuid()}.pdf";

                File.WriteAllBytes(Path.Combine(filePath, fileName), pdfBytes);

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐