利用C#/VB.NET实现将PDF转为Word

周末不加班
周末不加班
发布时间:2026-10-15 | 4人浏览过
原创

在工作中经常需要修改PDF文件,但PDF通常用于防篡改和保护内容。为了方便编辑,可以通过编程方式将PDF转换为Word文档。本文将详细讲解如何利用C#和VB.NET结合Spire.Pdf组件,分别实现固定布局和流动形态两种模式的PDF到Word(.doc/.docx)的转换。

固定布局模式:保持原貌快速转换

固定布局模式适合对转换速度有要求,且希望最大程度保留PDF原始排版外观的场景。虽然生成的Word文档结构相对固定,不利于大幅重排,但其优点是可精确还原视觉样式。

第1步:准备开发环境与依赖

在项目中引入 Spire.Pdf 命名空间。确保项目已正确安装并引用了 Spire.Pdf 库组件。

第2步:加载PDF并执行转换

核心逻辑分为三步:创建 PdfDocument 对象、通过 LoadFromFile() 加载源文件、最后通过 SaveToFile() 指定输出路径和格式保存为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

流动形态模式:便于二次编辑

如果转换后的文档需要在Word中进行大量文字修改或结构调整,建议使用流动形态(Flow Recognition)模式。这种模式会识别文本段落并进行重新排列,生成的文档更容易编辑,但排版可能与原PDF存在差异。

第1步:启用PS模式与流式识别

在使用转换引擎前,需通过 SetPdfToDocOptions() 方法显式设置选项。第一个参数设为 true 开启PS模式,第二个参数设为 true 启用流式识别。

第2步:加载、设置配置并保存

完成配置后,加载PDF文件即可按新策略进行转换。以下代码展示了具体的调用顺序。

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

以下是流动形态模式转换的效果示意:

总结

开发者可以根据业务需求灵活选择转换策略。若看重速度与排版保留,直接保存即可;若注重内容再加工,则务必启用 SetPdfToDocOptions(true, true) 开启流式识别。以上就是利用C#/VB.NET实现将PDF转为Word的详细内容,更多关于C# VB.NET PDF转Word的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表