Řešení potíží Aspose.PSD FOSS for .NET
Řešení problémů Aspose.PSD FOSS pro .NET
Tato stránka popisuje nejčastější problémy, které se vyskytují při načítání, prohlížení a ukládání dokumentů PSD/PSB pomocí Aspose.PSD FOSS pro .NET.
Problémy s načítáním
PsdLoadException se zprávou o nepodporované verzi
Deklarované pole verze PSD v souboru není ani standardní PSD, ani hodnota pro velké dokumenty PSB. Před načtením ověřte, že soubor je skutečný, nepoškozený dokument PSD/PSB:
try
{
using var image = PsdImage.Load("input.psd");
}
catch (PsdLoadException ex)
{
Console.WriteLine($"Not a valid PSD/PSB file: {ex.Message}");
}PsdLoadException o délce sekce překračující hranici
Interní pole délky souboru nejsou v souladu s jeho skutečnou velikostí — to obvykle znamená, že soubor je oříznutý nebo poškozený, nikoli že používá nepodporovanou, ale jinak platnou strukturu. Znovu exportujte soubor z původní aplikace a zkuste to znovu.
Problémy při ukládání
PsdSaveException o délce Pascalova řetězce
Řetězcová hodnota — nejčastěji název vrstvy nebo zdroje — přesahuje 255 bajtů, což je maximum, které může pole Pascalova řetězce v PSD zakódovat:
layer.Name = layer.Name.Length > 255 ? layer.Name[..255] : layer.Name;
image.Save("output.psd");Problémy při úpravách
NotSupportedException při nastavování vlastnosti
Několik vlastností je v této FOSS verzi jen pro čtení. Na PsdImage: ActiveLayer, ImageResources, GlobalLayerResources, HasTransparencyData. Na Layer: ChannelInformation, LayerMaskData, LayerBlendingRangesData. Považujte je za pouze pro získání — nepřiřazujte jim hodnoty.
Průhlednost vrstvy vypadá po nastavení špatně
Layer.Opacity je byte v rozsahu 0-255, ne zlomek 0.0-1.0 nebo procento:
layer.Opacity = 200; // approximately 78% opaque, not 200%Odstranění vrstvy se neprojevuje
PsdImage.Layers má funkční setter na úrovni kolekce, ale jednotlivé prvky pole nelze jednoduše odstranit přímo – přiřaďte celý filtrovaný pole znovu:
image.Layers = image.Layers.Where(l => l.Name != "Unwanted Layer").ToArray();Problémy s instalací
Balíček nebyl nalezen
Potvrďte přesnou identitu balíčku:
git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-.NET.git
cd Aspose.PSD-FOSS-for-.NET
dotnet buildDiagnostický kontrolní seznam
Před otevřením požadavku na podporu projděte tento kontrolní seznam:
- Potvrďte, že soubor je skutečně PSD/PSB — a
PsdLoadExceptiono nepodporované verzi obvykle znamená, že soubor není skutečný dokument PSD/PSB. - Zkontrolujte
NotSupportedException— možná nastavujete jednu ze 7 jen pro čtení uvedených výše vlastností místo toho, abyste ji četli. - Verify
Opacityje v rozsahu 0-255, nikoli 0.0-1.0 nebo 0-100. - Udržujte řetězcové hodnoty pod 255 bajty před uložením, aby se předešlo
PsdSaveException. - Call
image.Savepo každé úpravě — změny vLayerinstance nejsou uloženy, dokud není dokument uložen.