Cum se face un buton de imprimare în formularul infopath? (Sharepoint, Dezvoltare, Javascript, Infopath, Visual Studio 2012, Visual Studio 2013)

Nderon Hyseni a intrebat.

În formularul infoPath am un buton a cărui datorie este de a imprima documentul curent,am încercat aceasta thisXdocument.PrintOut(); dar apare următoarea eroare „Numele „acestXdocument” nu există în contextul curent”.

Este cineva care mă poate ajuta?

3 răspunsuri
ThinkB4Code

Dacă puteți folosi Javascript, există o soluție de rezolvare. Puteți scoate partea de înfășurare a conținutului și puteți crea o fereastră nouă (sau folosi aceeași fereastră) și apela funcționalitatea de imprimare a ferestrei.

În continuare este codul pe care îl puteți utiliza (pe aceeași fereastră)

<script
    src="https://code.jquery.com/jquery-3.2.1.min.js"
    integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
    crossorigin="anonymous"></script>
<script>
    function printDocument(wrapperId){
        var printContent = $(wrapperId).html();
        var orgContent = $('body').html();

        // Put print content in body, so we can take window print advantage.
        $('body').html(printContent);
        window.print();
        // Put original content back in body so after print, the page look as it was before.
        $('body').html(orgContent);
    }
</script>

<input type='button' onclick="printDocument('#printSection')" value="Print" />

Trebuie doar să înlocuiți elementul #printSection cu ID-ul de înfășurare al secțiunii de imprimare.

Pravin

Puteți urma acești pași pentru asta,

1) Lipiți „XDocument.PrintOut()” sub codul butonului Print pe care l-ați plasat. 2) Acordați încredere deplină formularului dvs. și semnați-l. 3) Acum, publicați formularul fie în sharepoint, fie în directorul local. 4) Deschideți formularul publicat și faceți clic pe acel buton Print . 5) Se va afișa o fereastră de dialog care vă va cere să salvați acel fișier cu extensia „mdi”. 6) Faceți clic pe save și veți vedea previzualizarea imprimării acelui formular. 7) Acum puteți face tot ce doriți în ceea ce privește imprimarea.

Comentarii

  • se afișează următoarea eroare: Numele „thisXdocument” nu există în contextul curent.!!! ce trebuie să fac? –  > Por Nderon Hyseni.
  • Folosiți XDocument.PrintOut() în loc de thisXdocument.PrintOut(). –  > Por Pravin.
  • Am adăugat această referință /using System.Linq; dar .PrintOut() nu este valid, ce referință ar trebui să adaug? –  > Por Nderon Hyseni.
  • Încercați și această opțiune–> Pentru a adăuga butonul Print în formular, puteți adăuga o parte web a editorului de conținut pentru a imprima pagina. Editați sursa HTML pentru partea web a editorului de conținut pentru a adăuga butonul de imprimare: <input type=”button” value=” Print this page „onclick=”window.print();return false;” />. –  > Por Pravin.
  • mulțumesc, dar trebuie să o fac doar prin intermediul unui buton în formularul infopath, dar mulțumesc oricum –  > Por Nderon Hyseni.
Etienne Samii

Nu puteți utiliza XDocument în InfoPath 2010 sau ulterior. În schimb, puteți utilizathis.Print() metoda. Aceasta va imprima pagina curentă direct la imprimanta implicită (din păcate, nu va apărea niciun dialog).