webservice使用asp.net返回pdf

时间:2009-11-05 08:29:56

标签: c# asp.net web-services

我有一个html to pdf转换工具,它位于我们的服务器上,我可以使用带有查询字符串的网址进行访问。 像myurl.com/createpdf.aspx?page=http://www.somesite.com之类的东西。 然后,该工具将转换网页并将其显示为pdf。

我想将此功能作为Web服务提供,以便我们的客户可以以编程方式访问此功能。 理想的情况是,我们的客户发送他们想要转换的网站,然后网络服务返回pdf。

那会有意义吗? 实现这个的最佳方法是什么?

欢呼声,

特里

2 个答案:

答案 0 :(得分:3)

使用文件IO读取PDF并让您的webmethod将其作为byte []数组返回。例如:

byte[] filebytes = null;
using (FileStream fs = File.OpenRead(fileName))
{
  filebytes = new byte[fs.Length];
  fs.Read(filebytes, (int)0, (int)fs.Length);
}
return filebytes;

它将进行Base64编码,然后您就可以在客户端上保存并查看该文件。

答案 1 :(得分:1)

您还可以编写一个http处理程序,它返回具有相应mime类型的pdf。这样您就不会拥有aspx页面的所有处理开销。