ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C#/VB.NET 将PDF转为Excel

2022-06-28 15:03:54  阅读:198  来源: 互联网

标签:VB C# Spire PdfDocument Excel 文档 pdf PDF


PDF文档可以避免可防⽌他⼈⽆意中触到键盘修改⽂件内容。但是在避免他人⽆意修改的同时也妨碍了正常的修改。如果你想处理或修改PDF文档中的数据,不妨试试用Excel来实现。Excel拥有强大的数据处理功能,丰富的绘制图表功能,丰富的自动化功能。本文将分为两个部分详细为您介绍如何通过C#/VB.NET代码将PDF转为Excel格式。仅需简单几步即可实现此功能,详情请阅读以下内容。

将PDF转为Excel

将多页 PDF 转换为一个 Excel 工作表

类库引入及代码思路

方法 1:

 

在程序中引入 Spire.PDF.dll 文件;将Free Spire.PDF for .NET 下载到本地,解压,找到 BIN 文件夹下的 Spire.PDF.dll。然后在 Visual Studio 中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径 BIN 文件夹下的 dll 文件添加引用至程序。

 

方法 2:

 

通过 NuGet 安装。可通过以下 2 种方法安装:

 

  1. 可以在 Visual Studio 中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理 NuGet 包”,然后搜索“Free Spire.PDF”,点击“安装”。等待程序安装完成。

 

  2. 将以下内容复制到 PM 控制台安装。

 

Install-Package FreeSpire.PDF -Version 8.2.0

将PDF转为Excel

具体步骤:

  • 创建 PdfDocument 类的对象。

  • 调用 PdfDocument.LoadFromFile() 方法加载 PDF 文档。

  • 通过 PdfDocument.SaveToFile() 方法保存为Excel文件格式到指定路径。

完整代码:

【C#】

using Spire.Pdf;
using Spire.Pdf.Conversion;

namespace ConvertPdfToExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 PdfDocument 类的对象
            PdfDocument pdf = new PdfDocument();
            //加载PDF文档
            pdf.LoadFromFile("TableSample2.pdf");

            //保存PDF为XLSX文件
            pdf.SaveToFile("PdfToExcel2.xlsx", FileFormat.XLSX);
        }
    }
}

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Conversion

Namespace ConvertPdfToExcel
    
    Class Program
        
        Private Shared Sub Main(ByVal args() As String)
            '创建 PdfDocument 类的对象
            Dim pdf As PdfDocument = New PdfDocument
            '加载PDF文档
            pdf.LoadFromFile("TableSample2.pdf ")
            '保存PDF为XLSX文件
            pdf.SaveToFile("PdfToExcel2.xlsx", FileFormat.XLSX)
        End Sub
    End Class
End Namespace

文档效果:

原文档

输出文档

将多页 PDF 转换为一个 Excel 工作表

下面是将多页 PDF 转换为一个 Excel 工作表的具体步骤:

  • 创建 PdfDocument 类的对象。
  • 调用 PdfDocument.LoadFromFile() 方法加载 PDF 文档。
  • 初始化XlsxLineLayoutOptions 类的一个实例,在类构造函数中,将第一个参数convertToMultipleSheet 设置为 false。
  • 调用PdfDocument.ConvertOptions.SetPdfToXlsxOptions()方法设置PDF转XLSX选项。
  • 用PdfDocument.SaveToFile()方法将PDF保存为Excel文档。

完整代码:

【C#】

using Spire.Pdf;
using Spire.Pdf.Conversion;

namespace ConvertPdfToExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 PdfDocument 类的对象
            PdfDocument pdf = new PdfDocument();
            //加载PDF文档
            pdf.LoadFromFile("TableSample.pdf");

            //初始化XlsxLineLayoutOptions 类的一个实例,在类构造函数中,将第一个参数convertToMultipleSheet 设置为 false.
            //四个参数分别代表:convertToMultipleSheet、showRotatedText、splitCell、wrapText
            XlsxLineLayoutOptions options = new XlsxLineLayoutOptions(false, true, true, true);
            //设置PDF转XLSX选项
            pdf.ConvertOptions.SetPdfToXlsxOptions(options);

            //保存PDF为Excel文档
            pdf.SaveToFile("PdfToOneExcelSheet.xlsx", FileFormat.XLSX);
        }
    }
}

【VB.NET】

Imports Spire.Pdf
Imports Spire.Pdf.Conversion

Namespace ConvertPdfToExcel
    
    Class Program
        
        Private Shared Sub Main(ByVal args() As String)
            '创建 PdfDocument 类的对象
            Dim pdf As PdfDocument = New PdfDocument

            pdf.LoadFromFile("TableSample.pdf")
            '初始化XlsxLineLayoutOptions 类的一个实例,在类构造函数中,将第一个参数convertToMultipleSheet 设置为 false.
            '四个参数分别代表:convertToMultipleSheet、showRotatedText、splitCell、wrapText            Dim options As XlsxLineLayoutOptions = New XlsxLineLayoutOptions(false, true, true, true)
            '设置PDF转XLSX选项
            pdf.ConvertOptions.SetPdfToXlsxOptions(options)
            '保存PDF为Excel文档
            pdf.SaveToFile("PdfToOneExcelSheet.xlsx", FileFormat.XLSX)
        End Sub
    End Class
End Namespace

文档效果:

原文档

输出文档

:测试代码中的文件路径为程序Debug路径,文件路径可自定义为其他路径。

标签:VB,C#,Spire,PdfDocument,Excel,文档,pdf,PDF
来源: https://www.cnblogs.com/Carina-baby/p/16419432.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有