众所周知,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. PAT (Basic Level) Practice 1031 查验身份证 分数 15

    一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8, ...

  2. Java程序设计(三)作业

    题目1:用户输入学号,如果是以ccutsoft开头,并且后边是4位数字,前两位大于06小于等于当前年份.判断用户输入是否合法.ccutsoft_0801. 1 //题目1:用户输入学号,如果是以abc ...

  3. 洛谷P7960 [NOIP2021] 报数 (筛法)

    禁止报的数的生成规则与埃式筛法类似,考虑用筛法预处理可以报出的数字列表和不可报出的数字,从而 O(1) 回答每一组询问. 用check函数判断数字中是否含有7,用nx[i]记录数字i的下一个合法数. ...

  4. ABC260 作战总结

    ABC260 作战总结 今后开始写一些模拟赛外的其他比赛的总结(也许有题解?). 开场点到另一场\(\text{ARC}\)去了,耽误了点时间,切完前四题发现已经过了\(37\)分钟了,看来自己读题+ ...

  5. 「JOISC 2022 Day1」京都观光 题解

    Solution 考虑从\((x_1,y_1)\)走到\((x_2,y_2)\)满足只改变一次方向,则容易求出先向南走当且仅当 \[\frac{a_{x_1} - a_{x_2}}{x_1 - x_2 ...

  6. if、where、trim、choose、when、otherwise、foreach

    1.if if标签可通过test属性的表达式进行判断,若表达式的结果为true,则标签中的内容会执行:反之标签中 的内容不会执行 <!--List<Emp> getEmpListBy ...

  7. .NET Core C#系列之XiaoFeng.Threading.JobScheduler作业调度

    作业调度其实就是一个定时器,定时完成某件事, 比如:每分钟执行一次,每小时执行一次,每天执行一次,第二周几执行,每月几号几点执行,间隔多少个小时执行一次等. 作业类:XiaoFeng.Threadin ...

  8. C++之值传递&指针传递&引用传递详解

    C++之值传递&指针传递&引用传递详解 目录 C++之值传递&指针传递&引用传递详解 1.函数基础 2.值传递 3.指针传递 4.引用传递 1.函数基础 一个函数由以下 ...

  9. CSS 动画一站式指南

    CSS 动画一站式指南 目录 CSS 动画一站式指南 1. CSS 动画 1.1 变换 1.1.1 变换属性介绍 1.1.2 变换动画实践 1.2 过渡 1.2.1 过渡属性介绍 1.2.2 过渡动画 ...

  10. 开源网络协议栈onps诞生记

    小孩没娘,说来话长,一切都要从LwIP说起.大约是06年9月,本人在二姨的坛口发布了一篇小文--<uC/OS-II 平台下的 LwIP 移植笔记>.自此一发不可收拾,开启了一段我与LwIP ...