利用C#/VB.NET实现将PDF转为Word
在工作中经常需要修改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的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









