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 save przed zwolnieniem obrazu — save na zwolnionym PsdImage powoduje RuntimeError.
  • Wewnętrzny zapisujący na poziomie sekcji wywoływany przez save nie jest udokumentowanym ani wspieranym punktem wejścia sam w sobie; zawsze korzystaj z PsdImage.save.

Typowe problemy

ProblemPrzyczynaNaprawa
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 PascalWartość łańcucha przekracza 255 bajtówZobacz 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/MetodaOpis
PsdImage.save(file_path) / PsdImage.save(stream)Zapisuje dokument

Zobacz także

 Polski