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

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

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

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

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

将 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

效果图

—本文完—

如何通过 C#/VB.NET 将 PDF 转为 Word的更多相关文章

  1. Java 将PDF 转为Word、图片、SVG、XPS、Html、PDF/A

    本文将介绍通过Java编程来实现PDF文档转换的方法.包括: 1. PDF转为Word 2. PDF转为图片 3. PDF转为Html 4. PDF转为SVG 4.1 将PDF每一页转为单个的SVG ...

  2. C#/VB.NET 将PDF转为OFD

    OFD,全称Open Fixed-layout Document ,是一种可存储.读取以及编辑的国家标准版式的电子文档格式,属于中国的一种自主文件格式,在安全性上有可靠保证.为突破国外技术在我们软硬件 ...

  3. C#/VB.NET 将PDF转为Excel

    PDF文档可以避免可防⽌他⼈⽆意中触到键盘修改⽂件内容.但是在避免他人⽆意修改的同时也妨碍了正常的修改.如果你想处理或修改PDF文档中的数据,不妨试试用Excel来实现.Excel拥有强大的数据处理功 ...

  4. C#/VB.NET 将PDF转为PDF/X-1a:2001

    PDF/X-1a是一种PDF文件规范标准,在制作.使用PDF以及印刷时所需要遵循的技术条件,属于PDF/X-1标准下的一个子标准. PDF/X-1标准有由CGATS于1999年制定的PDF/X-1:1 ...

  5. C# 将PDF转为Word、Html、XPS、SVG、PCL、PS——基于Spire.Cloud.PDF

    Spire.Cloud.PDF提供了接口PdfConvertApi可用于将PDF文档转换为其他格式文档,如Word(docx/doc).Html.XPS.SVG.PCL.PS.Png以及XPS转成PD ...

  6. C# / VB.NET 将Html转为Word

    本文分享以C#程序代码为例,实现将Html文件转换Word文档的方法(附VB.NET代码).在实际转换场景中可参考本文的方法,转换前,请按照如下方法引用Word API的dll文件到Visual St ...

  7. Python代码教你批量将PDF转为Word

    很多时候在学习时发现许多文档都是PDF格式,PDF格式却不利于学习使用,因此需要将PDF转换为Word文件,但或许你从网上下载了很多软件,但只能转换前五页(如WPS等),要不就是需要收费,那有没有免费 ...

  8. Java 将PDF/XPS转为Word/html /SVG/PS/PCL/PNG、PDF和XPS互转(基于Spire.Cloud.SDK for Java)

    Spire.Cloud.SDK for Java提供了接口PdfConvertApi通过convert()方法将PDF文档以及XPS文档转为指定文档格式,如转PDF为Word(支持Docx.Doc). ...

  9. PDF转WORD工具 Solid Converter PDF v9.1.6744

    Solid Converter PDF中文破解版(pdf转换成word转换器)是一款功能强大的PDF格式转换软件.Solid Converter PDF允许用户将PDF转换为Word(PDF to W ...

  10. 【C#/VB.NET】 将PDF转为SVG/Image, SVG/Image转PDF

    SVG是一种图形文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形.它在放大或者改变尺寸的情况下其图形质量不会有所损失,且与 JPG 和 GIF 图像比起 ...

随机推荐

  1. Gitlab添加K8S集群

    介绍如何在Gitlab项目中添加K8S集群,以便使用K8S集群部署gitlab-runner帮我们运行gitlab的CI/CD. 参考官方文档:https://docs.gitlab.com/ee/u ...

  2. 我公司是属于生产制造业,最近考虑实施ERP,生产制造业的ERP那家比较好?

    直接告诉你用哪家ERP,那我就太不负责任了,不同企业的规模选用不同的系统,匹配很重要!比如你大型企业,业务管理都比较标准规范,变化性也不大,不差钱预算没问题(千万元起步),你可以考虑下头部厂商.但如果 ...

  3. Bootstrap5 如何创建多媒体对象

    一.在Bootstra5中使用媒体对象 Bootstrap 媒体对象在版本 5 中已经停止支持了.但是,我们仍然可以使用 flex 和 margin 创建包含左对齐或右对齐媒体对象(如图像或视频)以及 ...

  4. iptables使用详解

    iptables使用详解 @(linux)[iptables] 前言 最近买了一个VPS,并在上面搭了DOCKER,然后再DOCKER中安装Mysql.但只要将网络端口映射到宿主机上,那么外部网络就可 ...

  5. java集合框架复习----(2)List

    文章目录 三.List集合 listIterator:迭代器 List实现类 1.泛型类 2.泛型接口 三.List集合 特点 有序,打印输出的顺序和添加时的顺序一致(不会帮你自动排序) 有下标,可以 ...

  6. 设计模式常用的UML图------类图

    关系 UML将事物之间的联系归纳为6种,对应响应的图形 关联 定义:表示拥有的关系,具有方向性,一个类单向访问一个类,为单向关联.两个类可以相互访问,为双向关联. 聚合 定义:整体与部分的关系. 组合 ...

  7. MassTransit | .NET 分布式应用框架

    引言 A free, open-source distributed application framework for .NET. 一个免费.开源的.NET 分布式应用框架. -- MassTran ...

  8. 小米MIUI禁止系统更新

    删除downloaded_rom的文件夹,随便找一个文件(文件,不是文件夹),重名为downloaded_rom(是把一个文件重命名),这样系统后台偷偷下载时,就不知道该存放更新包的文件,就无法偷偷更 ...

  9. Mockito使用方法(Kotlin)

    一.为什么要使用Mockito 1.实际案例 1.1 遇到的问题 对于经常维护的项目,经常遇到一个实际问题:需求不停改变,导致架构经常需要修改某些概念的定义. 对于某些十分基础又十分常用的概念,常常牵 ...

  10. 题解 CF327A Flipping Game

    前言 数据水的一批,\(\mathcal{O}(n^3)\) 给过我觉得是不应该的. 题意 有一个由 \(0\) 和 \(1\) 组成的序列 \(a_1,a_2,a_3,a_4....,a_n\) . ...