有时,您可能需要在 Excel 中对多个形状执行特定操作,例如添加样式、调整大小或移动它们。对形状进行分组可以帮助您更轻松、更高效地完成此任务。对形状进行分组后,它们将被视为单个实体并且可以同时进行操作。在本文中,您将学习如何使用 Spire.XLS for .NET 在 C# 和 VB.NET 中以编程方式对 Excel 中的形状进行分组或取消分组。
首先,您需要添加 Spire.XLS for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.XLS要对 Excel 工作表中的某些形状进行分组,您需要使用 Worksheet.GroupShapeCollection 属性返回一个 GroupShapeCollection 对象,然后调用 GroupShapeCollection.Group() 方法。详细步骤如下:
using Spire.Xls;
using Spire.Xls.Core;
using Spire.Xls.Core.MergeSpreadsheet.Collections;
using System.Drawing;
namespace GroupShapes
{
class Program
{
static void Main(string[] args)
{
//初始化Workbook类的实例
Workbook workbook = new Workbook();
//获取第一个工作表
Worksheet worksheet = workbook.Worksheets[0];
//添加多个形状
IPrstGeomShape shape1 = worksheet.PrstGeomShapes.AddPrstGeomShape(3, 3, 65, 50, PrstGeomShapeType.RoundRect);
shape1.Fill.FillType = ShapeFillType.SolidColor;
shape1.Fill.ForeColor = Color.Yellow;
shape1.Line.Weight = 0.1;
IPrstGeomShape shape2 = worksheet.PrstGeomShapes.AddPrstGeomShape(7, 3, 65, 50, PrstGeomShapeType.Ribbon);
shape2.Fill.FillType = ShapeFillType.SolidColor;
shape2.Fill.ForeColor = Color.Purple;
shape2.Line.Weight = 0.1;
IPrstGeomShape shape3 = worksheet.PrstGeomShapes.AddPrstGeomShape(3, 5, 65, 50, PrstGeomShapeType.Cloud);
shape3.Fill.FillType = ShapeFillType.SolidColor;
shape3.Fill.ForeColor = Color.LightGreen;
shape3.Line.Weight = 0.1;
IPrstGeomShape shape4 = worksheet.PrstGeomShapes.AddPrstGeomShape(7, 5, 65, 50, PrstGeomShapeType.Ellipse);
shape4.Fill.FillType = ShapeFillType.SolidColor;
shape4.Fill.ForeColor = Color.LightSkyBlue;
shape4.Line.Weight = 0.1;
//对形状进行分组
GroupShapeCollection groupShapeCollection = worksheet.GroupShapeCollection;
groupShapeCollection.Group(new IShape[] { shape1, shape2, shape3, shape4 });
//保存结果文档
workbook.SaveToFile("GroupShapes.xlsx", ExcelVersion.Version2013);
}
}
}Imports Spire.Xls
Imports Spire.Xls.Core
Imports Spire.Xls.Core.MergeSpreadsheet.Collections
Imports System.Drawing
Namespace GroupShapes
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'初始化Workbook类的实例
Dim workbook As Workbook = New Workbook()
'获取第一个工作表
Dim worksheet As Worksheet = workbook.Worksheets(0)
'添加多个形状
Dim shape1 As IPrstGeomShape = worksheet.PrstGeomShapes.AddPrstGeomShape(3, 3, 65, 50, PrstGeomShapeType.RoundRect)
shape1.Fill.FillType = ShapeFillType.SolidColor
shape1.Fill.ForeColor = Color.Yellow
shape1.Line.Weight = 0.1
Dim shape2 As IPrstGeomShape = worksheet.PrstGeomShapes.AddPrstGeomShape(7, 3, 65, 50, PrstGeomShapeType.Ribbon)
shape2.Fill.FillType = ShapeFillType.SolidColor
shape2.Fill.ForeColor = Color.Purple
shape2.Line.Weight = 0.1
Dim shape3 As IPrstGeomShape = worksheet.PrstGeomShapes.AddPrstGeomShape(3, 5, 65, 50, PrstGeomShapeType.Cloud)
shape3.Fill.FillType = ShapeFillType.SolidColor
shape3.Fill.ForeColor = Color.LightGreen
shape3.Line.Weight = 0.1
Dim shape4 As IPrstGeomShape = worksheet.PrstGeomShapes.AddPrstGeomShape(7, 5, 65, 50, PrstGeomShapeType.Ellipse)
shape4.Fill.FillType = ShapeFillType.SolidColor
shape4.Fill.ForeColor = Color.LightSkyBlue
shape4.Line.Weight = 0.1
'对形状进行分组
Dim groupShapeCollection As GroupShapeCollection = worksheet.GroupShapeCollection
groupShapeCollection.Group(New IShape() {shape1, shape2, shape3, shape4})
'保存结果文档
workbook.SaveToFile("GroupShapes.xlsx", ExcelVersion.Version2013)
End Sub
End Class
End Namespace
如果要取消 Excel 工作表中已分组的形状,您可以使用 GroupShapeCollection. UnGroupAll() 方法。取消形状分组后,则可以单独操作它们。详细步骤如下:
using Spire.Xls;
using Spire.Xls.Core.MergeSpreadsheet.Collections;
namespace UngroupShapes
{
class Program
{
static void Main(string[] args)
{
//初始化Workbook类的实例
Workbook workbook = new Workbook();
workbook.LoadFromFile("GroupShapes.xlsx");
//获取特定工作表
Worksheet worksheet = workbook.Worksheets[0];
//取消分组工作表中的分组形状
GroupShapeCollection groupShapeCollection = worksheet.GroupShapeCollection;
groupShapeCollection.UnGroupAll();
//保存结果文档
workbook.SaveToFile("UnGroupShapes.xlsx", ExcelVersion.Version2013);
}
}
}Imports Spire.Xls
Imports Spire.Xls.Core.MergeSpreadsheet.Collections
Namespace UngroupShapes
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'初始化Workbook类的实例
Dim workbook As Workbook = New Workbook()
workbook.LoadFromFile("GroupShapes.xlsx")
'获取特定工作表
Dim worksheet As Worksheet = workbook.Worksheets(0)
'取消分组工作表中的分组形状
Dim groupShapeCollection As GroupShapeCollection = worksheet.GroupShapeCollection
groupShapeCollection.UnGroupAll()
'保存结果文档
workbook.SaveToFile("UnGroupShapes.xlsx", ExcelVersion.Version2013)
End Sub
End Class
End Namespace
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.PDF 8.12.5 已发布。该版本新增支持设置表单域的可见与隐藏属性、添加自定义的元数据以及给 PDF 文档的元数据添加新的命名空间。本次更新还增强了 PDF 到 DOCX 和图片的转换。此外,许多问题也在本次更新中被成功修复,如绘制水印后查找文本失败的问题。详情请阅读以下内容。
新功能:
Spire.Pdf.Fields.PdfField field = formWidget.FieldsWidget.List[0] as Spire.Pdf.Fields.PdfField;
//field.AnnotationFlags = Spire.Pdf.Annotations.PdfAnnotationFlags.Default; // Setting visibility
field.AnnotationFlags = Spire.Pdf.Annotations.PdfAnnotationFlags.Hidden; // Setting hiddenusing(PdfDocument doc = new PdfDocument("1.pdf"))
{
using(Stream stream = new FileStream('1.xml',FileMode.Open))
{
doc.Metadata = PdfXmlMetadata.Parse(stream);
}
doc.SaveToFile('result.pdf');
}PdfXmlMetadata.RegisterNamespace("http://myRandomNamespace", "zf");
using(PdfDocument doc = new PdfDocument("1.pdf"))
{
doc.Metadata.SetPropertyString("http://myRandomNamespace", "test1","my test");
doc.SaveToFile('result.pdf');
}
PdfXmlMetadata.ResetNamespaces();问题修复:
Spire.Office for Java 7.12.2 已发布。本次更新带来了一些新功能,如:Spire.PDF for Java支持释放 PdfTrueTypeFont 对象;Spire.Doc for Java增强了 Word 到 PDF 和图片以及 HTML 到 Word 的转换;Spire.XLS for Java 增强了Excel 到 PDF的转换;Spire.Presentation for Java增强了 PPT 到 SVG的转换。此外,该版本还成功修复了许多已知问题。详情请阅读以下内容。
获取 Spire.Office for Java 7.12.2请点击:https://www.e-iceblue.cn/Downloads/Spire-Office-JAVA.html
新功能:
pdfTrueTypeFont.dispose();问题修复:
问题修复:
问题修复:
问题修复:
Spire.Doc for Java 10.12.2 已发布。该版本增强了 Word 到 PDF 和图片以及 HTML 到 Word 的转换。此外,本次更新还修复了许多已知问题,如合并文档后字号和段间距发生改变的问题。详情请阅读以下内容。
问题修复:
Spire.Presentation for Java 7.12.0 已发布。本次更新增强了 PPT 到 SVG的转换。同时,该版本还修复了一些已知问题,如修复了加载PPT文档程序抛异常 “Index must be >= 0 and <= Count” 的问题。详情请阅读以下内容。
问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-JAVA.html
Spire.Office 7.12.0 已发布。在本次更新中,Spire.Doc 支持为形状设置填充色透明度;Spire.PDF 支持压缩 PDF 文档及转换 PDF 为 PPT;Spire.XLS 支持多种新函数及 "SHA-512" 加密方式。此外,本次更新还成功修复了大量已知问题。详情请阅读以下内容。
该版本涵盖了最新版的 Spire.Doc,Spire.PDF,Spire.XLS,Spire.Email,Spire.DocViewer, Spire.PDFViewer,Spire.Presentation,Spire.Spreadsheet, Spire.OfficeViewer, Spire.DocViewer, Spire.Barcode, Spire.DataExport。
版本信息如下:
https://www.e-iceblue.cn/Downloads/Spire-Office-NET.html
新功能:
PdfCompressor compressor = new PdfCompressor(fileName);
compressor.CompressToFIle(outputName);PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(inputFile);
pdf.SaveToFile(outputFile, FileFormat.PPTX)PdfCompressor compressor = new PdfCompressor(fileName);
compressor.CompressToFIle(outputName);PdfDocument doc = new PdfDocument();
doc.LoadFromFile(input);
PdfPageBase page = doc.Pages[0];
PdfTextReplacer replacer = new PdfTextReplacer(page);
PdfTextReplaceOptions option = new PdfTextReplaceOptions();
options.ReplaceType = ReplaceActionType.IgnoreCase;
replacer.Options = option;
replacer.ReplaceText("cash", "999");
doc.SaveToFile("output.pdf", FileFormat.PDF);问题修复:
新功能:
Paragraph paragraph = section.AddParagraph();
Spire.Doc.Fields.TextBox textbox1 = paragraph.AppendTextBox(100, 50);
textbox1.Format.FillColor = Color.Red;
textbox1.FillTransparency = 0.45;问题修复:
新功能:
Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "CEILING.MATH(-2.78,5,-1)";
workbook.CalculateAllValue();
workbook.SaveToFile("1.xlsx",ExcelVersion.Version2016);Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "BITOR(23,10)";
workbook.CalculateAllValue();
workbook.SaveToFile("1.xlsx",ExcelVersion.Version2016);Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "BITAND(23,10)";
workbook.CalculateAllValue();
workbook.SaveToFile("1.xlsx",ExcelVersion.Version2016);Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "BITLSHIFT(23,2)";
workbook.CalculateAllValue();
workbook.SaveToFile("1.xlsx",ExcelVersion.Version2016);Workbook workbook = new Workbook();
workbook.Worksheets[0].Range["A1"].Formula = "BITRSHIFT(23,2)";
workbook.CalculateAllValue();
workbook.SaveToFile("1.xlsx",ExcelVersion.Version2016);Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
IPrstGeomShape shape1 = worksheet.PrstGeomShapes.AddPrstGeomShape(1, 3, 50, 50, PrstGeomShapeType.RoundRect);
IPrstGeomShape shape2 = worksheet.PrstGeomShapes.AddPrstGeomShape(5, 3, 50, 50, PrstGeomShapeType.Triangle);
GroupShapeCollection groupShapeCollection = worksheet.GroupShapeCollection;
groupShapeCollection.Group(new Spire.Xls.Core.IShape[] { shape1,shape2});
workbook.SaveToFile("1.xlsx",ExcelVersion.Version2013);xlsPivotTable.Options.ReportLayout = PivotTableLayoutType.Tabular;问题修复:
问题修复:
问题修复:
Spire.Spreadsheet 6.12.0 已发布。该版本修复了删除列后列名重置的问题。详情请阅读以下内容。
问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Spreadsheet-NET.html
手动从 PDF 文件中提取文本往往繁琐、易错且低效,尤其在处理大量文档或复杂布局文件时问题更突出。这是因为 PDF 文件基于坐标存储内容,而非线性文本流 —— 若缺乏专业工具,很难提取出结构化或易读的文本。对于 C# .NET 开发者而言,实现 PDF 文本提取自动化是简化工作流的关键:无论是文档处理、内容索引,还是数据迁移、数字归档,自动化提取都能大幅提升效率。
本文将详细介绍如何通过 C# 与 Spire.PDF for .NET(一款功能强大的 PDF 读取与处理库)从PDF中读取文本,包含从基础到高级的完整方案,附可直接复用的代码示例与常见问题解答。
目录
Spire.PDF for .NET 是一款功能丰富且对开发者友好的库,支持在 .NET 应用程序中无缝提取 PDF 文本。其优势如下:
开始前,需通过以下方式在项目中安装该库:
Install-Package Spire.PDF
若需要完整地体验 Spire.PDF for .NET 的全部功能并移除水印,您可以点击申请免费的30天试用许可证。
适用于需获取 PDF 全部文本的场景(如文档全文检索、内容分析)。通过 PdfTextExtractor(PDF 文本提取器)遍历所有页面,提取文本后保存到 TXT 文件,同时保留原格式。
C# 代码示例
using Spire.Pdf;
using Spire.Pdf.Texts;
using System.IO;
using System.Text;
namespace ExtractAllTextFromPDF
{
internal class Program
{
static void Main(string[] args)
{
// 创建 PDF 文档实例
PdfDocument pdf = new PdfDocument();
// 加载 PDF 文件
pdf.LoadFromFile("示例.pdf");
// 初始化 StringBuilder 以存储提取的文本
StringBuilder extractedText = new StringBuilder();
// 遍历 PDF 中的每一页
foreach (PdfPageBase page in pdf.Pages)
{
// 为当前页面创建 PdfTextExtractor 实例
PdfTextExtractor extractor = new PdfTextExtractor(page);
// 设置提取选项
PdfTextExtractOptions option = new PdfTextExtractOptions
{
IsExtractAllText = true // 提取当前页面的所有文本
};
// 从当前页面提取文本
string text = extractor.ExtractText(option);
// 将提取的文本追加到StringBuilder中
extractedText.AppendLine(text);
}
// 将提取的文本保存到文本文件
File.WriteAllText("提取文本.txt", extractedText.ToString());
// 关闭 PDF 文档
pdf.Close();
}
}
}
Spire.PDF 不仅支持基础的全文提取,还能满足高级使用场景,例如从特定页面提取文本、从指定区域提取内容,以及获取文本布局细节(如位置和尺寸)。本节将通过实际示例介绍这些功能。
适用于只需特定页面文本的场景(如提取合同中的 “条款页”、报告中的 “数据摘要页”)。通过 Pages[index] 指定页面(注:PDF 页面索引从 0 开始,索引 0 = 第一页,索引 1 = 第二页)。
C# 代码示例
using Spire.Pdf;
using Spire.Pdf.Texts;
using System.IO;
namespace ExtractTextFromIndividualPages
{
internal class Program
{
static void Main(string[] args)
{
// 创建 PDF 文档实例
PdfDocument pdf = new PdfDocument();
// 加载 PDF 文件
pdf.LoadFromFile("AI数字人.pdf");
// 获取要提取文本的页面(例如,索引1对应第二页,注:索引从0开始)
PdfPageBase page = pdf.Pages[1];
// 为选中的页面创建PdfTextExtractor实例
PdfTextExtractor extractor = new PdfTextExtractor(page);
// 设置提取选项
PdfTextExtractOptions option = new PdfTextExtractOptions
{
IsExtractAllText = true
};
// 从指定页面提取文本
string text = extractor.ExtractText(option);
// 将提取的文本保存到文本文件
File.WriteAllText("提取指定页面文本.txt", text);
// 关闭 PDF 文档
pdf.Close();
}
}
}

适用于需精准提取局部内容的场景(如提取页眉、页脚、表格区域的文本)。通过 PdfTextExtractOptions.ExtractArea 设置矩形提取区域,以限制提取范围。
C# 代码示例
using Spire.Pdf;
using Spire.Pdf.Texts;
using System.IO;
using System.Drawing;
namespace ExtractTextFromDefinedArea
{
internal class Program
{
static void Main(string[] args)
{
// 创建 PDF 文档实例
PdfDocument pdf = new PdfDocument();
// 加载 PDF 文件
pdf.LoadFromFile("AI数字人.pdf");
// 获取第二页(索引1对应第二页)
PdfPageBase page = pdf.Pages[1];
// 为选中的页面创建 PdfTextExtractor 实例
PdfTextExtractor textExtractor = new PdfTextExtractor(page);
// 设置提取选项(指定矩形区域)
PdfTextExtractOptions extractOptions = new PdfTextExtractOptions
{
// 矩形区域参数:X坐标、Y坐标、宽度、高度
ExtractArea = new RectangleF(0, 0, 890, 170)
};
// 从指定矩形区域提取文本
string text = textExtractor.ExtractText(extractOptions);
// 将提取的文本保存到文本文件
File.WriteAllText("Extracted.txt", text);
// 关闭 PDF 文档
pdf.Close();
}
}
}

适用于需文本布局分析的场景(如 PDF 批注、内容叠加、格式还原)。通过 PdfTextFinder(PDF 文本查找器)获取每个文本片段的 Bounds(边界矩形),包含位置(X/Y 坐标)和尺寸(宽 / 高)。
C# 代码示例
using Spire.Pdf;
using Spire.Pdf.Texts;
using System;
using System.Collections.Generic;
using System.Drawing;
namespace ExtractTextWithPositionAndSize
{
class Program
{
static void Main(string[] args)
{
// 加载 PDF 文档
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("示例.pdf");
// 遍历文档的每一页
for (int i = 0; i < pdf.Pages.Count; i++)
{
PdfPageBase page = pdf.Pages[i];
// 为当前页面创建 PdfTextFinder 实例
PdfTextFinder finder = new PdfTextFinder(page);
// 查找页面上的所有文本片段
List<PdfTextFragment> fragments = finder.FindAllText();
Console.WriteLine($"第 {i + 1} 页:");
// 遍历每个文本片段
foreach (PdfTextFragment fragment in fragments)
{
// 提取文本内容
string text = fragment.Text;
// 获取包含位置和大小信息的边界矩形数组
RectangleF[] rects = fragment.Bounds;
Console.WriteLine($"文本:\"{text}\"");
// 遍历当前文本片段的每个边界矩形
foreach (var rect in rects)
{
Console.WriteLine($"位置:({rect.X}, {rect.Y}),尺寸:({rect.Width} × {rect.Height})");
}
Console.WriteLine(); // 空行分隔不同文本片段
}
}
}
}
}
Spire.PDF for .NET 为 C# 开发者提供了全场景的 PDF 文本提取能力:
结合这些能力,可轻松构建文档自动化工具(如 PDF 解析器、智能归档系统),大幅提升 PDF 处理效率。
答:可以。加载文件时通过重载的 LoadFromFile 方法传入密码即可,示例:
// 加载带密码的PDF(第一个参数:文件路径,第二个参数:密码)
pdf.LoadFromFile("ProtectedSample.pdf", "your_pdf_password");
答:完全支持。通过 Directory.GetFiles 遍历文件夹中的所有 PDF,批量应用提取逻辑。
答:本文虽以文本提取为核心,但 Spire.PDF 也支持提取图片;若需提取表格,可结合额外逻辑实现表格检测。
答:扫描件 PDF,需先通过 OCR(光学字符识别) 转换为可编辑文本。Spire.PDF 本身无内置 OCR,但可与 Spire.OCR for .NET 配合使用,实现从图片中提取文本。
Spire.Doc 10.11.9 已发布。该版本支持为形状设置填充色透明度,并增强了Word 到 PDF的转换功能。此外,还修复了邮件合并时程序报System.InvalidOperationException等已知问题。详情请阅读以下内容。
新功能:
Paragraph paragraph = section.AddParagraph();
Spire.Doc.Fields.TextBox textbox1 = paragraph.AppendTextBox(100, 50);
textbox1.Format.FillColor = Color.Red;
textbox1.FillTransparency = 0.45;问题修复:
尽管 PDF 文档现在已经变得非常流行,但难免我们会需要对PDF文档进行修改。这时我们可以将 PDF 文档转换为 Word 文档进行修改或二次创作。Spire.PDF for .NET 可以在保持文档布局和字体样式的前提下,将 PDF 文件精确转换为 Word 文档。本文将介绍如何使用 Spire.PDF for .NET 在C# 和 VB.NET 中将 PDF 转换为 Word。
固定布局模式转换速度快,有利于最大程度保持 PDF 文件的原貌。但是,生成的文档的可编辑性将受到限制,因为 PDF 中的每一行文本将在生成的 Word 文档中显示在单独的框架中。
流动形态是一种完整的识别模式。转换后的内容不会以框架形式呈现,并且生成的文档的结构是可流动的。生成的 Word 文档很容易重新编辑,但看起来可能与原始 PDF 文件不同。
首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.PDFDoc 即Document,是一种文件格式。Doc 格式可以容纳文字格式、脚本语言等。而 Docx 文件格式相对于 Doc,所占用空间更小,在响应速度上,Docx 也要比 Doc 更加优秀。以下是将 PDF 转为 Doc/Docx 格式的具体步骤。
using Spire.Pdf;
namespace ConvertPdfToDoc
{
class Program
{
static void Main(string[] args)
{
//创建一个 PdfDocument 对象
PdfDocument doc = new PdfDocument();
//加载示例 PDF 文件
doc.LoadFromFile(@"C:\Users\Administrator\Desktop\示例文档.pdf");
//将PDF转换为Doc格式文件并保存
doc.SaveToFile("ToDoc.doc", FileFormat.DOC);
//将PDF转换为Docx格式文件并保存
doc.SaveToFile("ToDocx.docx", FileFormat.DOCX);
}
}
}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("https://cdn.e-iceblue.cn/C:\Users\Administrator\Desktop\示例文档.pdf")
'将PDF转换为Doc格式文件并保存
doc.SaveToFile("ToDoc.doc", FileFormat.DOC)
'将PDF转换为Docx格式文件并保存
doc.SaveToFile("ToDocx.docx", FileFormat.DOCX)
End Sub
End Class
End Namespace除了默认的转换引擎,Spire.PDF 还提供了另一个引擎,称为 PS 模式,将 usePsMode 和 useFlowRecognitionMode 的布尔值设置为 true 来确定使用 PS 模式并将识别模式设置为流。 以下是使用 PS 模式将 PDF 转换为 Doc/Docx 的步骤。
using Spire.Pdf;
namespace ConvertPdfToDocxUsingPsMode
{
class Program
{
static void Main(string[] args)
{
//创建一个 PdfDocument 对象
PdfDocument doc = new PdfDocument();
//加载示例 PDF 文件
doc.LoadFromFile(@"C:\Users\Administrator\Desktop\示例文档.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);
}
}
}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("https://cdn.e-iceblue.cn/C:\Users\Administrator\Desktop\示例文档.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
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。