0

我真诚地请求您的耐心和理解。

下面的代码通过提供一个框和一个按钮来工作。

该框包含一个 url,按钮简单地说,转换。

如果单击转换按钮,它将打开 url 的内容并将其转换为 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();
    }
}

如果您能提供帮助,我真的很感激。

4

1 回答 1

1

Web 服务的最基本形式是使用HTTP 处理程序

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

对于更高级的服务,您可以查看WCF或即将推出的Web API.

于 2012-07-12T21:02:14.367 回答