配合Web服务使用


以前要生成PDF文档发送给客户端,需要向通过Excel报表、Word报表或专业报表生成报表,然后另存或转换为PDF格式,效率很低,而且兼容性极差。

现在PDFCreator生成的PDF文档,无需保存为文件,可以直接发送到客户端,效率是原来的千百倍,而且不再有任何兼容性问题。

HttpRequest事件为此专门增加了一个WritePDFCreator方法,其语法为:

WritePDFCreator(Creator, FileName, Inline)

Creator 要发送的PDFCreator
FileName 客户端浏览器下载此文件时使用的文件名
InLine 可选参数,逻辑型,是否直接在浏览器显示PDF文件,默认为True,设为False将直接下载。

示例

将HttpRequest事件代码设置为:

Dim pdc As New PDFCreator()
Dim
rect As RectangleF = pdc.PageRectangle()
rect.Inflate( - 72, - 72)
'
Dim
fnt As New Font("微软雅黑", 12)
pdc.DrawString(
"Hello Foxtable!", fnt, Brushes.Black, rect)
e.WritePDFCreator(pdc,
"test.pdf")

现在客户端访问网页,可以瞬间得到一个名为"test.pdf"的PDF文件。

你也可以转换成网页格式再发送给客户端,参考代码:

Dim
pdc As New PDFCreator()
Dim
rect As RectangleF = pdc.PageRectangle()
rect.Inflate( - 72, - 72)
'
Dim
fnt As New Font("微软雅黑", 12)
pdc.DrawString(
"Hello Foxtable!", fnt, Brushes.Black, rect)
Dim
tmpPath As String = ProjectPath & "HttpTempFiles\"
If
FileSys.FileExists(tmpPath) = False Then
    FileSys.CreateDirectory(tmpPath)

End
If
Dim
tempFile As String = tmpPath & Rand.NextString(10) & ".html"
pdc.SaveToHtmL(tempFile)

e.WriteFile(tempFile)

提示;

1、所有浏览器都支持直接显示PDF文件,所以一般没有必要转成HTML再发送。

2、临时文件建议放在HttpTempFiles子目录中,方便系统自动清理。


本页地址:http://www.foxtable.com/webhelp/topics/6118.htm