Zapisz deskryptory
Zapisywanie deskryptorów
PsdImage.save jest jedynym publicznym punktem wejścia do zapisywania dokumentu — akceptuje zarówno ścieżkę pliku, jak i już otwarty strumień zapisu. Niskopoziomowy zapis sekcji, który wykonuje rzeczywiste kodowanie bajtów, jest wewnętrzną szczegółowością implementacji, a nie czymś, co wywołuje się bezpośrednio.
Zapisywanie do ścieżki pliku lub strumienia
from aspose_psd_foss.psdimage import PsdImage
image = PsdImage.load(input_path)
image.save("output.psd")Przekazanie strumienia zamiast ścieżki pozostawia strumień otwarty po operacji — to Ty decydujesz, kiedy go zamknąć:
with open("output.psd", "wb") as stream:
image.save(stream)Wybór formatu kontenera
Nie ma publicznego API, aby wybrać format kontenera wyjściowego przy zapisie — zapis zawsze odzwierciedla format (is_large_document / is_psb), w którym dokument został wczytany. Nie istnieje obsługiwana ścieżka konwersji między PSD a PSB w tej wersji FOSS.
Wskazówki i najlepsze praktyki
- Wywołaj
saveprzed zwolnieniem obrazu —savena zwolnionymPsdImagepowodujeRuntimeError. - Wewnętrzny zapisujący na poziomie sekcji wywoływany przez
savenie jest udokumentowanym ani wspieranym punktem wejścia sam w sobie; zawsze korzystaj zPsdImage.save.
Typowe problemy
| Problem | Przyczyna | Naprawa |
|---|---|---|
RuntimeError: PsdImage has been disposed. | save zostało wywołane po dispose() (lub po zakończeniu bloku with) | Wywołaj save przed zwolnieniem obrazu |
PsdSaveException dotyczące długości łańcucha Pascal | Wartość łańcucha przekracza 255 bajtów | Zobacz Podstawowe wyjątki |
FAQ
Czy zapisywanie do strumienia zamyka go po zakończeniu?
Nie — przekazanie strumienia do save pozostawia go otwartym, więc kontrolujesz jego cykl życia. Zapis do ścieżki pliku, w przeciwieństwie do tego, otwiera i zamyka plik wewnętrznie.
Czy mogę wygenerować plik PSB z dokumentu załadowanego jako PSD?
Nie — nie ma publicznego API, które pozwalałoby nadpisać format kontenera przy zapisie; zawsze odzwierciedla on format załadowanego dokumentu.
API Reference Podsumowanie
| Klasa/Metoda | Opis |
|---|---|
PsdImage.save(file_path) / PsdImage.save(stream) | Zapisuje dokument |