Pictures Are Not Exported to PDF in Aspose.Slides for Python via .NET 24.9 on Linux

When saving the ppt to pdf, the picture is not exported.
The picture is in EMF format.
It works in Windows 11.

Missing Picture.zip (170.6 KB)

Additional info: The following works on Windows. On Linux, it raises “RuntimeError: Proxy error(ArgumentException): Parameter is not valid.” at image.system_image.save

        for slide in presentation.slides:
            for shape in slide.shapes:
                if isinstance(shape, slides.PictureFrame):
                    image = shape.picture_format.picture.image
                    image_type = image.content_type.split("/")[1]
                    if image_type in ("wmf", "x-wmf"):
                        # x-wmf is actually emf
                        buffer = BytesIO()
                        image.system_image.save(
                            buffer, pydrawing.imaging.ImageFormat.png
                        )
                        image.replace_image(buffer.getvalue())

It looks like a similar issue has been fixed in Aspose.Slides for C++ 24.5.

@wolfgang.colsman,
Thank you for contacting free support. It will take me some time to check the problem you described. I will get back to you soon.

@wolfgang.colsman,
Thank you for your patience. Unfortunately, I could not use your Dockerfile and reproduce the problem with the missing EMF image and the RuntimeError you described. I get the following error:

Dockerfile:9
--------------------
   7 |     # Grab a fresh copy of the image
   8 |     #====================================================================================
   9 | >>> FROM --platform=linux/amd64 $DOCKER_REGISTRY/python:${RUNTIME_VERSION}-slim-bookworm AS python-slim-bookworm
  10 |
  11 |     #====================================================================================
--------------------
ERROR: failed to solve: failed to parse stage name "/python:3.11-slim-bookworm": invalid reference format

Could you please check the issues carefully and share the simplest standalone projects to reproduce the problems you encountered?

Dockerfile.zip (1.6 KB)

@wolfgang.colsman,
Thank you for the Dockerfile. I am working on the issue and will get back to you soon.

@wolfgang.colsman,
Unfortunately, I get the following error:

Traceback (most recent call last):
 File "<frozen runpy>", line 198, in _run_module_as_main
 File "<frozen runpy>", line 88, in _run_code
 File "/opt/awslambdaric/__main__.py", line 25, in <module>
   main(sys.argv)
 File "/opt/awslambdaric/__main__.py", line 19, in main
   lambda_runtime_api_addr = os.environ["AWS_LAMBDA_RUNTIME_API"]
                             ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "<frozen os>", line 679, in __getitem__
KeyError: 'AWS_LAMBDA_RUNTIME_API'

Could you please share the simplest standalone project to reproduce the problems you described?

Please find the testcase below:

testcase.zip (24.8 KB)

@wolfgang.colsman,
Thank you for the files. I am working on the issue and will get back to you soon.

@wolfgang.colsman,
Thank you for your patience. I’ve reproduced the problem with the missing WMF image and ArgumentException.

We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.

Issue ID(s): 
  SLIDESPYNET-235 - WMF image is missing when converting PPT to PDF
  SLIDESPYNET-236 - Proxy error(ArgumentException) occurs when trying to build a Docker container

You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.

I will be more than happy to pay for support once I have paid for a license. As this issue is a show stopper for us it would be helpful if you can make a commitment that you actually can get this fixed.

I met very few vendors yet that can render the full spec of wmf and emf on Linux. The typical open source libraries provide only partial implementations.

Another option is that you provide an interface that allows us to retrieve the raw binary and do the implementation ourselves, as I have outlined in the testcase. It is not that hard, just a lot of work. All the format specs are public.

@wolfgang.colsman,
Thank you for your message. We understand the importance of this issue and will do our best to resolve it as soon as possible. We will make sure to get back to you with updates. Thank you for your patience and cooperation.