Creating Presentations in AWS Lambda Environment Does Not Work

@mudassir.fayyaz, thanks a lot for your help

Attached is the sample VS project. The source code is very simple:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

using Amazon.Lambda.Core;
using Aspose.Slides;
using Aspose.Slides.Export;

// Assembly attribute to enable the Lambda function’s JSON input to be converted into a .NET class.
[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))]

namespace AsposeSlides_AWSLambda_CSharp
{
public class Function
{

    public string FunctionHandler(string input, ILambdaContext context)
    {

        Presentation presentation = new Presentation();
        ISlide slide = presentation.Slides[0];
        presentation.Save("/tmp/NewPresentation_out.pptx", SaveFormat.Pptx);
        
        return "Done";
    }
}

}

I did not use a source presentation.
Thanks again for your support!

@maxpower7,

Thank you sharing the information. An issue with ID SLIDESNET-41073 has been created in our issue tracking system to further investigate and resolve the issue. This thread has been linked with the issue so that you may be notified once the issue will be fixed.

Thanks @mudassir.fayyaz

Please let me know, as soon as you know, if this is a issue that has to be fixed on your end or if it is just a configuration problem. I’d like to order the paid version of Aspose.Slides but this requirements is mandatory for me. If it`s a bug and takes some time, I’m probably have to choose another tool or the Java version of Aspose. However, I’d prefer to use the C# version of Aspose.Slides. Thank you

@maxpower7,

Sure, we will share good news with you soon.

Hi @Adnan.Ahmad , I just wanted to check if this has been fixed. Thanks

@simon.melcher,

Thank you for sharing the feedback.

@mudassir.fayyaz,

I did not give a feedback :slight_smile: I was just asking for the status of this issue.

Thank you

@simon.melcher,

I regret to share that at present the issue is still unresolved. We request for your patience till the time the issue gets resolved.

Hi @mudassir.fayyaz,

I’m also facing the same issue.what is status of the isssue.

@Harshavardhan_Reddy,

I have verified from our issue tracking system and regret to share that at present the issue is unresolved. We request for your patience till the time the issue gets resolved. We will share notification with you as soon as the issue will be fixed.

Facing the same issue, is there any solution for this.

@ankurkewl,

I have observed your comments. Actually, the concerned issue associated with this thread is unresolved. We request for your patience and will share the good news with you as soon as the issue will be fixed.

@maxpower7

Actually, Aspose.Slides depends internally on the GDI+ graphics library. Microsoft has released System.Drawing.Common NuGet package to provide cross-platform access for the GDI+ graphics functionality via declaring .NET Standard conformed API (essentially, GDI+ is a built-in library for Windows, but this is not always true for other Linux-based distributions). The System.Drawing.Common package (which referenced in the project), despite its cross-platform nature and the presence of additional .dll libraries in the project, have external dependencies, which are usually absent in Linux. Such dependencies must be installed separately.

Therefore, each AWS Lambda instance is a container created from Amazon Linux AMIs (see reference). Linux distribution related to RHEL, and to be able to use GDI+ functionality in the RHEL environment, the following packages must be installed:

glibc-devel, libgdiplus fnd libX11-devel

For creating AWS Lambda Layers you can reference this link. To create a package with additional native packages, please visit this link.

Please note that using Aspose.Slides in AWS Lambda Function may not be a very good idea, since AWS Lambda has limitations on the resources used. A better solution may be to use AWS Lambda in conjunction with ECS. Please see this web reference link (https://aws.amazon.com/blogs/compute/better-together-amazon-ecs-and-aws-lambda) for your convenience as well.

The issues you have found earlier (filed as SLIDESNET-41073) have been fixed in this update. This message was posted using Bugs notification tool.

Hi, I have tried a few layer configurations but without success. My company is in the process of purchasing the developer license - could we potentially ask you to provide a ready Lambda layer through paid support?

@dbalbed,
Welcome to our community! Thank you for contacting support.

I have requested information from our development team for you. I will reply to you as soon as possible.

@dbalbed,
Could you please clarify if you have tried the solution described here?

I tried using a layer I discovered here: GitHub - rv-dtomaz/lambda-layer-system-drawing. This layer has the required libgdiplus but I still get the “Unable to load shared library ‘libgdiplus’ or one of its dependencies” error. I presume the layer is still missing a dependency. I’m trying to figure out how to install those dependencies and make my own layer, but was hoping there might be a ready-made layer (just a .zip) you could provide.

@dbalbed,
Thank you for the additional information.

If we had such a ready-made layer, we would provide it to you now. I have to discuss the possibility of preparing it with our development team. We will reply to you a bit later.

@dbalbed,
Unfortunately, we cannot prepare the ready-made layer you mentioned. AWS Lambda is a paid service, and we cannot perform all tests properly.

Please take a look at our Aspose.Slides Cloud.
Aspose.Slides Cloud API Reference