2017-04-27 4 views
1

Ich habe ein erfolgreich ausgeführtes Skript, Word-Dateien aus SharePoint lädt und fügt sie in Word 2017 (Office 365 Word lokalen Client, nicht online) Die aktuellen Skripts liest Sie die Dateien mit Ajax und extrahiert die base64-Datei und verwendetIst es möglich, eine Base64-Word-Datei mit Office 2013 Office-API einfügen

body.insertFileFromBase64(myBase64, end)

ich muss jetzt die Funktionalität erweitern Word-2013 (dh verwenden Sie das Office.js anstelle des Wortes JavaScript api) zu unterstützen. So wird der Code geändert

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

ich eine Variante der Lage sein, hoffte

zu verwenden

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

Aber ich erhalte eine Fehlermeldung zurück „Das Format des angegebenen Datenobjekts ist ungültig ", das ist korrekt genug, da die Office-API eine Base64-Datei als ein Bild annimmt.

Ist es möglich, die Base64-Datei in JavaScript in XML zu konvertieren? (anderswo in meinem Code entzippe ich die docx und extrahieren Lesezeichen, aber nur aus document.xml, die alle Formatierung und Bilder, Fußzeilen usw. fehlt)

Antwort

0

Base64Base64 ist einfach eine binäre Codierung und glücklicherweise nicht bewusst den zugrunde liegenden Inhaltstyp. Wenn Sie also OOXML als Quellinhalt haben, würde Ihnen die Dekodierung dieses OOXML zurückgeben. Was Sie nicht tun können, ist die Konvertierung. Zum Beispiel kann ein Base64-kodiertes JPEG nicht direkt zu einem BMP dekodiert werden. Dazu müssten Sie zuerst dekodieren und dann mit einem anderen Tool von JPEG zu BMP konvertieren.

Wenn Sie Inhalte eines vorhandenen Dokuments bearbeiten oder extrahieren möchten, sollten Sie sich die Datei Aspose.Words ansehen. Aspose stellt Tools zur Verfügung, mit denen Sie programmatisch mit Word-Dokumenten arbeiten können (sie haben ähnliche Tools für eine Vielzahl weiterer Dateitypen). Dadurch können Sie möglicherweise die gesuchte OOXML extrahieren, und Sie können sie dann unter Verwendung von Office.js in Word einfügen.

Der einzige Koerziationstyp, der Base64-codierte Inhalte akzeptiert, ist derzeit Office.CoercionType.Image.

Verwandte Themen