题注在文档中起到了多种重要的作用,包括提供背景信息、提高可读性、方便引用和索引,以及增加可信度和版权保护。本文将介绍如何使 Spire.Doc for Java 在 Java 项目中添加和删除 Word 文档中的题注。
首先,您需要在 Java 程序中添加 Spire.Doc.jar 文件作为依赖项。您可以从此链接下载 JAR 文件;如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>14.9.5</version>
</dependency>
</dependencies>
通过调用 DocPicture.addCaption(String name, CaptionNumberingFormat format, CaptionPosition captionPosition) 方法来给图片添加题注。详细步骤如下:
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.DocPicture;
public class AddPictureCaption {
public static void main(String[] args) {
// 创建Word文档对象
Document document = new Document();
// 添加一个章节
Section section = document.addSection();
// 添加一个新段落并给它添加一个图片
Paragraph pictureParagraphCaption = section.addParagraph();
pictureParagraphCaption.getFormat().setAfterSpacing(10);
DocPicture pic1 = pictureParagraphCaption.appendPicture("Data\\1.png");
pic1.setHeight(100);
pic1.setWidth(100);
// 给图片添加题注
CaptionNumberingFormat format = CaptionNumberingFormat.Number;
pic1.addCaption("图片", format, CaptionPosition.Below_Item);
// 再新添加一个新段落并给它添加一个图片
pictureParagraphCaption = section.addParagraph();
DocPicture pic2 = pictureParagraphCaption.appendPicture("Data\\2.png");
pic2.setHeight(100);
pic2.setWidth(100);
// 给图片添加题注
pic2.addCaption("图片", format, CaptionPosition.Below_Item);
// 更新文档中的所有的域
document.isUpdateFields(true);
// 保存到一个docx文档
String result = "添加图片题注.docx";
document.saveToFile(result, FileFormat.Docx_2016);
// 关闭document对象释放资源
document.close();
document.dispose();
}
}
和添加图片题注类似,需调用 Table.addCaption(String name, CaptionNumberingFormat format, CaptionPosition captionPosition) 方法来为表格添加题注。详细步骤如下:
import com.spire.doc.*;
public class AddTableCaption {
public static void main(String[] args) {
// 创建Word文档对象
Document document = new Document();
// 添加一个章节
Section section = document.addSection();
// 添加一个表格
Table tableCaption = section.addTable(true);
tableCaption.resetCells(3, 2);
// 给表格添加题注
tableCaption.addCaption("表格", CaptionNumberingFormat.Number, CaptionPosition.Below_Item);
// 再新添加一个表格并给表格添加题注
tableCaption = section.addTable(true);
tableCaption.resetCells(2, 3);
tableCaption.addCaption("表格", CaptionNumberingFormat.Number, CaptionPosition.Below_Item);
// 更新文档中的所有的域
document.isUpdateFields(true);
// 保存到一个docx文档
String result = "添加表格题注.docx";
document.saveToFile(result, FileFormat.Docx_2016);
// 关闭document对象释放资源
document.close();
document.dispose();
}
}
上面介绍了使用 Spire.Doc for Java 添加题注,同样它也支持从 Word 文档中删除题注。详细步骤如下:
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.*;
public class DeleteCaptions {
public static void main(String[] args) {
// 创建Word文档对象
Document document = new Document();
// 加载示例.docx文件
document.loadFromFile("Data/示例.docx");
Section section;
// 遍历所有节
for (int i = 0; i < document.getSections().getCount(); i++) {
section = document.getSections().get(i);
// 倒序遍历节中的段落
for (int j = section.getBody().getParagraphs().getCount() - 1; j >= 0; j--) {
// 检测段落是否为题注段落
if (DetectCaptionParagraph(section.getBody().getParagraphs().get(j))){
// 如果是题注段落,则移除该段落
section.getBody().getParagraphs().removeAt(j);
}
}
}
// 保存删除题注后的文档
String result = "删除题注.docx";
document.saveToFile(result, FileFormat.Docx_2016);
// 关闭document对象释放资源
document.close();
document.dispose();
}
// 判断段落是否为题注段落的方法
static Boolean DetectCaptionParagraph(Paragraph paragraph) {
Boolean tag = false;
Field field;
// 遍历段落中的子对象
for (int i = 0; i < paragraph.getChildObjects().getCount(); i++) {
if(paragraph.getChildObjects().get(i).getDocumentObjectType().equals(DocumentObjectType.Field)) {
// 判断子对象是否为Field类型
field = (Field) paragraph.getChildObjects().get(i);
if (field.getType().equals(FieldType.Field_Sequence)){
// 判断Field类型是否为FieldSequence,即题注域类型
return true;
}
}
}
return tag;
}
}
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Microsoft Word 中的表格可以包含多种元素,包括文本、图像等等。用户可以将图像插入表格中以显示一些信息或从表格中提取图像以用于其他文档。本文将介绍如何使用 Spire.Doc for Python 在 Word 表格中插入或提取图像。
本教程需要使用 Spire.Doc for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python
Spire.Doc for Python 提供了 Table.Rows[].Cells[].Paragraphs[].AppendPicture() 方法,将图像添加到特定的表格单元格。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 定义输入文件路径
inputFile = "data/表格.docx"
# 定义输出文件路径
outputFile = "output/AddPictureToTableCell.docx"
# 创建Document对象
doc = Document()
# 从输入文件中加载文档内容
doc.LoadFromFile(inputFile)
# 获取文档的第一个表格
table1 = document.Sections.get_Item(0).Tables.get_Item(0)
# 在表格的第2行第3列的单元格中添加一张名为"python.png"的图片,并设置图片的宽度和高度为100
picture = table1.Rows.get_Item(1).Cells.get_Item(2).Paragraphs.get_Item(0).AppendPicture("output/python.png")
picture.Width = 100
picture.Height = 100
# 在表格的第3行第3列的单元格中添加一张名为"net.png"的图片,并设置图片的宽度和高度为100
picture = table1.Rows[2].Cells[2].Paragraphs[0].AppendPicture("output/net.png")
picture.Width = 100
picture.Height = 100
# 在表格的第4行第3列的单元格中添加一张名为"java.png"的图片,并设置图片的宽度和高度为100
picture = table1.Rows[3].Cells[2].Paragraphs[0].AppendPicture("output/java.png")
picture.Width = 100
picture.Height = 100
# 将修改后的文档保存到输出文件中,格式为Docx
doc.SaveToFile(outputFile, FileFormat.Docx)
# 关闭文档对象
doc.Close()
从表格中提取图像,需要遍历表格中的所有行、每行中的所有单元格、每个单元格中的所有段落以及每个段落中的所有子对象,然后找到 DocPicture 类型的对象,最后将它们保存到指定的文件路径。下面是详细的步骤:
from asyncio.windows_events import NULL
from email.mime import image
from spire.doc import *
from spire.doc.common import *
# 打开一个Word文档
doc = Document("output/AddPictureToTableCell.docx")
# 获取文档中的第一个表格
table = doc.Sections.get_Item(0).Tables.get_Item(0)
# 初始化图片名称和图片列表
image_name = None
images = .get_Item()
# 遍历表格的每一行
for i in range(table.Rows.Count):
# 遍历每一行的每个单元格
for j in range(table.Rows[i].Cells.Count):
# 遍历每个单元格的每个段落
for p in range(table.Rows.get_Item(i).Cells[j].Paragraphs.Count):
# 获取当前段落
para = table.Rows.get_Item(i).Cells[j].Paragraphs.get_Item(p)
# 遍历段落的子对象
for c in range(para.ChildObjects.Count):
# 获取当前子对象
obj = para.ChildObjects.get_Item(c)
# 如果子对象是图片类型
if obj.DocumentObjectType == DocumentObjectType.Picture:
# 判断子对象是否为DocPicture类型,如果是则赋值给picture,否则赋值为None
picture = obj if isinstance(obj, DocPicture) else None
# 获取图片的字节数据
dataBytes = picture.ImageBytes
# 将图片字节数据添加到图片列表中
images.append(dataBytes)
# 遍历图片列表,将每个图片保存到文件中
for index, item in enumerate(images):
image_Name = "output/Image-{}.png".format(index)
with open(image_Name, 'wb') as imageFile:
imageFile.write(item)
# 关闭文档
doc.Close() 
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
RTF 是一种灵活的文件格式,在保留原文件的格式和基本样式的同时,又能很好的保留与各种文字处理软件的兼容性。将 Word 转换为 RTF 使用户能够保留文档结构、字体、超链接和其他基本元素,而无需专门的软件。同样,将 RTF 转换回 Word 格式能够使用 Microsoft Word 的强大编辑功能以及增强文档的灵活性。本文将介绍如何使用 Spire.Doc for Python 在 Python 中将 Word 转为 RTF。
本教程需要使用 Spire.Doc for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python
Spire.Doc for Python 提供了 Document.LoadFromFile() 方法加载 Word 文件,并提供了 Document.SaveToFile() 方法将其转换为不同的格式,例如 RTF;相反,您可以以相同的方式加载 RTF 文件并将其另存为 Word 文件。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 创建一个Document对象
document = Document()
# 从指定路径加载文档文件
document.LoadFromFile("data/test.docx")
# 将文档保存为RTF格式的文件
document.SaveToFile("output/ToRtf.rtf", FileFormat.Rtf)
# 关闭文档对象
document.Close()
Spire.Doc for Python 将 RTF 转换为 Word 的代码也非常简单。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 创建一个文档对象
document = Document()
# 从指定路径加载一个RTF格式的文件到文档对象中
document.LoadFromFile("data/test.rtf")
# 将文档对象保存为Word格式的文件,文件名为"ToWord.docx"
document.SaveToFile("output/ToWord.docx", FileFormat.Docx2019)
# 关闭文档对象
document.Close()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
幻灯片隐藏和取消隐藏是 PowerPoint 中两个非常实用的功能,它们能够在演示文稿播放期间灵活地控制幻灯片的可见性。当你希望在演示过程中跳过某些幻灯片,而又不想永久删除它们时,你可以使用隐藏幻灯片功能将它们隐藏起来。这样,隐藏的幻灯片不会在演示中显示,但仍然保留在文稿中。当你希望重新展示之前隐藏的幻灯片时,则可以使用取消隐藏幻灯片功能将它们再次呈现出来。通过隐藏和取消隐藏幻灯片,你可以根据需要调整演示内容,从而提升演示效果。本文将介绍如何使用 Spire.Presentation for Python 在 Python 中隐藏或取消隐藏 PowerPoint 幻灯片。
本教程需要用到 Spire.Presentation for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Presentation如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Presentation for Python
Spire.Presentation for Python 提供的 ISlide.Hidden 属性可以控制演示文稿中指定幻灯片的可见性。如果你希望隐藏某个幻灯片,只需将 ISlide.Hidden 属性设置为 True 即可。详细步骤如下:
from spire.presentation.common import *
from spire.presentation import *
# 创建Presentation类的对象
ppt = Presentation()
# 加载 PowerPoint 演示文稿
ppt.LoadFromFile("示例.pptx")
# 获取第二个幻灯片并隐藏它
slide = ppt.Slides[1]
slide.Hidden = True
# 将结果演示文稿保存为新的 .pptx 文件
ppt.SaveToFile("隐藏幻灯片.pptx", FileFormat.Pptx2016)
ppt.Dispose()
你可以将 ISlide.Hidden 属性设置为 False 来重新展示指定的隐藏幻灯片。详细步骤如下:
from spire.presentation.common import *
from spire.presentation import *
# 创建 Presentation 类的对象
ppt = Presentation()
# 加载 PowerPoint 演示文稿
ppt.LoadFromFile("示例.pptx")
# 获取第二个幻灯片并取消隐藏
slide = ppt.Slides[1]
slide.Hidden = False
# 将结果演示文稿保存为新的 .pptx 文件
ppt.SaveToFile("显示幻灯片.pptx", FileFormat.Pptx2016)
ppt.Dispose()
要重新展示 PowerPoint 演示文稿中的所有隐藏幻灯片,你需要循环遍历演示文稿中的所有幻灯片,找到隐藏的幻灯片,然后将 ISlide.Hidden 属性设置为 False 来取消隐藏它们。详细步骤如下:
from spire.presentation.common import *
from spire.presentation import *
# 创建 Presentation 类的对象
ppt = Presentation()
# 加载 PowerPoint 演示文稿
ppt.LoadFromFile("示例.pptx")
# 循环遍历演示文稿中的每个幻灯片
for i in range(ppt.Slides.Count):
slide = ppt.Slides[i]
# 检查幻灯片是否隐藏
if(slide.Hidden):
# 取消隐藏幻灯片
slide.Hidden = False
# 将结果演示文稿保存为新的 .pptx 文件
ppt.SaveToFile("显示所有幻灯片.pptx", FileFormat.Pptx2016)
ppt.Dispose()如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
通过在 Word 表格中添加或删除行和列,用户可以调整表格的结构以有效地容纳您的数据。通过添加行和列,用户可以随着数据的增长毫不费力地扩展表,确保以全面的方式捕获和显示所有相关信息。另一方面,删除不必要的行和列可以简化表格,消除任何可能使文档混乱的冗余或无关数据。本文将介绍如何使用 Spire.Doc for Python 在 Python 中添加或删除表格行和列。
本教程需要使用 Spire.Doc for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python
Spire.Doc for Python 提供了 Table.AddRow() 或 Table.InsertRow() 方法在 Word 表格的末尾添加一行或在 Word 表格的特定位置插入一行。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 设置输入文件路径
inputFile = "data/createTable.docx"
# 创建文档对象
document = Document()
# 从输入文件中加载文档内容
document.LoadFromFile(inputFile)
# 获取文档的第一个节
section = document.Sections.get_Item(0)
# 获取第一个节的第一个表格,如果不存在则返回None
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None
# 在表格的第2行插入新行
table.Rows.Insert(2, table.AddRow())
# 获取插入的行
insertedRow = table.Rows.get_Item(2)
# 遍历插入行的每个单元格
for i in range(insertedRow.Cells.Count):
# 获取单元格
cell = insertedRow.Cells[i]
# 在单元格中添加段落
paragraph = cell.AddParagraph()
# 向段落中添加文本
paragraph.AppendText("插入行")
# 设置段落的水平对齐方式为居中
paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center
# 设置单元格的垂直对齐方式为居中
cell.CellFormat.VerticalAlignment = VerticalAlignment.Middle
# 在表格末尾添加一行
addedRow = table.AddRow()
# 遍历新添加行的每个单元格
for i in range(addedRow.Cells.Count):
# 获取单元格
cell = insertedRow.Cells.get_Item(i)
# 在单元格中添加段落
paragraph = cell.AddParagraph()
# 向段落中添加文本
paragraph.AppendText("末尾行")
# 设置段落的水平对齐方式为居中
paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center
# 设置单元格的垂直对齐方式为居中
cell.CellFormat.VerticalAlignment = VerticalAlignment.Middle
# 将修改后的文档保存到输出文件中
document.SaveToFile("output/AddRows.docx", FileFormat.Docx2016)
# 关闭文档对象
document.Close()
Spire.Doc for Python 不提供在 Word 表格中添加或插入列的直接方法。但是,用户可以通过使用 TableRow.Cells.Add() 或 TableRow.Cells.Insert() 方法在每个表格行的特定位置添加或插入单元格来实现此目的。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 创建一个Document对象
document = Document()
# 从"Table1.docx"文件中加载文档内容
document.LoadFromFile("data/Table.docx")
# 获取文档的第一个节(Section)
section = document.Sections.get_Item(0)
# 获取第一个节中的第一个表格,如果该表格存在的话
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None
# 遍历表格的每一行
for i in range(table.Rows.Count):
# 获取当前行
row = table.Rows[i]
# 创建一个新的单元格,并将其插入到当前行的第三个位置
cell = TableCell(document)
row.Cells.Insert(2, cell)
# 设置新单元格的宽度与第一列相同
cell.Width = row.Cells[0].Width
# 在新单元格中添加一个段落,并设置文本内容为"Inserted Column"
paragraph = cell.AddParagraph()
paragraph.AppendText("插入列")
# 设置段落的水平对齐方式为居中
paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center
# 设置新单元格的垂直对齐方式为居中
cell.CellFormat.VerticalAlignment = VerticalAlignment.Middle
# 在当前行的末尾添加一个新的单元格
cell = row.AddCell()
# 设置新单元格的宽度与第二列相同
cell.Width = row.Cells[1].Width
# 在新单元格中添加一个段落,并设置文本内容为"End Column"
paragraph = cell.AddParagraph()
paragraph.AppendText("末尾列")
# 设置段落的水平对齐方式为居中
paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center
# 设置新单元格的垂直对齐方式为居中
cell.CellFormat.VerticalAlignment = VerticalAlignment.Middle
# 将修改后的文档保存为"AddColumns.docx"文件,格式为Docx2016
document.SaveToFile("output/AddColumns.docx", FileFormat.Docx2016)
# 关闭文档对象
document.Close()
Spire.Doc for Python 提供了 Table.Rows.RemoveAt() 方法,从 Word 表中删除特定行。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 创建一个Document对象
document = Document()
# 从"AddRows.docx"文件中加载文档内容
document.LoadFromFile("data/AddRows.docx")
# 获取文档的第一个节(Section)
section = document.Sections.get_Item(0)
# 获取第一个节中的第一个表格,如果该表格存在的话
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None
# 移除表格中的第1行
table.Rows.RemoveAt(0)
# 移除表格中的最后一行
table.Rows.RemoveAt(table.Rows.Count - 1)
# 将修改后的文档保存为"RemoveRows.docx"文件,格式为Docx2016
document.SaveToFile("output/RemoveRows.docx", FileFormat.Docx2016)
# 关闭文档对象
document.Close()
Spire.Doc for Python 提供了 TableRow.Cells.RemoveAt() 这个方法从每个表格行中删除相应的单元格。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 创建一个Document对象
document = Document()
# 从"AddColumns.docx"文件中加载文档内容
document.LoadFromFile("data/AddColumns.docx")
# 获取文档的第一个节(Section)
section = document.Sections.get_Item(0)
# 获取第一个节中的第一个表格,如果该表格存在的话
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None
# 遍历表格的每一行
for i in range(table.Rows.Count):
# 获取当前行
row = table.Rows[i]
# 移除第1个单元格
row.Cells.RemoveAt(0)
# 移除最后一个单元格
row.Cells.RemoveAt(row.Cells.Count - 1)
# 将修改后的文档保存为"RemoveColumns.docx"文件,格式为Docx2016
document.SaveToFile("output/RemoveColumns.docx", FileFormat.Docx2016)
# 关闭文档对象
document.Close()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Presentation for Java 8.12.1 已发布。本次更新提升了 PPT 到 SVG 的转换速度,同时新增支持加载带密码的流文件、通过坐标创建不规则的多边形以及通过两个点来绘制线条的功能。详情请阅读以下内容。
新功能:
presentation.loadFromStream(inputStream, FileFormat.AUTO,"password"); Presentation ppt = new Presentation();
ISlide slide = ppt.getSlides().get(0);
List<Point2D> points = new ArrayList<>();
points.add(new Point2D.Float(50f, 50f));
points.add(new Point2D.Float(50f, 150f));
points.add(new Point2D.Float(60f, 200f));
points.add(new Point2D.Float(200f, 200f));
points.add(new Point2D.Float(220f, 150f));
points.add(new Point2D.Float(150f, 90f));
points.add(new Point2D.Float(50f, 50f));
IAutoShape autoShape = slide.getShapes().appendFreeformShape(points);
autoShape.getFill().setFillType(FillFormatType.NONE);
ppt.saveToFile("out.pptx", FileFormat.PPTX_2013);
ppt.dispose();Presentation ppt = new Presentation();
ppt.getSlides().get(0).getShapes().appendShape(ShapeType.LINE, new Point2D.Float(50, 70), new Point2D.Float(150, 120));
ppt.saveToFile( "result.pptx ,FileFormat.PPIX_2013),
ppt.dispose().https://www.e-iceblue.cn/Downloads/Spire-Presentation-JAVA.html
Spire.OCR for Java 1.9.2 已发布。本次更新修复了在JDK17和JDK21下运行时程序抛出异常的问题。详情请阅读以下内容。
问题修复:
Spire.XLS for Python 13.12.6 已发布。本次更新增加自定义异常类 SpireException 同时将 ArgumentError 类变更为 SpireException 类。详情请阅读以下内容。
新功能:
题注在 Word 文档中是提高可理解性和组织结构的重要元素。它提供对图片、表格等内容的解释和补充信息,增强文档的可读性和清晰度。题注还用于强调重点和关键信息,方便引用和索引特定内容。通过合理使用题注,读者能更好地理解和解读文档中的数据和图像,并能快速定位所需信息。本文将介绍如何使 Spire.Doc for .NET 在 C# 项目中添加和删除 Word 文档中的题注。
首先,您需要将 Spire.Doc for.NET 包含的 DLL 文件作为引用添加到您的 .NET项目中。DLL 文件可以从此链接下载,也可以通过 NuGet 安装。
PM> Install-Package Spire.Doc实现向 Word 文档中的图片添加题注,即创建段落、添加图片内容,以及调用 DocPicture.AddCaption(string name, CaptionNumberingFormat format, CaptionPosition captionPosition) 方法来生成题注的编号。详细步骤如下:
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;
namespace AddPictureCaption
{
internal class Program
{
static void Main(string[] args)
{
// 创建Word文档对象
Document document = new Document();
// 添加一个章节
Section section = document.AddSection();
// 添加一个新段落并给它添加一个图片
Paragraph pictureParagraphCaption = section.AddParagraph();
pictureParagraphCaption.Format.AfterSpacing = 10;
DocPicture pic1 = pictureParagraphCaption.AppendPicture(Image.FromFile("Data\\1.png"));
pic1.Height = 100;
pic1.Width = 100;
// 给图片添加题注
CaptionNumberingFormat format = CaptionNumberingFormat.Number;
pic1.AddCaption("图片", format, CaptionPosition.BelowItem);
// 再新添加一个新段落并给它添加一个图片
pictureParagraphCaption = section.AddParagraph();
DocPicture pic2 = pictureParagraphCaption.AppendPicture(Image.FromFile("Data\\2.png"));
pic2.Height = 100;
pic2.Width = 100;
// 给图片添加题注
pic2.AddCaption("图片", format, CaptionPosition.BelowItem);
// 更新文档中的所有的域
document.IsUpdateFields = true;
// 保存到一个docx文档
string result = "添加图片题注.docx";
document.SaveToFile(result, Spire.Doc.FileFormat.Docx2016);
// 关闭document对象释放资源
document.Close();
document.Dispose();
}
}
}
实现向 Word 文档中的表格添加题注,即创建表格,调用 Table.AddCaption(string name, CaptionNumberingFormat format, CaptionPosition captionPosition) 方法来生成题注的编号。详细步骤如下:
using Spire.Doc;
namespace AddTableCation
{
internal class Program
{
static void Main(string[] args)
{
// 创建Word文档对象
Document document = new Document();
// 添加一个章节
Section section = document.AddSection();
// 添加一个表格
Table tableCaption = section.AddTable(true);
tableCaption.ResetCells(3, 2);
// 给表格添加题注
tableCaption.AddCaption("表格", CaptionNumberingFormat.Number, CaptionPosition.BelowItem);
// 再新添加一个表格并给表格添加题注
tableCaption = section.AddTable(true);
tableCaption.ResetCells(2, 3);
tableCaption.AddCaption("表格", CaptionNumberingFormat.Number, CaptionPosition.BelowItem);
// 更新文档中的所有的域
document.IsUpdateFields = true;
// 保存到一个docx文档
string result = "添加表格题注.docx";
document.SaveToFile(result, Spire.Doc.FileFormat.Docx2016);
// 关闭document对象释放资源
document.Close();
document.Dispose();
}
}
}
Spire.Doc for .NET 还可以实现从存在题注的 Word 文档中将题注进行删除。详细步骤如下:
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace DeleteCaptions
{
internal class Program1
{
static void Main(string[] args)
{
// 创建Word文档对象
Document document = new Document();
// 加载示例.docx文件
document.LoadFromFile("Data/示例.docx");
Section section;
// 遍历所有节
for (int i = 0; i < document.Sections.Count; i++)
{
section = document.Sections[i];
// 倒序遍历节中的段落
for (int j = section.Body.Paragraphs.Count - 1; j >= 0; j--)
{
// 检测段落是否为题注段落
if (DetectCaptionParagraph(section.Body.Paragraphs[j]))
{
// 如果是题注段落,则移除该段落
section.Body.Paragraphs.RemoveAt(j);
}
}
}
// 保存删除题注后的文档
string result = "删除题注.docx";
document.SaveToFile(result, Spire.Doc.FileFormat.Docx2016);
// 关闭document对象释放资源
document.Close();
document.Dispose();
}
// 判断段落是否为题注段落的方法
static bool DetectCaptionParagraph(Paragraph paragraph)
{
bool tag = false;
Field field;
// 遍历段落中的子对象
for (int i = 0; i < paragraph.ChildObjects.Count; i++)
{
if (paragraph.ChildObjects[i].DocumentObjectType == DocumentObjectType.Field)
{
// 判断子对象是否为Field类型
field = (Field)paragraph.ChildObjects[i];
if (field.Type == FieldType.FieldSequence)
{
// 判断Field类型是否为FieldSequence,即题注域类型
return true;
}
}
}
return tag;
}
}
}
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
通过设置表格格式,可以确保整个文档中的表格具有一致的外观和风格。这有助于提高文档的专业性和可读性,使读者能够方便地浏览相关内容,并且促进了文档的易读性和互动性。本文将介绍如何使用 Spire.Doc for Python 在 Python 中设置 Word 文档中的表格格式。
本教程需要使用 Spire.Doc for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python
Spire.Doc for Python 提供了 Table.ApplyStyle() 方法,可以将不同的样式应用到表格上。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 设置输出文件路径
outputFile = "output/SetTableStyle.docx"
# 设置输入文件路径
inputFile = "data/Table.docx"
# 创建文档对象
document = Document()
# 从输入文件中加载文档内容
document.LoadFromFile(inputFile)
# 获取文档的第一个节
section = document.Sections.get_Item(0)
# 获取第一个节中的表格,如果不存在则返回None
table = section.Tables.get_Item(0) if isinstance(section.Tables.get_Item(0), Table) else None
# 应用默认的彩色列表样式到表格上
table.ApplyStyle(DefaultTableStyle.LightGridAccent3)
# 将修改后的文档保存到输出文件中
document.SaveToFile(outputFile, FileFormat.Docx)
# 关闭文档对象
document.Close()
Spire.Doc for Python 提供了 Document.Styles.Add() 方法添加自定义的段落样式,再通过 Paragraph.ApplyStyle() 方法,可以将自定义的样式应用到表格上。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 定义输出文件路径
outputFile = "output/SetTableStyle.docx"
# 定义输入文件路径
inputFile = "data/CreateTable.docx"
# 创建文档对象
document = Document()
# 从输入文件中加载文档内容
document.LoadFromFile(inputFile)
# 获取文档的第一个章节
section = document.Sections[0]
# 获取第一个章节中的第一个表格,如果不存在则返回None
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None
# 创建段落样式对象
style = ParagraphStyle(document)
# 设置段落样式名称为"TableStyle"
style.Name = "TableStyle"
# 设置段落字体大小为14.0
style.CharacterFormat.FontSize = 14.0
# 设置段落文本颜色为绿色
style.CharacterFormat.TextColor = Color.get_SeaGreen()
# 设置段落高亮颜色为黄色
style.CharacterFormat.HighlightColor = Color.get_Yellow()
# 将自定义的段落样式添加到文档样式集合中
document.Styles.Add(style)
# 将自定义的段落样式应用到表格的第一行第一列的第一个段落上
table.Rows[0].Cells[0].Paragraphs[0].ApplyStyle(style.Name)
# 将修改后的文档保存到输出文件中
document.SaveToFile(outputFile, FileFormat.Docx)
# 关闭文档对象
document.Close()
Spire.Doc for Python 提供了 Table.AutoFit() 方法用于自动调整表格以适应内容。在 Word 文档中,可以通过这个方法来确保表格中的文本能够正确显示,并且不会超出单元格的边界。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
inputFile = "data/TableSample.docx"
outputFile = "output/AutoFitToContents.docx"
# 创建一个文档对象
document = Document()
# 从输入文件中加载文档内容
document.LoadFromFile(inputFile)
# 获取文档的第一个章节
section = document.Sections[0]
# 获取第一个章节中的第一个表格,如果不存在则返回None
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None
# 自动调整表格的宽度以适应内容
table.AutoFit(AutoFitBehaviorType.AutoFitToContents)
# 固定表格的列宽
#table.AutoFit(AutoFitBehaviorType.FixedColumnWidths)
# 自动调整表格的宽度以适应窗口大小
#table.AutoFit(AutoFitBehaviorType.AutoFitToWindow)
# 将修改后的文档保存到输出文件中
document.SaveToFile(outputFile)
# 关闭文档对象
document.Close()
Spire.Doc for Python 提供了 Table.TableFormat.HorizontalAlignment 这个属性,用于设置表格的水平对齐方式,例如左对齐、右对齐或居中对齐。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 设置输出文件路径
outputFile = "output/SetTableAlighment.docx"
# 设置输入文件路径
inputFile = "data/Table.docx"
# 创建文档对象
document = Document()
# 从输入文件中加载文档内容
document.LoadFromFile(inputFile)
# 获取文档的第一个节
section = document.Sections[0]
# 获取第一个节的第一个表格,如果不存在则返回None
table1 = section.Tables[0] if isinstance(section.Tables[0], Table) else None
# 获取第一个节的第二个表格,如果不存在则返回None
table2 = section.Tables[1] if isinstance(section.Tables[1], Table) else None
# 获取第一个节的第三个表格,如果不存在则返回None
table3 = section.Tables[2] if isinstance(section.Tables[2], Table) else None
# 获取第一个节的第四个表格,如果不存在则返回None
table4 = section.Tables[3] if isinstance(section.Tables[3], Table) else None
# 设置第一个表格的水平对齐方式为左对齐
table1.TableFormat.HorizontalAlignment = RowAlignment.Left
# 设置第二个表格的水平对齐方式为居中对齐
table2.TableFormat.HorizontalAlignment = RowAlignment.Center
# 设置第三个表格的水平对齐方式为右对齐
table3.TableFormat.HorizontalAlignment = RowAlignment.Right
# 设置第四个表格的左边距为50
table4.TableFormat.LeftIndent = 50
# 将修改后的文档保存到输出文件中
document.SaveToFile(outputFile, FileFormat.Docx2013)
# 关闭文档对象
document.Close()
Spire.Doc for Python 提供了 Table.TableFormat.Borders 这个属性,用于设置表格的边框样式。在 Word 文档中,可以使用这个属性来控制表格的边框线型、宽度和颜色等样式。例如,可以设置边框为实线、虚线或点线,设置边框宽度,以及设置边框的颜色等。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 设置输出文件路径
outputFile = "output/SetTableFormat.docx"
# 设置输入文件路径
inputFile = "data/Table.docx"
# 创建文档对象
document = Document()
# 从输入文件中加载文档内容
document.LoadFromFile(inputFile)
# 获取文档的第一个节
section = document.Sections[0]
# 获取第一个节的第一个表格,如果不存在则返回None
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None
# 设置表格右侧边框样式为双线,线宽为1.0,颜色为红色
table.TableFormat.Borders.Right.BorderType = BorderStyle.Double
table.TableFormat.Borders.Right.LineWidth = 1.0
table.TableFormat.Borders.Right.Color = Color.get_Red()
# 设置表格顶部边框样式为双线,线宽为1.0,颜色为绿色
table.TableFormat.Borders.Top.BorderType = BorderStyle.Double
table.TableFormat.Borders.Top.LineWidth = 1.0
table.TableFormat.Borders.Top.Color = Color.get_Green()
# 设置表格左侧边框样式为双线,线宽为1.0,颜色为黄色
table.TableFormat.Borders.Left.BorderType = BorderStyle.Double
table.TableFormat.Borders.Left.LineWidth = 1.0
table.TableFormat.Borders.Left.Color = Color.get_Yellow()
# 设置表格底部边框样式为双线,垂直边框样式为细线,水平边框样式为细线,垂直边框颜色为橙色
table.TableFormat.Borders.Bottom.BorderType = BorderStyle.Double
table.TableFormat.Borders.Vertical.BorderType = BorderStyle.Hairline
table.TableFormat.Borders.Horizontal.BorderType = BorderStyle.Hairline
table.TableFormat.Borders.Vertical.Color = Color.get_Orange()
# 将修改后的文档保存到输出文件路径
document.SaveToFile(outputFile, FileFormat.Docx)
# 关闭文档对象
document.Close()
Spire.Doc for Python 提供了 Rows.RowFormat.BackColor 这个属性,用于设置表格指定行的背景颜色。提供了 Cells.CellFormat.BackColor 这个属性,用于设置表格指定行中指定单元格的背景颜色。下面是详细的步骤:
from spire.doc import *
from spire.doc.common import *
# 设置输出文件路径
outputFile = "output/SetTableBackColor.docx"
# 设置输入文件路径
inputFile = "data/Table.docx"
# 创建文档对象
document = Document()
# 从输入文件中加载文档内容
document.LoadFromFile(inputFile)
# 获取文档的第一个节
section = document.Sections[0]
# 获取第一个节的第一个表格,如果不存在则返回None
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None
#设置第一行的背景颜色
table.Rows[0].RowFormat.BackColor = Color.get_SeaGreen()
#设置第3行第2个单元格的背景颜色
table.Rows[2].Cells[1].CellFormat.BackColor = Color.get_SeaGreen()
# 将修改后的文档保存到输出文件路径
document.SaveToFile(outputFile, FileFormat.Docx)
# 关闭文档对象
document.Close()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。