【发布时间】:2018-10-22 12:26:51
【问题描述】:
我有一个 AF,我通过一个网站向其传递一个参数,该函数创建一个带有将 html 转换为图像的 blob。究竟如何使用 wkhtmltopdf 执行此操作,因为我知道一些 .exe 需要上传到我的 Azure Function 附近的某个地方,但并不完全理解整个过程。我从网站下载了 wkhtmltopdf 安装程序,然后将其安装在我的 Windows 机器上。我需要在 Azure 上做什么?有教程或课程吗?
我正在使用这个:https://github.com/mrdaghestani/HtmlPI 但不明白这部分:
首先你必须在应用服务器(你的开发系统或客户的系统)上安装 wkhtmltopdf
如何在 Azure 上安装它,以便我的 Azure Function 在那里工作?
[FunctionName("htmlToImage")]
public static async Task<HttpResponseMessage>
Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route =
null)]HttpRequest req, TraceWriter log)
{
string url = req.Query["url"];
byte[] EncodedData = Convert.FromBase64String(url);
string DecodedURL = Encoding.UTF8.GetString(EncodedData);
string requestBody = new StreamReader(req.Body).ReadToEnd();
dynamic data = JsonConvert.DeserializeObject(requestBody);
DecodedURL = DecodedURL ?? data?.name;
HtmlConverter htmlConverter = new HtmlConverter();
var filePath = htmlConverter.Convert(new GenerateSettings { Url = DecodedURL, OutputType = OutputType.Image });
//string BlobName = "myblob1";
//string ImageURL = await CreateBlob($"{BlobName}.png", (byte[])..., log);
var Result = new HttpResponseMessage(HttpStatusCode.OK);
//
// JSON
//
var oJSON = new { url = ImageURL, hash = BlobName };
var jsonToReturn = JsonConvert.SerializeObject(oJSON);
Result.Content = new StringContent(jsonToReturn);
Result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
return Result;
}
【问题讨论】:
-
也许您可以关注类似的内容。 azure.microsoft.com/en-us/resources/samples/…
-
我现在正在尝试做类似的事情,你有没有解决过你的问题?
标签: .net azure azure-functions wkhtmltopdf html-to-pdf