# 文字文档API列表

# 视图初始化

# 功能概述

默认使用的初始化方法,返回文字文档编辑器视图实例。

# 接口声明

/// 初始化方法
+ (IFLYDocsEditorView *)docEditorView;

# 参数说明

无参数

# 返回值说明

返回文字文档编辑器视图实例。

# 调用时机

加载文字文档视图时。

# 调用示例

IFLYDocsEditorView * docEditorView = [IFLYDocsEditorView docEditorView];
docEditorView.frame = self.view.bounds;
[self.view addSubview:docEditorView];

# 水印设置

# 功能概述

文字文档文档添加水印背景。

# 接口声明

/// set方法,添加水印内容
/// @param watermark 水印内容
- (void)setwatermark:(NSString *)watermark;

# 参数说明

watermark:水印内容

# 返回值说明

无返回值。

# 调用时机

文档编辑器初始化完成后,通过编辑器视图实例的watermark属性。

# 调用示例

//点语法
docEditorView.watermark = @"测试水印";;
//set方法
[docEditorView setWatermark:@"测试水印"];

# 注意事项

必须在视图加载前设置,请在初始化之后立即设置。

# 加粗设置

# 功能概述

文档修改加粗样式。

# 接口声明

/// set方法,修改加粗样式
/// @param bold 是否加粗
- (void)setBold:(BOOL)bold;

# 参数说明

bold:是否加粗

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.bold = YES;
//set方法
[docEditorView.format setBold:YES];

# 注意事项

修改的是当前光标所在位置的样式。

# 斜体设置

# 功能概述

文档修改斜体样式。

# 接口声明

/// set方法,修改斜体样式
/// @param italic 是否斜体
- (void)setItalic:(BOOL)isItalic;

# 参数说明

italic:是否斜体

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.italic = YES;
//set方法
[docEditorView.format setItalic:YES];

# 注意事项

修改的是当前光标所在位置的样式。

# 下划线设置

# 功能概述

文档修改下划线样式。

# 接口声明

/// set方法,修改下划线样式
/// @param underline 是否下划线
- (void)setUnderline:(BOOL)underline;

# 参数说明

underline:是否下划线

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.underline = YES;
//set方法
[docEditorView.format setUnderline:YES];

# 注意事项

修改的是当前光标所在位置的样式。

# 删除线设置

# 功能概述

文档修改下划线样式。

# 接口声明

/// set方法,修改删除线样式
/// @param strike 是否有删除线
- (void)setStrike:(BOOL)strike;

# 参数说明

strike:是否有删除线

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.strike = YES;
//set方法
[docEditorView.format setStrike:YES];

# 注意事项

修改的是当前光标所在位置的样式。

# 字体背景色设置

# 功能概述

文档修改字体背景色样式。

# 接口声明

/// 设置字体背景颜色
/// @param backgroundColor 颜色类型
- (void)setBackgroundColor:(EditorColorStyle)backgroundColor;

# 参数说明

backgroundColor:颜色类型,详细见本指南SDK常量说明。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.backgroundColor = EditorColorStandardYellow;
//set方法
[docEditorView.format setBackgroundColor:EditorColorStandardYellow];

# 注意事项

修改的是当前光标所在位置的样式。

# 上下标类型设置

# 功能概述

文档修改字体上下标样式。

# 接口声明

/// 设置上下标
/// @param script 上下标类型
- (void)setScript:(EditorScriptStyle)script;

# 参数说明

script:上下标类型,详细见本指南SDK常量说明。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.script = EditorScriptStyleSup;
//set方法
[docEditorView.format setScript:EditorScriptStyleSup];

# 注意事项

修改的是当前光标所在位置的样式。

# 标题样式设置

# 功能概述

文档修改标题样式。

# 接口声明

/// set方法,标题样式
/// @param headerStyle 标题样式类型
- (void)setHeaderStyle:(EditorHeaderStyle)headerStyle;

# 参数说明

headerStyle:标题样式类型,详细见本指南SDK常量说明。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.headerStyle = EditorHeaderStyle1;
//set方法
[docEditorView.format setHeaderStyle:EditorHeaderStyle1];

# 注意事项

修改的是当前光标所在位置的样式。

# 字体大小样式设置

# 功能概述

文档修改标题样式。

# 接口声明

/// set方法,修改字体大小样式
/// @param fontSize 字体大小类型
- (void)setFontSize:(EditorFontSize)fontSize;

# 参数说明

fontSize :字体大小类型,详细见本指南SDK常量说明。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.fontSize = EditorFontSize9;
//set方法
[docEditorView.format setFontSize:EditorFontSize9];

# 注意事项

修改的是当前光标所在位置的样式。

# 字体颜色样式设置

# 功能概述

文档修改字体颜色样式。

# 接口声明

/// set方法,修改字体颜色样式
/// @param color 颜色样式类型
- (void)setColor:(EditorColorStyle)color;

# 参数说明

color :颜色样式类型,详细见本指南SDK常量说明。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.color = EditorColorStandardGrey;
//set方法
[docEditorView.format setColor:EditorColorStandardGrey];

# 注意事项

修改的是当前光标所在位置的样式。

# 段落对齐样式设置

# 功能概述

文档修改段落对齐样式。

# 接口声明

/// set方法,设置段落对齐样式
/// @param alignSyle 段落对齐样式类型
- (void)setAlignSyle:(EditorAlignStyle)alignSyle;

# 参数说明

alignSyle 段落对齐样式类型,详细见本指南SDK常量说明。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.alignSyle = EditorAlignLeft;
//set方法
[docEditorView.format setAlignSyle:EditorAlignLeft];

# 注意事项

修改的是当前光标所在位置的样式。

#

# 段落列表样式设置

# 功能概述

文档修改段落列表样式。

# 接口声明

/// set方法,列表样式
/// @param listStyle 列表样式类型
- (void)setListStyle:(EditorListStyle)listStyle;

# 参数说明

listStyle 列表样式类型,详细见本指南SDK常量说明。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.listStyle = EditorListStyleOrdered;
//set方法
[docEditorView.format setListStyle:EditorListStyleOrdered];

# 注意事项

修改的是当前光标所在位置的样式。

# 待办事项样式设置

# 功能概述

文档修改待办事项样式。

# 接口声明

/// set方法,待办事项样式
/// @param tagList 待办事项样式类型
- (void)setTagList:(EditorToDoListStyle)tagList;

# 参数说明

tagList : 待办事项样式类型,详细见本指南SDK常量说明。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.tagList = EditorToDoListStyleUnchecked;
//set方法
[docEditorView.format setTagList:EditorToDoListStyleUnchecked];

# 注意事项

修改的是当前光标所在位置的样式。

# 修改段落缩进

# 功能概述

文字文档修改段落缩进。

# 接口声明

/// 修改段落缩进
/// @param changeIndent 缩进类型
- (void)changeIndent:(EditorIndentStyle)changeIndent;

# 参数说明

changeIndent : 待办事项样式类型,详细见本指南SDK常量说明。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
//待补充
//调用方法
[docEditorView.format changeIndent:EditorIndentStyleAdd];

# 注意事项

修改的是当前光标所在位置的样式。

# 设置段落行高

# 功能概述

文字文档修改段落行高。

# 接口声明

/// set方法,设置段落行高
/// @param lineHeight 行高类型
- (void)setLineHeight:(EditorLineHeight)lineHeight;

# 参数说明

lineHeight : 行高类型,详细见本指南SDK常量说明。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.lineHeight = EditorLineHeight1P7;
//调用方法
[docEditorView.format setLineHeight:EditorLineHeight1P7];

# 注意事项

修改的是当前光标所在位置的样式。

# 设置行内代码

# 功能概述

文字文档设置行内代码。

# 接口声明

// set方法,设置行内代码
/// @param lineCode 是否为行内代码
- (void)setLineCode:(BOOL)lineCode;

# 参数说明

lineCode : 是否为行内代码。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的format属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.format.lineCode = YES;
//调用方法
[docEditorView.format setLineCode:YES];

# 注意事项

修改的是当前光标所在位置的样式。

# 设置聚焦状态

# 功能概述

文档设置聚焦状态。

# 接口声明

/// set方法,设置聚焦状态
/// @param focus 是否聚焦
- (void)setFocus:(BOOL)focus;

# 参数说明

focus : 是否为行内代码。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的action属性的点语法或者set方法直接修改。

# 调用示例

//点语法
docEditorView.action.focus = YES;
//调用方法
[docEditorView.action setFocus:YES];

# 注意事项

进行聚焦会自动聚焦到上次失焦的位置。

# 协作模块激活

# 功能概述

文档激活协作模块,使得文档可以在线编辑,多人多端同时协作。

# 接口声明

/// 激活协作
///
/// @param collaborationConfig 协作配置
- (void)activeCollaboration:(IFLYDocsCollaborationConfig *)collaborationConfig;

# 参数说明

collaborationConfig : 激活参数,详细见SDK常量说明。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,通过编辑器视图实例的collaboration属性的方法直接调用。

# 调用示例

//调用方法
IFLYDocsCollaborationConfig * config = [IFLYDocsCollaborationConfig new];
    config.fid = @"Pl1";
    config.accessToken = @"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjIjoiN2U2ZTgwMzUiLCJzIjoxNjI3ODk0OTkxNDIyLCJ0IjoiQSIsInUiOiIxNjI3ODY3NTkzNTg1IiwiaXNzIjoiYXV0aDAiLCJleHAiOjE2Mjc5ODEzOTF9.2XysgNyVKJ6sv8Bh8Wk1WiHRqdfiarcSie3GliJJfkQ";
    config.role = @"owner";
    config.wsUrl = @"wss://devopenapi.iflydocs.com";
    config.sid = @"";
    config.snapshot = @"";
    config.inflightOp = @"";
    config.pendingOps = @"";
    config.isLocalDoc = NO;
    [self.docEditorView.collaboration activeCollaboration:config];

# 注意事项

必须在编辑器加载完毕后激活,否则无效。

对于可能存在弱网络以及网络波动场景,建议保存从协作回调中返回的cache数据,以在此时传入,保证内容不会因网络未提交导致的丢失

# 协作模块刷新用户令牌

# 功能概述

文档刷新协作模块设置的用户令牌。

# 接口声明

/// 刷新用户令牌
/// @param newAccessToken 新的用户令牌
- (void)refreshToken:(NSString *)newAccessToken;

# 参数说明

newAccessToken :新的用户令牌。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,激活协作模块使用的参数中的用户令牌失效或者错误时,通过编辑器视图实例的collaboration属性的方法直接调用。

# 调用示例

//调用方法
[docEditorView.collaboration refreshToken:@"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjIjoiN2U2ZTgwMzUiLCJzIjoxNjI3ODk0OTkxNDIyLCJ0IjoiQSIsInUiOiIxNjI3ODY3NTkzNTg1IiwiaXNzIjoiYXV0aDAiLCJleHAiOjE2Mjc5ODEzOTF9.2XysgNyVKJ6sv8Bh8Wk1WiHRqdfiarcSie3GliJJfkQ"];

# 注意事项

当协作模块回调令牌失效时,必须用此方法刷新,否则协作服务连接异常,数据不能同步。

# 刷新文档标识

# 功能概述

文档刷新协作模块设置的文档标识。

# 接口声明

/// 刷新文档唯一标识
/// @param newFid 文档唯一标识
- (void)refreshFid:(NSString *)newFid;

# 参数说明

newFid :文档唯一标识。

# 返回值说明

无返回值。

# 调用时机

文档编辑器加载完成后,文档为离线新建(原有标识为本地生成),并通过讯飞文档open API生成文档标识成功后,需要刷新文档标识,以实现同步,通过编辑器视图实例的collaboration属性的方法直接调用。

# 调用示例

//调用方法
[docEditorView.collaboration refreshFid:@"Pl1"];

# 注意事项

除离线新建的文档在编辑时同步,一般情况下无需使用。

# 历史记录还原

# 功能概述

根据版本号用于还原历史记录。

# 接口声明

/// 历史记录还原
/// @param targetVersion 还原版本
- (void)revertHistoryVersion:(NSString *)targetVersion;

# 参数说明

targetVersion:还原版本号。

# 返回值说明

无返回值。

# 调用时机

用户选择指定版本还原时调用。

多用于SDK内DocsHistoryDelegate回调revertHistoryVersion

# 调用示例

//调用方法
[self.docEditorView.collaboration revertHistoryVersion:version];

# 注意事项

无。

# 获取用户选区

# 功能概述

获取文字文档编辑器当前用户选区。

# 接口声明

/// 获取用户选区。 异步方法
/// @param completionHandler 完成的回调
- (void)getSelectionCompletionHandler:(nullable IFLYActionCompletionHandler)completionHandler;

# 参数说明

completionHandler:异步回调事件。

# 返回值说明

在completionHandler内异步返回用户选区。

# 调用时机

编辑器有选区时。

# 调用示例

//调用方法
[self.docEditorView.action getSelectionCompletionHandler:^(id result, NSError * _Nullable error) {}];

# 注意事项

无。

# 接口声明

/// 获取用户选区。 同步方法
- (EditorRange)getSelection;

# 参数说明

无。

# 返回值说明

EditorRange:见常量说明。

# 调用时机

编辑器有选区时。

# 调用示例

//调用方法
[self.docEditorView.action getSelection];

# 注意事项

同步方法目前采用runloop实现,存在线程切换异常,多线程场景谨慎使用.。

# 设置用户选区

# 功能概述

设置文字文档编辑器当前用户选区。

# 接口声明

/// 设置用户选区
/// @param range 选区
/// @param level 更改级别
- (void)setSelection:(EditorRange)range level:(EditLevel)level;

# 参数说明

range: 选区。

level: 更改级别。

# 返回值说明

无。

# 调用时机

需要时。

# 调用示例

//调用方法
EditorRange range;
range.index = 1;
range.length = 1;
[self.docEditorView.action setSelection:range level:EditLevelApi];

# 注意事项

无。

# 插入文本

# 功能概述

向编辑器中插入文本。

# 接口声明

/// 向编辑器中插入文本
/// @param text 文本
/// @param index 起始位置
- (void)insertText:(NSString *)text atIndex:(NSInteger)index level:(EditLevel)level;

# 参数说明

text: 文本。

index: 起始位置。

# 返回值说明

无。

# 调用时机

需要时。

# 调用示例

//调用方法
[self.docEditorView.action insertText:@"插入文本" atIndex:1 level:EditLevelApi];

# 注意事项

无。