PDF Form檔寫完後,當使用者按下按鈕,可以跳出列印,並跳出資訊,希望能將聯絡資訊回傳予我們
參考頁面→
http://www.pdfill.com/pdf_action.html#4
Acrobat JavaScript Scripting Guide: http://www.pdfill.com/download/Acro6JSGuide.pdfAcrobat JavaScript Scripting Reference: http://www.pdfill.com/download/AcroJS.pdf
總之,先下載→
http://www.adobe.com/tw/downloads/
Acrobat® X Pro
然後再用此檔案開啟PDF檔,目前先將PDF javascript語法留在此
//列印的語法
this.print(true);
//詢問的語法
var nButton = app.alert({
cMsg: "是否提供您的姓名及電話做為通知使用?",
cTitle: "詢問",
nIcon: 2, nType: 2
});
★1跟★2代表的是不同的兩種方法
★1//當確認的話,直接使用連結,並將值傳回給Server(GET Method)
if (nButton == 4) {
var namevalue = this.getField("name").value; //將name control的值代入
app.alert(namevalue);
var url1 = "http:/localhost//Handler1.ashx?name=" + namevalue;
app.launchURL(url1 , true);
}
★2//當確認的話,SubmitForm,並將值傳回給Server(Post Method)
if (nButton == 4) {
var afields = new Array("name"); //將name control的值代入,這裡可以是陣列
try
{
var url1 = "http:/localhost//Handler1.ashx";
this.submitForm({
aFields:afields,
cURL: url1,
cSubmitAs: "HTML",
cCharset:"utf-8"}) ;
}
catch(e)
{
app.alert(e + "因為某些原因造成提供失敗!");
}
}
=======Handler1.ashx=========
<%@ WebHandler Language="C#" Class="Handler1 " %>
using System;
using System.Web;
public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string name = context.Request.Form["name"]; →POST 取得value
name = context.Request.QueryString["name"]; →Get 取得value
//do something
context.Response.Redirect("close.htm");
}
public bool IsReusable
{
get
{
return false;
}
}
}
===============close.htm===================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
window.opener = null; window.open("", "_self"); window.close();
</script>
</body>
</html>
*window.opener = null; window.open("", "_self"); window.close();將會不詢問而直接關掉
☆若使用者使用非browser開啟PDF,會有以下反應
→SubmitForm會將html下載到本機的Temp資料夾
→launchURL則只是會再開啟browser另開頁面,但因為傳完資訊會進行關閉的動作
☆若使用者使用broser開啟PDF,會有以下反應
→SubmitForm會將html轉址,最後再到close.html關掉整個頁面
→launchURL則只是會再開啟browser另開頁面,但因為傳完資訊會進行關閉的動作
後續將會持續再找最好的方法/_\