Carina-baby

如何通过 C#/VB.NET 将 PDF 转为 Word

众所周知,PDF 文档支持特长文件,集成度和安全可靠性都较高,可有效防止他人对 PDF 内容进行更改,所以在工作中深受大家喜爱。但是在工作中,我们不可避免的会对 PDF 文档进行修改或再编辑,这时我们可以将 PDF 转换为 Word 文档格式进行修改。本文将分为两部分介绍如何以编程的方式将 PDF 转换为 Word。

  • 将 PDF 转换为固定布局的 Doc/Docx 文档

  • 将 PDF 转换为流动形态的 Doc/Docx 文档

固定布局模式转换速度快,有利于最大程度保持 PDF 文件的原貌。但是,生成的文档的可编辑性将受到限制,因为 PDF 中的每一行文本将在生成的 Word 文档中显示在单独的框架中。

流动形态是一种完整的识别模式。转换后的内容不会以框架形式呈现,并且生成的文档的结构是可流动的。生成的 Word 文档很容易重新编辑,但看起来可能与原始 PDF 文件不同。

程序环境:

本次测试时,在程序中引入 Spire.PDF.dll 文件。

方法1

将 ​ ​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.6.0

将 PDF 转换为固定布局的 Doc/Docx 文档

  • 创建一个 PdfDocument 对象。

  • 使用 PdfDocument.LoadFromFile() 方法加载示例 PDF 文件。

  • 使用 PdfDocument.SaveToFile() 方法将 PDF 转换为 .doc/.docx 格式文件并保存。

完整代码

C#

using Spire.Pdf;

namespace ConvertPdfToDoc
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个 PdfDocument 对象
            PdfDocument doc = new PdfDocument();

            //加载示例 PDF 文件
            doc.LoadFromFile("示例.pdf");

            //将PDF转换为Doc格式文件并保存
            doc.SaveToFile("ToDoc.doc", FileFormat.DOC);

            //将PDF转换为Docx格式文件并保存
            doc.SaveToFile("ToDocx.docx", FileFormat.DOCX);

        }
    }
}

VB.NET

Imports Spire.Pdf

Namespace ConvertPdfToDoc
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '创建一个 PdfDocument 对象
            Dim doc As PdfDocument = New PdfDocument()

            '加载示例 PDF 文件
            doc.LoadFromFile("示例.pdf")

            '将PDF转换为Doc格式文件并保存
            doc.SaveToFile("ToDoc.doc", FileFormat.DOC)

            '将PDF转换为Docx格式文件并保存
            doc.SaveToFile("ToDocx.docx", FileFormat.DOCX)

        End Sub
    End Class
End Namespace

将 PDF 转换为流动形态的 Doc/Docx 文档

  • 创建一个 PdfDocument 对象。

  • 使用 PdfDocument.LoadFromFile() 方法加载示例 PDF 文件。

  • 使用 PdfConvertOptions.SetPdfToDocOptions(bool usePsMode,bool useFlowRecognitionMode) 方法将转换引擎设置为 PS 模式并将识别模式设置为流。

  • 使用 PdfDocument.SaveToFile() 方法将文档转换为.doc/.docx 格式的文件。

完整代码

C#

using Spire.Pdf;

namespace ConvertPdfToDocxUsingPsMode
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个 PdfDocument 对象
            PdfDocument doc = new PdfDocument();

            //加载示例 PDF 文件
            doc.LoadFromFile("示例.pdf");

            // PDF转Word使用PS模式,识别模式设置为流
            doc.ConvertOptions.SetPdfToDocOptions(true, true);
      
      //将PDF转换为Doc格式文件并保存
            doc.SaveToFile("ToDoc1.doc", FileFormat.DOC);

            //将PDF转换为Docx格式文件并保存
            doc.SaveToFile("ToDocx1.docx", FileFormat.DOCX);
        }
    }
}

VB.NET

Imports Spire.Pdf

Namespace ConvertPdfToDocxUsingPsMode
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '创建一个 PdfDocument 对象
            Dim doc As PdfDocument = New PdfDocument()

            '加载示例 PDF 文件
            doc.LoadFromFile("示例.pdf")

            ' PDF转Word使用PS模式,识别模式设置为流
            doc.ConvertOptions.SetPdfToDocOptions(True, True)

            '将PDF转换为Doc格式文件并保存
            doc.SaveToFile("ToDoc1.doc", FileFormat.DOC)

            '将PDF转换为Docx格式文件并保存
            doc.SaveToFile("ToDocx1.docx", FileFormat.DOCX)
        End Sub
    End Class
End Namespace

效果图

 

 —本文完—

posted on 2022-12-15 16:00  Carina-baby  阅读(1052)  评论(0编辑  收藏  举报

导航