Office.File interface
Représente le fichier du document associé à un complément Office.
Remarques
Accédez à l’objet File avec la propriété AsyncResult.value dans la fonction de rappel transmise à la méthode Document.getFileAsync.
Propriétés
size | Obtient la taille du fichier de document en octets. |
slice |
Obtient le nombre de sections du fichier divisé. |
Méthodes
close |
Ferme le fichier de document. |
get |
Retourne la section spécifiée. |
Détails de la propriété
size
Obtient la taille du fichier de document en octets.
size: number;
Valeur de propriété
number
sliceCount
Obtient le nombre de sections du fichier divisé.
sliceCount: number;
Valeur de propriété
number
Détails de la méthode
closeAsync(callback)
Ferme le fichier de document.
closeAsync(callback?: (result: AsyncResult<void>) => void): void;
Paramètres
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Fonction appelée lorsque le rappel est retourné, dont le seul paramètre est de type Office.AsyncResult.
Retours
void
Remarques
Ensemble de conditions requises : Fichier
Au maximum deux documents sont autorisés à se trouver en mémoire ; autrement, l’opération Document.getFileAsync échoue. Utilisez la méthode File.closeAsync pour fermer le fichier lorsque vous avez terminé de l’utiliser.
Dans la fonction de rappel passée à la méthode closeAsync, vous pouvez utiliser les propriétés de l’objet AsyncResult pour renvoyer les informations suivantes.
Propriété | Utilisation |
---|---|
AsyncResult.value | Retourne undefined toujours, car il n’y a pas d’objet ou de données à récupérer. |
AsyncResult.status | Déterminer si l’opération a réussi ou échoué. |
AsyncResult.error | Accéder à un objet Error fournissant des informations sur l’erreur en cas d’échec de l’opération. |
AsyncResult.asyncContext | Définissez un élément de tout type retourné dans l’objet AsyncResult sans être modifié. |
getSliceAsync(sliceIndex, callback)
Retourne la section spécifiée.
getSliceAsync(sliceIndex: number, callback?: (result: AsyncResult<Office.Slice>) => void): void;
Paramètres
- sliceIndex
-
number
Spécifie l’index de base zéro de la section à récupérer. Obligatoire.
- callback
-
(result: Office.AsyncResult<Office.Slice>) => void
Optional. Fonction appelée lorsque le rappel est retourné, dont le seul paramètre est de type Office.AsyncResult. La value
propriété du résultat est l’objet Office.Slice .
Retours
void
Remarques
Ensemble de conditions requises : Fichier
Dans la fonction de rappel passée à la méthode getSliceAsync, vous pouvez utiliser les propriétés de l’objet AsyncResult pour renvoyer les informations suivantes.
Propriété | Utilisation |
---|---|
AsyncResult.value | Accéder à l’objet Slice. |
AsyncResult.status | Déterminer si l’opération a réussi ou échoué. |
AsyncResult.error | Accéder à un objet Error fournissant des informations sur l’erreur en cas d’échec de l’opération. |
AsyncResult.asyncContext | Définissez un élément de tout type retourné dans l’objet AsyncResult sans être modifié. |
Exemples
// This sample shows how to get all the slices of a file.
// The asynchronous operation returns a Promise so it can be awaited.
private getAllSlices(file: any): Promise<any> {
const self = this;
let isError = false;
return new Promise(async (resolve, reject) => {
let documentFileData = [];
for (let sliceIndex = 0; (sliceIndex < file.sliceCount) && !isError; sliceIndex++) {
const sliceReadPromise = new Promise((sliceResolve, sliceReject) => {
file.getSliceAsync(sliceIndex, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
documentFileData = documentFileData.concat(asyncResult.value.data);
sliceResolve({
IsSuccess: true,
Data: documentFileData
});
} else {
file.closeAsync();
sliceReject({
IsSuccess: false,
ErrorMessage: `Error in reading the slice: ${sliceIndex} of the document`
});
}
});
});
await sliceReadPromise.catch((error) => {
isError = true;
});
}
if (isError || !documentFileData.length) {
reject('Error while reading document. Please try it again.');
return;
}
file.closeAsync();
resolve({
IsSuccess: true,
Data: documentFileData
});
});
}