彩票走势图

logo Aspose中文文档
文档彩票走势图>>Aspose中文文档>>在 Azure 函数中使用 Aspose.Words 转换包含图像的文档

在 Azure 函数中使用 Aspose.Words 转换包含图像的文档


Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。

Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

Aspose.words 最新下载

在部署到 Azure 时,使用 Azure Functions 中的 Aspose.Words 将包含图像的文档转换为固定页面格式在部署到 Azure 时无法正常工作,因为图像未保留。但是,这种转换在本地计算机上正常工作。此问题背后的原因是 SkiaSharp 原生资产未正确发布。此问题在 Github 中报告给 Azure。

为了解决此问题,您可以在 .csproj 文件中添加以下部分,以便正确复制本机资产:

<Target Name="CopyRequiredNativeAssets" AfterTargets="_FunctionsPostPublish">
<ItemGroup>
<NativeAssetToCopy Include="$(PublishDir)runtimes\win-x86\native\libSkiaSharp.dll" />
</ItemGroup>
<Copy SourceFiles="@(NativeAssetToCopy)" DestinationFolder="$(PublishDir)bin" />
</Target>

以下示例演示如何在 Azure 函数中使用 Aspose.Words,并详细介绍如何添加上述代码。

先决条件
  • Active Azure 订阅。如果您没有免费帐户,请在开始之前创建一个免费帐户。
  • Visual Studio 2019 或 Visual Studio 2017 使用最新安装的 Azure Functions 工具来创建项目。
创建 Azure 函数应用程序

您需要使用 Visual Studio 创建 Azure Functions 应用程序。创建的应用程序已经有一个简单的“Hello World”函数代码。

 在此示例中,您将创建一个简单的“Hello World”文档,并将其作为 PDF 文件返回到用户的浏览器。要实现此目的,请执行以下操作

1、开始使用 Aspose.Words 创建函数,方法是添加对最新版本的 Aspose.Words 的 NuGet 引用。然后修改代码,如下所示:

using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Aspose.Words;
namespace AsposeWordsAzureTestApp
{
public static class CreateTestDocument
{
[FunctionName("CreateTestDocument")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");

// Create a simple document using DocumentBuilder.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Write some text in the document.
builder.Writeln("Hello Aspose.Words!");

// Write OS we are running on.
builder.Writeln("You are running on " + System.Environment.OSVersion.VersionString);

// Insert some image into the document.
builder.InsertImage(@"//cms.admin.containerize.com/templates/aspose/App_Themes/V3/images/aspose-logo.png");
// Now save the created document to PDF and return as a FileContentResult.
using (MemoryStream ms = new MemoryStream())
{
doc.Save(ms, SaveFormat.Pdf);
return new FileContentResult(ms.ToArray(), "application/pdf")
{
FileDownloadName = "out.pdf"
};
}
}
}
}

2、在Visual Studio中运行代码以对其进行测试。结果将显示在控制台输出中。
在 azure-functions_1 中转换带有图像的文档使用-aspose-words-


3、将 URL 从控制台输出复制到您喜欢的浏览器以获取输出文档,该文档应如下所示:

converting-a-document-with-images-using-aspose-words-in-azure-functions_2

4、现在,如果将创建的函数部署到 Azure,则由于本文开头所述的问题,将不会呈现映像。输出如下所示:
converting-a-document-with-images-using-aspose-words-in-azure-functions_3

5、在记事本中打开 .csproj 文件,并向其添加以下部分:

<Target Name="CopyRequiredNativeAssets" AfterTargets="_FunctionsPostPublish"> <br> <ItemGroup> <br> <NativeAssetToCopy<br> Include="$(PublishDir)runtimes\win-x86\native\libSkiaSharp.dll" /> <br> </ItemGroup> <br> <Copy SourceFiles="@(NativeAssetToCopy)" <br> DestinationFolder="$(PublishDir)bin" /> <br> </Target>

6、再次发布项目,并验证图像现在是否存在于生成的输出中。

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP