2017-04-27 6 views
1

SharePointからWordファイルを読み込み、Word 2017(オンラインではなくOffice 365 Wordローカルクライアント)に挿入するスクリプトが正常に実行されています 現在のスクリプトアヤックスを使用してファイルをバックアップし、base64でファイルを抽出し、Office 2013オフィスAPIを使用してbase64 Wordファイルを挿入することは可能です

body.insertFileFromBase64(myBase64, end)

を使用しています私は今のWord 2013(すなわちOffice.jsの代わりに、WordのJavaScriptのAPIを使用)をサポートするための機能を拡張する必要があります。だから、コードは、私が

Office.context.document.setSelectedDataAsync(myBase64, {coercionType: Office.CoercionType.Ooxml}, function (

のバリアントを使用できるように期待し

Office.context.document.setSelectedDataAsync(file, someCoercionType)

に変更されました。しかし、私は指定されたデータオブジェクトのフォーマットが無効である」バックエラーが出ます"これは、Office APIがbase64ファイルをイメージとみなすのに十分なほど正しいものです。

JavaScriptでBase64ファイルをXMLに変換することはできますか?(他の場所で自分のコードで私はDOCXと抽出ブックマークを解凍し、だけdocument.xmlからすべての書式や画像、フッタなどを欠いている)

答えて

0

Base64は、単にバイナリ符号化とその下にあるコンテンツタイプの穏やか知りません。したがって、ソースコンテンツがOOXMLの場合、それをデコードするとそのOOXMLが返されます。あなたができないのは型変換です。たとえば、Base64でエンコードされたJPEGはBMPに直接デコードできません。これを行うには、最初にデコードして、他のツールを使用してJPEGからBMPに変換する必要があります。

既存のドキュメントのコンテンツを操作または抽出する場合は、Aspose.Wordsを参照してください。 Asposeは、プログラムでWord文書を扱うためのツールを提供しています(他の種類のファイルにも同様のツールがあります)。これを使用すると、探しているOOXMLを抽出できるので、Office.jsを使用してWordに挿入できます。

Base64でエンコードされたコンテンツを受け入れる唯一の強制型は、Office.CoercionType.Imageです。

関連する問題