我真诚地请求您的耐心和理解。
以下代码的工作原理是提供一个方框和一个按钮。
该框包含一个网址,按钮只显示转换。
如果单击转换按钮,则会打开网址的内容并将其转换为pdf。
这很有效。
不幸的是,他们希望将其翻译为Web服务,以便其他应用程序可以通过提供2个输入参数,URL和文档名称来使用它来执行类似的任务。
我已经看过几个创建和使用Web服务的例子,虽然它们看起来相当简单,但编写代码的方式使得它很难翻译。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EO.Pdf;
public partial class HtmlToPdf : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnConvert_Click(object sender, EventArgs e)
{
//Create a PdfDocument object and convert
//the Url into the PdfDocument object
PdfDocument doc = new PdfDocument();
HtmlToPdf.ConvertUrl(txtUrl.Text, doc);
//Setup HttpResponse headers
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.ClearHeaders();
response.ContentType = "application/pdf";
//Send the PdfDocument to the client
doc.Save(response.OutputStream);
Response.End();
}
}
如果你能够提供帮助,我真的很感激。
答案 0 :(得分:1)
最基本的网络服务形式是使用HTTP handler:
public class HtmlToPdfHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string url = context.Request["url"];
string documentName = context.Request["name"];
PdfDocument doc = new PdfDocument();
HtmlToPdf.ConvertUrl(url, doc);
context.Response.ContentType = "application/pdf";
doc.Save(context.Response.OutputStream);
}
public bool IsReusable
{
get { return false; }
}
}
然后:http://example.com/HtmlToPdfHandler.ashx?url=someurl&name=some_doc_name