OneNote.Image class
表示 Image。 Image 可以是 PageContent 对象或 Paragraph 对象的直接子级。
- Extends
注解
属性
context | 与 对象关联的请求上下文。 这会将加载项的进程连接到 Office 主机应用程序的进程。 |
description | 获取或设置 Image 的说明。 |
height | 获取或设置 Image 布局的高度。 |
hyperlink | 获取或设置 Image 的超链接。 |
id | 获取“图像”对象的 ID。 只读。 |
ocr |
获取由此 Image 的 OCR(光学字符识别)获取的数据,如 OCR 文本和语言。 |
page |
获取包含 Image 的 PageContent 对象。 如果 Image 不是 PageContent 的直接子级,则引发。 此对象定义页面上的 Image 位置。 只读。 |
paragraph | 获取包含 Image 的 Paragraph 对象。 如果 Image 不是 Paragraph 的直接子级,则引发。 只读。 |
width | 获取或设置 Image 布局的宽度。 |
方法
get |
获取 Image 的 base64 编码的二进制表示形式。 示例:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA... |
load(options) | 将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
set(properties, options) | 同时设置对象的多个属性。 可以传递具有相应属性的纯对象,也可以传递同一类型的另一个 API 对象。 |
set(properties) | 基于现有的已加载对象,同时对对象设置多个属性。 |
toJSON() | 重写 JavaScript |
track() | 根据文档中的相应更改来跟踪对象,以便进行自动调整。 此调用是 的 |
untrack() | 释放与此对象关联的内存(如果先前已跟踪过)。 此调用是 的 |
属性详细信息
context
description
height
hyperlink
id
ocrData
获取由此 Image 的 OCR(光学字符识别)获取的数据,如 OCR 文本和语言。
readonly ocrData: OneNote.ImageOcrData;
属性值
注解
示例
let image = null;
await OneNote.run(async (context) => {
// Get the current outline.
const outline = context.application.getActiveOutline();
// Queue a command to load paragraphs and their types.
outline.load("paragraphs")
await context.sync();
for (let i=0; i < outline.paragraphs.items.length; i++) {
const paragraph = outline.paragraphs.items[i];
if (paragraph.type == "Image")
{
image = paragraph.image;
}
}
if (image != null) {
image.load("ocrData");
}
await context.sync();
// Log ocrText and ocrLanguageId.
console.log(image.ocrData.ocrText);
console.log(image.ocrData.ocrLanguageId);
});
pageContent
获取包含 Image 的 PageContent 对象。 如果 Image 不是 PageContent 的直接子级,则引发。 此对象定义页面上的 Image 位置。 只读。
readonly pageContent: OneNote.PageContent;
属性值
注解
paragraph
获取包含 Image 的 Paragraph 对象。 如果 Image 不是 Paragraph 的直接子级,则引发。 只读。
readonly paragraph: OneNote.Paragraph;
属性值
注解
width
方法详细信息
getBase64Image()
获取 Image 的 base64 编码的二进制表示形式。 示例:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA...
getBase64Image(): OfficeExtension.ClientResult<string>;
返回
OfficeExtension.ClientResult<string>
注解
示例
let image = null;
let imageString;
await OneNote.run(async (context) => {
// Get the current outline.
const outline = context.application.getActiveOutline();
// Queue a command to load paragraphs and their types.
outline.load("paragraphs/type")
await context.sync();
for (let i=0; i < outline.paragraphs.items.length; i++) {
const paragraph = outline.paragraphs.items[i];
if (paragraph.type == "Image")
{
image = paragraph.image;
}
}
if (image != null) {
imageString = image.getBase64Image();
await context.sync();
}
console.log(imageString);
});
load(options)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()
。
load(options?: OneNote.Interfaces.ImageLoadOptions): OneNote.Image;
参数
提供要加载对象的属性的选项。
返回
load(propertyNames)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()
。
load(propertyNames?: string | string[]): OneNote.Image;
参数
- propertyNames
-
string | string[]
逗号分隔的字符串或指定要加载的属性的字符串数组。
返回
示例
await OneNote.run(async (context) => {
// Get the current outline.
const outline = context.application.getActiveOutline();
let image = null;
// Queue a command to load paragraphs and their types.
outline.load("paragraphs/type")
await context.sync();
for (let i=0; i < outline.paragraphs.items.length; i++) {
const paragraph = outline.paragraphs.items[i];
if (paragraph.type == "Image")
{
image = paragraph.image;
}
}
if (image != null) {
// Load all properties and relationships.
image.load(["id", "width", "height", "description", "hyperlink"]);
await context.sync();
}
if (image != null) {
console.log("image " + image.id + " width is " + image.width + " height is " + image.height);
console.log("description: " + image.description);
console.log("hyperlink: " + image.hyperlink);
}
});
load(propertyNamesAndPaths)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()
。
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): OneNote.Image;
参数
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select
是一个逗号分隔的字符串,指定要加载的属性,是 propertyNamesAndPaths.expand
一个逗号分隔的字符串,指定要加载的导航属性。
返回
set(properties, options)
同时设置对象的多个属性。 可以传递具有相应属性的纯对象,也可以传递同一类型的另一个 API 对象。
set(properties: Interfaces.ImageUpdateData, options?: OfficeExtension.UpdateOptions): void;
参数
- properties
- OneNote.Interfaces.ImageUpdateData
一个 JavaScript 对象,其属性按同构方式构造为调用方法的对象的属性。
- options
- OfficeExtension.UpdateOptions
提供一个选项,用于在 properties 对象尝试设置任何只读属性时禁止显示错误。
返回
void
set(properties)
toJSON()
重写 JavaScript toJSON()
方法,以便在将 API 对象传递给 JSON.stringify()
时提供更有用的输出。 JSON.stringify
(,反过来,调用toJSON
传递给它的 对象的 方法。) 虽然原始 OneNote.Image 对象是 API 对象,但toJSON
该方法返回一个纯 JavaScript 对象, (类型为 OneNote.Interfaces.ImageData
) ,其中包含从原始对象加载的任何子属性的浅表副本。
toJSON(): OneNote.Interfaces.ImageData;
返回
track()
根据文档中的相应更改来跟踪对象,以便进行自动调整。 此调用是 的 context.trackedObjects.add(thisObject)
简写。 如果跨 .sync
调用和在“.run”批处理的顺序执行之外使用此对象,并在对对象设置属性或调用方法时收到“InvalidObjectPath”错误,则需要在首次创建对象时将对象添加到跟踪的对象集合。
track(): OneNote.Image;
返回
untrack()
释放与此对象关联的内存(如果先前已跟踪过)。 此调用是 的 context.trackedObjects.remove(thisObject)
简写。 拥有许多跟踪对象会降低主机应用程序的速度,因此请在使用完毕后释放所添加的任何对象。 在内存释放生效之前,需要调用 。context.sync()
untrack(): OneNote.Image;