Domanda

Ho una raccolta di siti editrice utilizzando il modello Wiki Enterprise.Attualmente se ho un documento Word che contiene testo e immagini, e copo tutto il contenuto del documento Word, dopo di che incolla il contenuto all'interno del ricco editor di testo, solo il testo verrà copiato (senza le immagini).

Quindi la mia domanda se c'è un modo per permettere incollare le immagini all'interno del ricco text Editor?

Grazie

È stato utile?

Soluzione

Non è possibile incollare le immagini direttamente nelle pagine di SharePoint, le immagini non possono essere rese come HTML, quindi non può essere incollato.

È necessario caricare le immagini in SharePoint, quindi inserirlo sulle pagine / luoghi desiderati.

o puoi provare lo strumento 3 ° partito per questo.

http://www.kwizcom.com/sharepoint-Add-ons / SharePoint-Appunti-Manager / Panoramica /

o

http://www.telerik.com/products/aspnet-ajax/Editor.aspx

Altri suggerimenti

È possibile sfruttare la capacità dei browser di incollare le immagini codificate Base64 in contenuto modificabile. Ma dall'editor di SharePoint Strips Base64 immagini è possibile utilizzare un trucco sporco per memorizzare il contenuto dell'immagine in segnaposto nascosti che non vengono spogliati e poi rendono le immagini da questi segnaposto a pagina Carico.

Ci sono pro (fa il lavoro, è facile da usare - semplicemente aggiungere lo script al tuo sito) e contro (grandi immagini in linea, incollando le immagini uno per uno, ulteriori eventi JS, ecc.) Di questa soluzione. .

Quindi prova con questo JavaScript (inserirlo come incorporato, in Pagina Master, ecc.) E dovrebbe solo lavorare (testato in SharePoint 2013 Enterprise Wiki, ma dovrebbe funzionare con qualsiasi modulo di modifica del contenuto di SharePoint con alcuni tweak di codice). Si noti che è necessario impostare prima il tuo ID del tuo editor.

    <script type='text/javascript'>

    //set your editable content (editor) client id here:
    var editorClientId = "ctl00_PlaceHolderMain_PageContent_RichHtmlField_displayContent"

    _spBodyOnLoadFunctionNames.push("renderImages()");

    function getImagesByAlt(alt) {
        var allImages = document.getElementsByTagName("img");
        var images = [];
        for (var i = 0, max = allImages.length; i < max; ++i)
            if (allImages[i].alt == alt)
                images.push(allImages[i]);
        return images;
    }
    //if page is in edit mode, delay for other scripts to finish first
    function renderImages() {
        if (window.location.href.indexOf("ControlMode=Edit") > -1)
            setTimeout(function () { renderImagesStart(); }, 1500);
        else
            renderImagesStart();
    }
    //apply data-imgrefs attribute to stripped image contents
    function renderImagesStart() {
        var allSpans = document.getElementsByClassName("imgrefs");
        for (var i = 0, max = allSpans.length; i < max; i++) {
            var img = getImagesByAlt(allSpans[i].title)[0];
            if (img != null)
                img.src = "data:image/gif;base64," + allSpans[i].getAttribute("data-imgref");
        }
    }
    //chrome paste handler
    var IMAGE_MIME_REGEX = /^image\/(p?jpeg|gif|png)$/i;
    var loadImage = function (file) {
        var reader = new FileReader();
        reader.onload = function (e) {
            var img = document.createElement('img');
            img.src = e.target.result;

            var range = window.getSelection().getRangeAt(0);
            range.deleteContents();
            range.insertNode(img);
        };
        reader.readAsDataURL(file);
    };
    document.onpaste = function (e) {
        var items = e.clipboardData.items;
        for (var i = 0; i < items.length; i++) {
            if (IMAGE_MIME_REGEX.test(items[i].type)) {
                loadImage(items[i].getAsFile());
                return;
            }
        }
    }
    //if page is in edit mode apply onblur (leave editor) event to hide images base64 content to spans
    //class name, data- and alt attributes are used because sharepoint doesn't strip them
    if (window.location.href.indexOf("ControlMode=Edit") > -1)
        document.getElementById(editorClientId).onblur = function () {
            var editor = document.getElementById(editorClientId);
            var childNodes = editor.childNodes;
            //remove spans
            for (var i = childNodes.length - 1; i >= 0; i--) {
                var childNode = childNodes[i];
                if (childNode.className == 'imgrefs')
                    childNode.parentNode.removeChild(childNode);
            }
            var imgs = editor.getElementsByTagName("img");
            var id = 0;
            //for each base64 image: hide its content to span data-imgref attribute and append span to editor
            for (var i = 0, max = imgs.length; i < max; i++) {
                var img = imgs[i];
                if (img.src.indexOf("data:image") > -1) {
                    id += 1;
                    img.alt = id & 0xffff;
                    img.alt = 'img' + img.alt;
                    var src = img.src.replace('data:image/gif;base64,', '').replace('data:image/png;base64,', '').replace('data:image/jpg;base64,', '');
                    var span = document.createElement("span");
                    span.className = "imgrefs";
                    span.title = img.alt;
                    span.setAttribute("data-imgref", src);
                    span.innerText = '';
                    editor.appendChild(span);
                }
            }
        }

</script>
.

Inoltre può essere aggiornato per memorizzare le immagini di base64 incollate come file sul server utilizzando il servizio Web di SharePoint copyintoitems direttamente in JavaScript (in pasta o qualche evento pre-salva) e quindi sostituire Base64 con il nome file dell'immagine sul server.

Ho trovato che potrei usare l'editor di elenchi di discussione per almeno inserire-> dal computer e utilizzare gli strumenti dell'editor per manipolare le immagini incorporate nel testo.Quindi puoi tagliare e incollare da lì nel normale elenco SharePoint Elemento I campi di testo ricchi.Non devi nemmeno salvare il post dell'elenco di discussione che hai usato per modificare, basta annullare il post dopo aver tagliato e incollato da esso.Se hai bisogno di una manipolazione dell'immagine più sofisticata (come ruotare un'immagine), se è possibile inviare un'e-mail all'elenco della scheda di discussione, puoi semplicemente utilizzare il tuo editor di e-mail di Outlook per comporre il testo e le immagini e inviarlo a quell'elenco della scheda di discussione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top