.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

相关文章

Spring MVC如何设置响应

《SpringMVC如何设置响应》本文介绍了如何在Spring框架中设置响应,并通过不同的注解返回静态页面、HTML片段和JSON数据,此外,还讲解了如何设置响应的状态码和Header... 目录1. 返回静态页面1.1 Spring 默认扫描路径1.2 @RestController2. 返回 html2

基于C#实现PDF文件合并工具

《基于C#实现PDF文件合并工具》这篇文章主要为大家详细介绍了如何基于C#实现一个简单的PDF文件合并工具,文中的示例代码简洁易懂,有需要的小伙伴可以跟随小编一起学习一下... 界面主要用于发票PDF文件的合并。经常出差要报销的很有用。代码using System;using System.Col

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Java操作PDF文件实现签订电子合同详细教程

《Java操作PDF文件实现签订电子合同详细教程》:本文主要介绍如何在PDF中加入电子签章与电子签名的过程,包括编写Word文件、生成PDF、为PDF格式做表单、为表单赋值、生成文档以及上传到OB... 目录前言:先看效果:1.编写word文件1.2然后生成PDF格式进行保存1.3我这里是将文件保存到本地后

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

JAVA利用顺序表实现“杨辉三角”的思路及代码示例

《JAVA利用顺序表实现“杨辉三角”的思路及代码示例》杨辉三角形是中国古代数学的杰出研究成果之一,是我国北宋数学家贾宪于1050年首先发现并使用的,:本文主要介绍JAVA利用顺序表实现杨辉三角的思... 目录一:“杨辉三角”题目链接二:题解代码:三:题解思路:总结一:“杨辉三角”题目链接题目链接:点击这里

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主