我正在尝试将pdf表单提交到mvc asp.net Web应用程序。
this.submitForm({
cURL : this.getField('submitTo').value.toString(),
cSubmitAs :"FDF",
oJavaScript : { Before : 'app.alert("Before")',
After : 'app.alert("After")'}
});
此代码处理请求:
[HttpPost]
public void SubmitPdf()
{
var fdfReader = new FdfReader(Request.InputStream);
var fdfWriter = new FdfWriter();
fdfWriter.SetFields(fdfReader);
fdfReader.Close();
fdfWriter.SetFieldAsString("TextArea", DateTime.Now.ToLongTimeString());
byte[] fdfbuffer;
using (var mstream = new MemoryStream())
{
fdfWriter.WriteTo(mstream);
fdfbuffer = mstream.ToArray();
}
Response.ContentType = "application/vnd.fdf";
Response.AddHeader("Content-disposition", "inline;");
var fdf = Encoding.Default.GetString(fdfbuffer);
Response.Write(fdf);
}
一切正常,请求得到处理,FDF响应返回PDF阅读器。 在PDF阅读器中,我可以在' TextArea'中看到更新的值。文本框;
但是由于某种原因,我没有看到“之前'和'之后'消息。
我在向客户端发送响应之前检查了fdf变量中的值。 没有任何与After和Before脚本相关的内容。我相信,它应该有类似的东西(我在Request.InputStream中有这个文本):
2 0 obj << /After(app.alert\("After"\))/Before(app.alert\("Before"\))>> endobj
我的问题:如何使用iTextSharp(v.5.5.4)将After和Before脚本插入FDF响应?
我发现了类似的问题,但它没有答案: Loading external data from inside PDF 感谢。