PDF hostContainer-Rückruf

Folgenden diese Lösung SO hier clients Benachrichtigen ein click-Ereignis in einem PDF-Dokument, wie wird es möglich Benachrichtigen die Kunden, wenn die PDF-Datei wird vom client übermittelten mit dieser.myPDF.submitForm("localhost/Hf.ashx?r=2) - Funktion?

Die PDF-Datei innerhalb eines Benutzersteuerelements dann gerendert in ein HTML-Objekt:

string container = ("<object data='/myfile.pdf' type='application/pdf'></object>");

JS-Datei angehängt die PDF-Datei wird wie folgt vorgenommen:

 var webClient = new WebClient();
 string htmlContent = webClient.DownloadString(fileurl + "pdf_script.js");
 PdfAction action = PdfAction.JavaScript(htmlContnent, pdfstamper.Writer);
 pdfstamper.Writer.SetOpenAction(action);

Werden und der Inhalt der js-Datei:

this.disclosed = true;
if (this.external && this.hostContainer) {

function onMessageFunc(stringArray) {
     try {
          this.myPDF.submitForm("http://localhost/Handler.ashx?EmpNo=12345" + "#FDF", false);

        }
        catch (e) {

        }
    }
    function onErrorFunc(e) {
        console.show();
        console.println(e.toString());
    }
    try {
        if (!this.hostContainer.messageHandler);
        this.hostContainer.messageHandler = new Object();
        this.hostContainer.messageHandler.myPDF = this;
        this.hostContainer.messageHandler.onMessage = onMessageFunc;
        this.hostContainer.messageHandler.onError = onErrorFunc;
        this.hostContainer.messageHandler.onDisclose = function () { return true; };
    }
    catch (e) {
        onErrorFunc(e);
    }
}

Wenn die submitForm Aufruf der PDF-Inhalt (form-Felder), bekommen erfolgreich gespeichert, und eine Warnmeldung wird angezeigt, in der PDF-Datei durch dies zu tun:

message = "%FDF-1.2
                   1 0 obj
                   <<
                   /FDF
                   <<
                      /Status("Success!")
                   >>
                   >>
                   endobj
                   trailer
                   <</Root 1 0 R>>
           %%EOF");
return message;

Was ich versuche zu tun ist, um die PDF-callback-client, nachdem Sie die form Einreichen der Notruf gesendet von diesem client eine Möglichkeit, zu erkennen an den client, der das Formular abgesendet wurde, nicht in form von einer Warnung, sondern ein Weg, um die trigger-Funktion in den host (der container, ein iframe, object,...etc).

  • Ich bin fehlen einige Informationen zu diesem Schritt: "Wenn die submitForm Aufruf der PDF wird erstellt und eine Warnung wird angezeigt in der PDF-Datei durch dies zu tun:". Ich gehe davon aus, dass eine PDF erstellt wird, auf dem server und auf dem client angezeigt, aber vielleicht bin ich falsch. Vielleicht ist der server wieder eine FDF-Datei. Können Sie das klären?
  • Ooops, mein Fehler, die submitForm Aufruf erfolgt, können Sie den Inhalt der PDF nicht erstellen, es ist bereits erbracht, die in einem Benutzer-Steuerelement und eingebettet in ein <object> Entschuldigung, ich habe korrigiert die Frage und fügte hinzu, mehr details darüber, wie die PDF-Datei gerendert wird
  • Ich verstehe nicht, oben, wo Sie sagt, "wenn (!diese.hostContainer.messageHandler);" Warum funktioniert diese Zeile ein Semikolon am Ende? Ist das ein Fehler? wenn nicht, was ist der Sinn dieser Zeile? vielen Dank!
InformationsquelleAutor Maya | 2012-12-12
Schreibe einen Kommentar