讨饭天涯

欢迎参观讨饭猫的垃圾桶
随笔 - 27, 评论 - 270, 引用 - 84

导航

工具

每月存档

广告



访客

 

ONLINE 打印固定格式的报表,例如政府、银行、保险等用的专用表格,最好的方法应该是后台产生PDF,然后发送到流览器中打印。

1 报表的PDF文件,最好能够向相应部门索取。我不知道国内如何,米国一般都提供DOWNLOAD。

2 后台PDF生成,需要专用的API,大多数好的API都不是 FREE 的。目前使用比较广泛的是 ASPOSE 和 ABCPDF,都是完全商业化的软件,完美支持包括.net在内的各种环境,技术支持和文档资料都做得很好。当然也有一些开源的

3 用这段程序把所有 FIELD 的名字打印出来

private void PDFFields() { Doc theDoc = new Doc(); theDoc.Read("D:/share/c4.pdf"); foreach (Field theField in theDoc.Form.Fields) { theField.Value = theField.Name; } theDoc.Save("D:/share/c4fields.pdf"); }

打印一份放在手边吧。

4 然后你的程序就可以把数据写进去,把PDF直接发送到IE窗口中,不用生成临时文件,也不用REDIRECT。ACROBAT READER 插件可以让用户象本地文件一样地操作PDF。

private bool createPDF() { try { Doc theDoc = new Doc(); theDoc.Read(Server.MapPath("/eClinic/ec/images/c4.pdf")); theDoc.Form["10"].Value="hahaha"; byte[] theData = theDoc.GetData(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "filename=C4Print"+billingID+".pdf"); Response.AddHeader("content-length", theData.Length.ToString()); Response.BinaryWrite(theData); Response.Flush(); Response.Close(); Response.End(); return true; } catch(System.Web.HttpException ehttp) { showText.Text="Create PDF fail: "+ehttp.Message+"\r\nFull message:\r\n"+ehttp.ToString(); return false; } }

随贴广告(测试期)
相关文章

打印 | 张贴于 2005-10-12 22:39:00 | Tag:暂无标签

留言反馈

re: 在后台产生的PDF直接发送到IE 编辑
en
2006-10-09 00:13:00 | [匿名用户:影视制作,宣传片制作,影视广告制作]
re: 在后台产生的PDF直接发送到IE 编辑
您使用是什么Api?
2006-06-03 12:46:00 | [匿名用户:武眉博<活靶子.Net>]
博客主人设置本博客不允许匿名用户发表言论,请登录后再试

Powered by: Joycode MVC Blogger System