该文主要从下面两个方面描述如何使用Spire.Doc for Java 为Word文档添加脚注。
- 在整个段落后面添加脚注
- 查找指定文本,并在查找的文本后面添加脚注
为word文档第一段添加脚注:
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.*;
import java.awt.*;
public class WordFootnote {
public static void main(String[] args) throws Exception {
//加载示例文档
Document doc = new Document();
doc.loadFromFile("Sample.docx", FileFormat.Docx_2010);
//获取第一个section的第一段
Paragraph para = doc.getSections().get(0).getParagraphs().get(0);
//在第一段后面添加脚注
Footnote footnote = para.appendFootnote(FootnoteType.Footnote);
//添加脚注内容并设置字体格式
TextRange text = footnote.getTextBody().addParagraph().appendText("Demo of Spire.Doc");
text.getCharacterFormat().setFontName("Arial Black");
text.getCharacterFormat().setFontSize(10);
text.getCharacterFormat().setTextColor(new Color(255, 140, 0));
footnote.getMarkerCharacterFormat().setFontName("Calibri");
footnote.getMarkerCharacterFormat().setFontSize(12);
footnote.getMarkerCharacterFormat().setBold(true);
footnote.getMarkerCharacterFormat().setTextColor(new Color(0, 0, 139));
//保存文档
doc.saveToFile("output/Addfootnote.docx", FileFormat.Docx_2010);
}
}
效果图:
查找指定文本Spire.Doc并在其后添加脚注
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.*;
import java.awt.*;
public class WordFootnotes {
public static void main(String[] args) throws Exception {
//加载示例文档
Document doc = new Document();
doc.loadFromFile("Sample.docx", FileFormat.Docx_2010);
//查找文本Spire.Doc
TextSelection[] selections = doc.findAllString("Spire.Doc", false, true);
for (TextSelection selection : selections) {
TextRange range = selection.getAsOneRange();
Paragraph para = range.getOwnerParagraph();
//在指定文本后添加脚注
Footnote footnote = para.appendFootnote(FootnoteType.Footnote);
int index = para.getChildObjects().indexOf(range);
para.getChildObjects().insert(index + 1, footnote);
//添加脚注内容并设置字体格式
TextRange text = footnote.getTextBody().addParagraph().appendText("Demo of Spire.Doc");
text.getCharacterFormat().setFontName("Arial Black");
text.getCharacterFormat().setFontSize(10);
text.getCharacterFormat().setTextColor(new Color(255, 140, 0));
footnote.getMarkerCharacterFormat().setFontName("Calibri");
footnote.getMarkerCharacterFormat().setFontSize(12);
footnote.getMarkerCharacterFormat().setBold(true);
footnote.getMarkerCharacterFormat().setTextColor(new Color(0, 0, 139));
//保存文本
doc.saveToFile("output/Addfootnote.docx", FileFormat.Docx_2010);
}
}
}
效果图: