PDFドキュメントのクリックイベントをクライアントに通知するこのSOソリューションに従って、this.myPDF.submitForm( "localhost / Handler.ashx?r = 2を使用してPDFがクライアントによって送信されたときにクライアントに通知するにはどうすればよいですか? ) 働き?
PDFファイルはユーザーコントロール内に作成され、HTMLオブジェクトにレンダリングされます。
string container = ("<object data='/myfile.pdf' type='application/pdf'></object>");
PDFに添付されたJSファイルは次のように実行されます。
var webClient = new WebClient();
string htmlContent = webClient.DownloadString(fileurl + "pdf_script.js");
PdfAction action = PdfAction.JavaScript(htmlContnent, pdfstamper.Writer);
pdfstamper.Writer.SetOpenAction(action);
そして、jsファイルの内容:
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);
}
}
submitForm呼び出しが行われると、PDFコンテンツ(フォームフィールド)が正常に保存され、次のようにしてアラートがPDFに表示されます。
message = "%FDF-1.2
1 0 obj
<<
/FDF
<<
/Status("Success!")
>>
>>
endobj
trailer
<</Root 1 0 R>>
%%EOF");
return message;
私がやろうとしているのは、このクライアントから送信されたフォーム送信呼び出しの後にPDFをクライアントにコールバックさせることです。これは、アラートの形式ではなく、フォームが送信されたことをクライアントに確認する方法です。ホスト(コンテナ、iframe、オブジェクトなど)で関数をトリガーする方法。