Spire.Presentation 9.11.3 已发布。该版本新增了一个属性,用于在将 PPT 文档转换为 SVG 时设置是否将 SlidePicture 形状保存为图形标签,此外还修复了一些在转换 PPT 到 PDFA、SVG,以及加载文档时出现的问题。详情请查看下文。
新功能:
ppt.SaveToSvgOption.ConvertPictureUsingGraphicTag = true;问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-NET.html
Spire.Presentation for Python 9.11.1 现已正式发布。最新版本支持获取 section 中的幻灯片。此外,一些已知问题也在本次升级中被成功修复,例如使用 SlideCountPerPageForPrint 和 ContainHiddenSlides 报错的问题。详情请阅读以下内容。
新功能:
ppt = Presentation()
ppt.LoadFromFile(inputFile)
section=ppt.SectionList[0]
slides=section.GetSlides()
sb = [] i=0 for slide in slides:
sb.append("SlideID:"+str(slides[i].SlideID))
i=i+1
File.AppendAllText(outputFile, sb)
ppt.Dispose# Create a Presentation oject
presentation = Presentation()
# Load a PowerPoint document
presentation.LoadFromFile(inputFile)
sb = []
# Get custom document properties
for shape in presentation.Slides[0].Shapes:
if isinstance(shape, ISmartArt):
sa = shape if isinstance(shape, ISmartArt) else None
sb.append("left: " + str(sa.Left))
sb.append("top: " + str(sa.Top))
File.AppendAllText(outputFile, sb)
presentation.Dispose()# Create a Presentation oject
presentation = Presentation()
presentation.LoadFromFile(inputFile)
shape = presentation.Slides[0].Shapes[0]
textrange = shape.TextFrame.Paragraphs[0].TextRanges[0]
displayformat = textrange.DisplayFormat
sb = []
sb.append("text :" + str(textrange.Text))
sb.append("is bold :" + str(displayformat.IsBold))
sb.append("is italic :" + str(displayformat.IsItalic))
sb.append("latin_font FontName = :" + str(displayformat.LatinFont.FontName))
File.AppendAllText(outputFile, sb)
presentation.Dispose()问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-Python.html
在 PowerPoint 演示文稿中插入文本水印是保护版权并确保文档内容真实性的有效方式。Spire.Presentation for .NET 可帮助开发者通过简单的代码添加水印到 PowerPoint 幻灯片中,并且支持批量处理,允许精确控制水印的位置和外观,便于集成到更大的 .NET 应用程序中。本文将演示如何使用 Spire.Presentation for .NET 库通过 C# 代码插入文字水印到 PowerPoint 演示文稿。
首先,您需要添加 Spire.Presentation for .NET 包中包含的 DLL 文件作为.NET项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.Presentation
借助 Spire.Presentation for .NET,开发者可以通过在每一个幻灯片上创建一个锁定的透明文本框,并以自定义样式插入水印文字到其中,从而实现在 PowerPoint 演示文稿中添加单一文本水印。详细步骤如下:
using Spire.Presentation;
using Spire.Presentation.Drawing;
using System.Drawing;
namespace SingleTextWatermarkPowerPoint
{
class Program
{
static void Main(string[] args)
{
// 创建一个 Presentation 实例
Presentation presentation = new Presentation();
// 加载一个 PowerPoint 文件
presentation.LoadFromFile("Sample.pptx");
// 定义水印文本并为其创建字体
string text = "水印文字示例";
// 创建字体对象
Font font = new Font("HarmonyOS Sans SC", 50);
// 测量水印文本的尺寸
Graphics graphics = Graphics.FromImage(new Bitmap(1, 1));
SizeF size = graphics.MeasureString(text, font);
// 获取幻灯片尺寸
SizeF slideSize = presentation.SlideSize.Size;
// 基于文本尺寸和页面尺寸创建矩形
RectangleF rect = new RectangleF((slideSize.Width - size.Width) / 2, (slideSize.Height - size.Height) / 2, size.Width, size.Height);
// 遍历演示文稿中的幻灯片
foreach (ISlide slide in presentation.Slides)
{
// 在每张幻灯片上创建一个水印形状
IAutoShape watermark = slide.Shapes.AppendShape(ShapeType.Rectangle, rect);
// 设置水印的样式
watermark.Fill.FillType = FillFormatType.None;
watermark.ShapeStyle.LineColor.Color = Color.Empty;
watermark.Rotation = -45;
watermark.Locking.SelectionProtection = true;
watermark.Line.FillType = FillFormatType.None;
// 将水印文本添加到形状中
watermark.TextFrame.Text = text;
// 设置水印文本的样式
TextRange textRange = watermark.TextFrame.TextRange;
textRange.Fill.FillType = FillFormatType.Solid;
textRange.Fill.SolidColor.Color = Color.FromArgb(120, Color.HotPink);
textRange.FontHeight = 50;
}
// 保存演示文稿
presentation.SaveToFile("output/PowerPoint单一文字水印.pptx", FileFormat.Auto);
presentation.Dispose();
}
}
}

开发者还可以在幻灯片上以指定的间隔插入多个相同的文本水印,实现重复水印的效果。详细步骤如下:
using Spire.Presentation.Drawing;
using Spire.Presentation;
using System.Drawing;
namespace RepeatedTextWatermarkPowerPoint
{
class Program
{
static void Main(string[] args)
{
// 创建一个 Presentation 实例
Presentation presentation = new Presentation();
// 加载一个 PowerPoint 文件
presentation.LoadFromFile("Sample.pptx");
// 定义水印文本并为其创建字体
string text = "水印文字示例";
// 创建字体对象
Font font = new Font("HarmonyOS Sans SC", 20);
// 测量水印文本的尺寸
Graphics graphics = Graphics.FromImage(new Bitmap(1, 1));
SizeF size = graphics.MeasureString(text, font);
// 获取幻灯片尺寸
SizeF slideSize = presentation.SlideSize.Size;
// 遍历演示文稿中的幻灯片
foreach (ISlide slide in presentation.Slides)
{
float x = 30;
float y = 80;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
// 创建一个矩形
RectangleF rect = new RectangleF(x, y, size.Width, size.Height);
IAutoShape watermark = slide.Shapes.AppendShape(ShapeType.Rectangle, rect);
// 设置水印的样式
watermark.Fill.FillType = FillFormatType.None;
watermark.ShapeStyle.LineColor.Color = Color.Empty;
watermark.Rotation = -45;
watermark.Locking.SelectionProtection = true;
watermark.Line.FillType = FillFormatType.None;
// 将水印文本添加到形状中
watermark.TextFrame.Text = text;
// 设置水印文本的样式
TextRange textRange = watermark.TextFrame.TextRange;
textRange.Fill.FillType = FillFormatType.Solid;
textRange.Fill.SolidColor.Color = Color.FromArgb(120, Color.HotPink);
textRange.FontHeight = 20;
x += ((slideSize.Width - 60) / 3 + size.Width / 2);
}
x = 30;
y += ((slideSize.Height - 160) / 3 + size.Height / 2);
}
}
// 保存演示文稿
presentation.SaveToFile("output/PowerPoint重复文字水印.pptx", FileFormat.Auto);
presentation.Dispose();
}
}
}

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.PDF 10.11.1 已发布。本次更新新增支持获取 PDF 文档中的视频和音频的功能,同时增强了 PDF 到图片的转换功能。此外,该版本还修复一些已知问题,如合并 PDF 文档不成功的问题。详情请阅读以下内容。
新功能:
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(inputFile);
for (int i = 0; i < pdf.Pages.Count; i++)
{
PdfPageBase page = pdf.Pages[i];
PdfAnnotationCollection ancoll = page.Annotations;
for (int j = 0; j < ancoll.Count; j++)
{
PdfRichMediaAnnotationWidget MediaWidget = ancoll[j] as PdfRichMediaAnnotationWidget;
byte[] data = MediaWidget.RichMediaData;
string embedFileName = MediaWidget.RichMediaName;
File.WriteAllBytes(outputFile + embedFileName,data);
}
}问题修复:
PDF 文件有多个版本,每个版本在功能和兼容性标准上各有不同。当设备、软件或法规要求特定版本的 PDF 时,调整 PDF 版本便十分必要。例如,在存档文件或与使用旧版软件的用户共享文件时,可能需要使用较低版本的 PDF。本文将介绍如何通过 Spire.PDF for Python 在 Python 中更改 PDF 文档的版本。
本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF
如果您不清楚如何安装,请参考此教程: 如何在 Windows 中安装 Spire.PDF for Python
Spire.PDF for Python 支持 PDF 版本 1.0 到 1.7。若需将 PDF 文件转换为较低或较高版本,可通过设置 PdfDocument.FileInfo.Version 属性来实现。详细步骤如下:
from spire.pdf.common import *
from spire.pdf import *
# 创建 PdfDocument 类的对象
pdf = PdfDocument()
# 加载 PDF 文档
pdf.LoadFromFile("Example.pdf")
# 将 PDF 版本更改为 1.7
pdf.FileInfo.Version = PdfVersion.Version1_7
# 保存生成的文档
pdf.SaveToFile("ChangePDFVersion.pdf")
pdf.Close()

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Doc for Java 12.11.0 现已正式发布。该版本优化了 Word 到 PDF、HTML,以及 RTF 到 PDF 的转换,同时还还修复了一些在加载、保存 Word 文档时出现的问题。详情请查阅以下内容。
问题修复:
Spire.XLS for Java 14.11.0 现已正式发布。最新版本增强了 Excel 到 PDF 之间的转换。同时,一些已知问题也在本次更新中被成功修复,例如一些 Excel 文档保存后字体大小不一致的问题。更多详情请查阅以下内容。
问题修复:
在处理 Excel 数据时,我们常常需要将一列数据拆分成多列。例如,将一个包含姓名、性别和部门等信息的单元格内容拆分,以便更方便地查看和处理这些信息。Excel 中的“分列”功能可以帮助我们通过指定分隔符(如逗号、空格、分号等)快速将一列数据分解成多列,从而提升数据的可读性,并方便后续的数据排序、筛选和分析。本文将介绍如何使用 Spire.XLS for Python 和 Python 实现 Excel 数据分列。
本教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.XLS
如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
Spire.XLS for Python 没有提供直接的方法对 Excel 中的数据进行分列,但你可以通过 CellRange.Text 属性获取单元格内容,然后使用 str.split() 方法来根据指定分隔符拆分这些内容,最后再将拆分结果写入不同的列。详细步骤如下:
from spire.xls import *
from spire.xls.common import *
# 指定输入和输出Excel文档路径
inputFile = "数据分列模版.xlsx"
outputFile = "数据分列.xlsx"
# 创建Workbook类的对象
workbook = Workbook()
# 加载Excel文档
workbook.LoadFromFile(inputFile)
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 遍历工作表的每一行
for i in range(sheet.LastRow):
# 获取当前行第一个单元格的文本
text = sheet.Range[i + 1, 1].Text
# 根据逗号拆分文本
splitText = text.split(',')
# 将拆分后的数据写入特定列的单元格
for j in range(len(splitText)):
sheet.Range[i + 1, j + 2].Text = splitText[j]
# 保存分列后的Excel文档
workbook.SaveToFile(outputFile, ExcelVersion.Version2013)
workbook.Dispose()

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Markdown 以其轻量级的语法提供了一种简化网页内容创建、协作和文档共享的方法,尤其在 Git 或支持 Markdown 的编辑器等工具流行的环境中。通过将 Word 文档转换为 Markdown 文件,用户可以提升生产效率,简化版本控制,并确保不同系统和平台之间的兼容性。本文将介绍如何使用 Spire.Doc for .NET 通过 C# 代码将 Word 文档转换为 Markdown 文件。
首先,您需要将 Spire.Doc for.NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以从此链接下载,也可以通过 NuGet 安装。
PM> Install-Package Spire.Doc
使用 Spire.Doc for .NET,我们可以通过加载文档使用 Document.LoadFromFile() 方法,然后使用 Document.SaveToFile(filename: String, FileFormat.Markdown) 方法将其转换为 Markdown 文件。具体步骤如下:
using Spire.Doc;
namespace WordToMarkdown
{
class Program
{
static void Main(string[] args)
{
// 创建Document类的实例
Document doc = new Document();
// 加载一个Word文档
doc.LoadFromFile("示例.docx");
// 将文档转换为Markdown文件
doc.SaveToFile("output/Word转Markdown.md", FileFormat.Markdown);
doc.Dispose();
}
}
}

当使用 Spire.Doc for .NET 将 Word 文档转换为 Markdown 文件时,默认情况下图片会以 Base64 编码存储,可能会使转换出的文件过大且影响兼容性。为了应对这一问题,我们可以在转换过程中移除图片,从而减小文件大小并提高兼容性。
以下步骤说明了如何移除 Word 文档图片并将其转换为 Markdown 文件:
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace WordToMarkdownNoImage
{
class Program
{
static void Main(string[] args)
{
// 创建Document类的实例
Document doc = new Document();
// 加载一个Word文档
doc.LoadFromFile("示例.docx");
// 遍历文档中的各个部分
foreach (Section section in doc.Sections)
{
// 遍历部分中的各个段落
foreach (Paragraph paragraph in section.Paragraphs)
{
// 遍历段落中的文档对象
for (int i = 0; i < paragraph.ChildObjects.Count; i++)
{
// 获取一个文档对象
DocumentObject docObj = paragraph.ChildObjects[i];
// 检查它是否是DocPicture类的实例
if (docObj is DocPicture)
{
// 移除DocPicture实例
paragraph.ChildObjects.Remove(docObj);
}
}
}
}
// 将文档转换为Markdown文件
doc.SaveToFile("output/Word转Markdown移除图片.md", FileFormat.Markdown);
doc.Dispose();
}
}
}

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
PDF 表单是收集信息的重要工具。掌握如何将 PDF 表单数据导入和导出为不同格式(如 FDF、XFDF 和 XML),可以显著提升数据处理的效率。例如,导入表单数据使你能够利用现有信息快速更新或预填充 PDF 表单,从而节省时间。导出表单数据则能将收集的信息无缝共享给其他应用,便于集成并减少人工输入的风险。本文将介绍如何使用 Spire.PDF for Python 和 Python 实现从 FDF、XFDF 或 XML 文件中导入 PDF 表单数据,以及将 PDF 表单数据导出为 FDF、XFDF 或 XML 文件。
本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF
如果您不清楚如何安装,请参考此教程:如何在 Windows 中安装 Spire.PDF for Python
Spire.PDF for Python 提供了 PdfFormWidget.ImportData() 方法用于从 FDF、XFDF 或 XML 文件中导入 PDF 表单数据。详细步骤如下:
from spire.pdf.common import *
from spire.pdf import *
# 创建 PdfDocument 类的对象
pdf = PdfDocument()
# 加载 PDF 文档
pdf.LoadFromFile("表单.pdf")
# 获取文档的表单
pdfForm = pdf.Form
formWidget = PdfFormWidget(pdfForm)
# 从 XML 文件导入 PDF 表单数据
formWidget.ImportData("数据.xml", DataFormat.Xml)
# 从 FDF 文件导入 PDF 表单数据
# formWidget.ImportData("数据.fdf", DataFormat.Fdf)
# 从 XFDF 文件导入 PDF 表单数据
# formWidget.ImportData("数据.xfdf", DataFormat.XFdf)
# 保存生成的文档
pdf.SaveToFile("输出.pdf")
# 关闭 PdfDocument 对象
pdf.Close()

Spire.PDF for Python 还提供了 PdfFormWidget.ExportData() 方法,支持将 PDF 表单数据导出为 FDF、XFDF 或 XML 文件。详细步骤如下:
from spire.pdf.common import *
from spire.pdf import *
# 创建 PdfDocument 类的对象
pdf = PdfDocument()
# 加载 PDF 文档
pdf.LoadFromFile("表单.pdf")
# 获取文档的表单
pdfForm = pdf.Form
formWidget = PdfFormWidget(pdfForm)
# 将 PDF 表单数据导出到 XML 文件
formWidget.ExportData("数据.xml", DataFormat.Xml, "表单")
# 将 PDF 表单数据导出到 FDF 文件
# formWidget.ExportData("数据.fdf", DataFormat.Fdf, "表单")
# 将 PDF 表单数据导出到 XFDF 文件
# formWidget.ExportData("数据.xfdf", DataFormat.XFdf, "表单")
# 关闭 PdfDocument 对象
pdf.Close()

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。