Ubuntu 24.04
Python3.10.19
use temporary license
Code from doc
from io import BytesIO
from aspose.psd.fileformats.psd import PsdImage
from aspose.psd.fileformats.psd.layers import Layer
from aspose.psd import License
license = License()
licensePath = "Aspose.PSDforPythonvia.NET.lic"
license.set_license(licensePath)
inputFile = "output.png"
outputFile = "AddFileAsLayer.psd"
# Open file as Stream
with open(inputFile, "rb", buffering=0) as filestream:
stream = BytesIO(filestream.read())
stream.seek(0)
# Create PSD Layer from Stream
layer = Layer(stream)
# Create PSD Image with the specified size
psdImage = PsdImage(layer.width, layer.height)
# Add Layer to PSD Image
psdImage.layers = [layer]
# Get Pixels from File
pixels = layer.load_argb_32_pixels(layer.bounds)
pixelsRange = range(len(pixels))
# Fill the pixels data with some values
for i in pixelsRange:
if i % 5 == 0:
pixels[i] = 500000
# Fast Save of Updated Image Data
layer.save_argb_32_pixels(layer.bounds, pixels)
# Save PSD Image
psdImage.save(outputFile)
Got Error
python main.py
Process terminated. Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
at System.Environment.FailFast(System.String)
at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()
at System.Globalization.GlobalizationMode..cctor()
at System.Globalization.CultureData.CreateCultureWithInvariantData()
at System.Globalization.CultureData.get_Invariant()
at System.Globalization.CultureInfo..cctor()
at System.StringComparer..cctor()
at System.StringComparer.get_OrdinalIgnoreCase()
at System.Text.EncodingTable..cctor()
at System.Text.EncodingTable.GetCodePageFromName(System.String)
at System.Text.CodePagesEncodingProvider.GetEncoding(System.String)
at System.Text.EncodingProvider.GetEncodingFromProvider(System.String)
at System.Text.Encoding.GetEncoding(System.String)
at Aspose.WrpGen.Interop.GenericMarshaler..cctor()
at Aspose.WrpGen.Interop.GenericMarshaler.ToString(Aspose.WrpGen.Interop.PyStringArg*)
at WrpNs_Aspose.WrpNs_PSD.WrpCs_License_7A7E8167.call_000_SetLicense(IntPtr, Aspose.WrpGen.Interop.PyStringArg*)
Aborted (core dumped)