.Net Mvc-导出PDF-思路方案

2024-09-08 01:48
文章标签 导出 pdf mvc net 方案 思路

本文主要是介绍.Net Mvc-导出PDF-思路方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

效果图:


导语:
    在我们做项目的过程中,经常会遇到一些服务性的需求,感到特别困扰,明明实用的价值不高,但是还是得实现;
    因此小客在这里整理一下自己导出PDF的一些思路,供大家参考。
    网上有很多导出PDF运用到的插件,大家也可以看看其他插件的使用,学习学习;

提要:
    这里我使用的是-iTextSharp,供大家参考参考,借鉴方案,完善思路,补充自己,一起学习;

准备工作:
    1、在自己的项目解决方案中---工具->Nuget程序管理包->程序管理控制台,安装iTextSharp插件;
    Install-Package iTextSharp
    Install-Package itextsharp.xmlworker

开始实现:
    1、首先创建一个文档,便于后续toPdf
        Document document = new Document(PageSize.A4, 5, 5, 20, 20);
    2、定义好我们需要存储的路径
        string path =  Server.MapPath(@"..\Common\ExportWord\" + "xxxxxxxxxxx.pdf");
        相对路径,Common\ExportWord 这两个文件夹必须是真实存在的;
    3、根据存储的路径来创建文件流
        FileStream fsPath = new FileStream(path, System.IO.FileMode.Create);
    4、将文件流和新建的文档 放入PdfWriter中直接创建PDF格式的文件
        PdfWriter writer = PdfWriter.GetInstance(document, fsPath);
    5、创建字体样式,便于后面使用
        BaseFont bfChinese = BaseFont.CreateFont(@"C:\WINDOWS\Fonts\simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
        //表格标题--字体设置
        Font fontRukuHeader = new Font(bfChinese, 15, Font.NORMAL, BaseColor.BLACK);
        //表格第一行标头--字体设置
        Font fontTtitle = new Font(bfChinese, 10, Font.NORMAL, BaseColor.BLACK);
        //表格数据--字体设置
        Font fontGrid = new Font(bfChinese, 10);
    6、打开文档,按照导出的需求模板来开始填充文档信息数据,
        document.Open();
    7、设置整个表格的总列数
        PdfPTable table = new PdfPTable(7);
    8、开始调整模板,根据你的需求来调整
        PdfPCell firstCell = new PdfPCell(new Phrase("内部确认单", fontRukuHeader));
        firstCell.Colspan = 7;//合并7行
        firstCell.HorizontalAlignment = PdfPCell.ALIGN_CENTER;//居中
        firstCell.PaddingBottom = 6;
        table.AddCell(firstCell);
    9、将表格数据放入文档中
        document.Close();
        document.Add(table);
    10、输出成PDF
        PdfReader reader = new PdfReader(path);
        MemoryStream stream = new MemoryStream();
        PdfStamper pdfstamper = new PdfStamper(reader, stream);
        pdfstamper.FormFlattening = true;
        pdfstamper.Close();
        reader.Close();
        Byte[] btArray = stream.ToArray();
        FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write);
        fs.Write(btArray, 0, btArray.Length);
        fs.Flush();
        fs.Close();
        FileInfo downloadFile = new FileInfo(path);
        string name = Path.GetFileName(path);
        return File(path, 'application/pdf', Url.Encode(name));
        
        
        

这篇关于.Net Mvc-导出PDF-思路方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1146772

相关文章

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Python实现一键PDF转Word(附完整代码及详细步骤)

《Python实现一键PDF转Word(附完整代码及详细步骤)》pdf2docx是一个基于Python的第三方库,专门用于将PDF文件转换为可编辑的Word文档,下面我们就来看看如何通过pdf2doc... 目录引言:为什么需要PDF转Word一、pdf2docx介绍1. pdf2docx 是什么2. by

Python实现pdf电子发票信息提取到excel表格

《Python实现pdf电子发票信息提取到excel表格》这篇文章主要为大家详细介绍了如何使用Python实现pdf电子发票信息提取并保存到excel表格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录应用场景详细代码步骤总结优化应用场景电子发票信息提取系统主要应用于以下场景:企业财务部门:需

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失