.net / .net core excel转pdf

方法1,调用Microsoft.Office.Interop.Excel,缺点是需要安装excel,不支持.net core

private static bool ExcelToPdfWithExcel(string excelFile, string pdfFile)
        {
            Microsoft.Office.Interop.Excel.Application application = null;
            Microsoft.Office.Interop.Excel.Workbooks workbooks = null;
            Microsoft.Office.Interop.Excel.Workbook workbook = null;
            try
            {
                application = new Microsoft.Office.Interop.Excel.Application();
                application.Visible = false;
                workbooks = application.Workbooks;
                workbook = workbooks.Open(excelFile, false, true);
                workbook.ExportAsFixedFormat(Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF, pdfFile);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (workbook != null)
                {
                    workbook.Close();
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
                    workbook = null;
                }
                if (workbooks != null)
                {
                    workbooks.Close();
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(workbooks);
                    workbooks = null;
                }
                if (application != null)
                {
                    application.Quit();
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(application);
                    application = null;
                }

                GC.Collect();
                GC.WaitForPendingFinalizers();
            }

            return true;
        }

方法2,调用FreeSpire.XLS,缺点是免费版只能转3页pdf

private static bool ExcelToPdfWithFreeSpire(string excelFile, string pdfFile)
        {
            try
            {
                Workbook workbook = new Workbook();
                workbook.LoadFromFile(excelFile);
                workbook.SaveToFile(pdfFile, Spire.Xls.FileFormat.PDF);

                //判断是否超过免费版限制,3页pdf
                PdfDocument pdfDocument = new PdfDocument(pdfFile);
                if (pdfDocument.Pages.Count > 3)
                {
                    pdfDocument.Close();
                    return false;
                }
            }
            catch (Exception ex)
            {
                return false;
            }

            return true;
        }

方法3,调用NPOI+iTextSharp,缺点是免费版iTextSharp(itext5)不支持.net core,目前最新版itext7已商用(未亲自试过)

https://blog.csdn.net/weixin_43663915/article/details/86599334

方法4,调用OpenOffice,缺点是服务器需要额外装OpenOffice、Java等,配置多,需要额外打开端口(未亲自试过)

https://blog.csdn.net/qq_37319035/article/details/79225024

方法5,调用WPS(未亲自试过)

https://blog.csdn.net/lqw_6/article/details/77941365

ASP.NET Core是微软推出的一种全新的跨平台开发框架,而ASP.NET Core 6则是最新的版本。在ASP.NET Core 6中,对于PDF文件的处理提供了更加便捷和灵活的方式。 ASP.NET Core 6中可以使用第三方库来生成和处理PDF文件。常见的有iTextSharp、PDFSharp、Syncfusion等。这些库提供了丰富的API和功能,可以通过代码生成和编辑PDF文件。例如,可以设置PDF的样式、布局、文本内容、表格、图片等。同时,还可以实现PDF的导出、打印、加密等操作。 除了使用第三方库外,ASP.NET Core 6还提供了一些原生的功能来处理PDF文件。例如,可以使用Razor视图引擎生成动态的PDF文件,将视图化为PDF格式输出。使用这种方式,可以直接在视图中使用HTML和CSS来定义PDF的样式和布局,非常方便。此外,还可以通过.NET内置的Web API来生成PDF文件,并通过HTTP请求将PDF文件发送给客户端。 ASP.NET Core 6中的PDF处理还提供了一些额外的功能,如文本搜索、书签、目录生成、水印、添加标记等。这些功能使得生成的PDF文件更加丰富和多样化。同时,ASP.NET Core 6还支持将PDF文件与其他文件格式进行换,如将PDF成Word、Excel、HTML等格式,方便用户的使用和载。 总而言之,ASP.NET Core 6提供了多种方法和工具来处理PDF文件,使得开发人员可以更加方便地生成和编辑PDF文件,并实现各种复杂的需求。无论是使用第三方库还是原生的功能,都能够满足开发人员对于PDF处理的需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值