開いているPowerPointドキュメントのすべてのテキストをアドインから抽出します。 WordでOfficeJS PowerPointドキュメントの各スライドからすべてのテキストを抽出する
、我々は次のようにします。
Word.run(context => {
var paragraphs = context.document.body.paragraphs;
context.load(paragraphs, 'text');
return context.sync().then(() => {
var items = paragraphs.items.;
// Do something with items
}
});
私たちは、PowerPointの文書のテキスト内にのみ興味を持っています。
PowerPoint用のAPIの具体的な使用方法については、あまり知られていません(thisはすべて見つかりました)。 This sample projectは、ドキュメントからデータを抽出するという点で私たちが望むものに近づいていますが、圧縮されたファイルを読み込んだり、ファイルチャンクからテキストを解析したりすることなく、それを行うことを望んでいました。
これに最も近づけるにはどうすればよいですか?
返信いただきありがとうございます!私はバイナリ圧縮XMLを文字列XMLに変換するのに苦労しており、そこからスライドの内容を解析できます。私はデータを取得するために次の方法を使用しています:https://dev.office.com/reference/add-ins/shared/document.getfileasync#example---get-a-document-in-office-open-xml -compressed-format最後にfileContent変数をロギングすると、まだバイト単位であり、それを解析してOOXMLに戻すことはできません。これは圧縮のためですか? – IronLionZion
'Compressed'を使ってファイルを返すように指示すると、実際にはOOXMLとその他のアセットを含む' .zip'ファイルである '.pptx'ファイルが送られます。生のコンテンツにアクセスする前に、ファイルを解凍する必要があります。 –
それは理にかなっています。再度、感謝します。また、これは新しいスレッドを作っていますが、これは古いスレッドの回答を更新すると便利です:アドインが実行されているホスト(Word、Excelなど)を調べるにはどうすればよいですかに?私はStackOverflow上の "新しいAPI"への多くの参照を参照していますが、リリース(そして関連するリンクされたGitHubページはもはや存在しません)から明らかな更新はありません。ドキュメントをスキャンすると、これはWord 2016を確認する適切な方法だと思われます。Office.context.requirements.isSetSupported( 'WordApi')間違っていると、それを確認したり、正しい方向に向けることができますか? – IronLionZion