将ajax与selectPDF一起使用

I have the following ajax call:

$.ajax({
    url: 'WebService.asmx/ConvertPDF',
    data: "{'section':'<html><head></head><body>Ajax html</body></html>'}",
    type: 'POST',
    contentType: 'application/json; charset=utf-8',
    dataType: 'JSON',
    async: false,
    success: function (response) {
        // proceed
    },
    error: function () {
        // fail code
    }
});

and the webservice

[WebMethod(EnableSession = true)]
public void ConvertPDF(string section) {
    HtmlToPdf convertor = new HtmlToPdf();
    string _html = "<html><head></head><body><p>this is a test</p></body></html";

    string size = "A4", orientation = "Portrait";
    PdfPageSize pdfSize = (PdfPageSize)Enum.Parse(typeof(PdfPageSize), size, true);
    PdfPageOrientation pdfOrientation = (PdfPageOrientation)Enum.Parse(typeof(PdfPageOrientation), orientation, true);
    convertor.Options.PdfPageSize = pdfSize;
    convertor.Options.PdfPageOrientation = pdfOrientation;
    convertor.Options.WebPageWidth = 1024;
    convertor.Options.MinPageLoadTime = 2;
    convertor.Options.WebPageHeight = 0;

    PdfDocument doc = convertor.ConvertHtmlString(_html, "");
    doc.Save(HttpContext.Current.Response, false, "Sample.pdf");
    doc.Close();
}

Running the service method natively it works fine but when I do it through the JS button to call the ajax, I get 'Thread was being aborted'.

Any ideas on how to get round it? Basically the button grabs html from sections on the page, and will (eventually) pass it to the method to output to PDF, essentially replacing the _html variable with what is in the section parameter.

Thanks

// Post method to convert Html to pdf using selectpdf

[HttpPost]
    public ActionResult ConvertDocument(MyDocumentDTO model)
    {

        HtmlToPdf converter = new HtmlToPdf();

        PdfDocument doc = converter.ConvertHtmlString(model.Context);
        // save pdf document
        byte[] pdf = doc.Save();

        string handle= Guid.NewGuid().ToString();
        TempData[handle] = pdf;
        return Json(handle, JsonRequestBehavior.AllowGet);

    }

Ajax call

        $.ajax({
            url: '/document/ConvertDocument',
            type: 'POST',
            contentType: 'application/json; charset=utf-8',
            data: ko.toJSON(document),
            success: function (data) {
                window.location = 'download?fileGuid=' + data;
            },

// Get request to download file

    [HttpGet]
    public ActionResult Download(string fileGuid)
    {
        byte[] pdf = TempData[fileGuid] as byte[];
        FileResult fileResult = new FileContentResult(pdf, "application/pdf");
        fileResult.FileDownloadName = "Document.pdf";
        return fileResult;
    }