Jak przenosić strony PDF w C# z IronPDF

Przenoszenie stron w dokumencie PDF (lub przenoszenie ich miedzy dwoma dokumentami) to czeste wymaganie przy organizacji raportow, tworzeniu miesiecznych biuletynow lub restrukturyzacji plikow wielosekcyjnych przed dostarczeniem. Z IronPDF cala operacja zajmuje zaledwie kilka lini kodu C#.
Ten artykul omawia cztery praktyczne scenariusze: przenoszenie pojedynczej strony na nowa pozycje w dokumencie, zmiana uporzadkowania wielu stron na raz, przenoszenie stron miedzy dwoma plikami PDF oraz zrozumienie typowych przypadkow uzycia, ktore napedzaja te procesy. Kazdy scenariusz zawiera dzialajacy przyklad kodu oraz obraz wyjsciowy pokazujacy wynik.
Rozpocznij bezplatna wersje probna aby sledzic przyklady ponizej.
Jak rozpocząć pracę z IronPDF?
Dodaj IronPDF do dowolnego projektu .NET za pomoca konsoli Menedzera Pakietow NuGet lub .NET CLI. Pakiet jest przeznaczony dla .NET Standard 2.0 i dziala na .NET Framework 4.6.2+, .NET Core oraz wszystkich nowoczesnych wersjach .NET, w tym .NET 8 i .NET 10.
dotnet add package IronPdf
dotnet add package IronPdf
Po zainstalowaniu, dodaj using IronPdf; na poczatku pliku C#. Wazny klucz licencyjny odblokowuje pelne uzycie komercyjne; bezplatna licencja probna obejmuje ocene i rozwój. Ustaw klucz raz przed wywolaniem jakiegokolwiek API:
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Z pakietem jako odniesieniem i skonfigurowana licencja, kazdy przyklad w tym artykule bedzie kompilowac sie i dzialac bez modyfikacji. Pakiet IronPDF NuGet automatycznie instaluje wszystkie wymagane zaleznosci; nie sa potrzebne dodatkowe natywne pliki binarne ani konfiguracja podczas pracy na Windows, Linux lub macOS.
Jak przenieść pojedynczą stronę w dokumencie PDF?
Przeniesienie strony w dokumencie PDF za pomocą IronPDF obejmuje trzy kroki: skopiowanie docelowej strony, wstawienie jej na nową pozycję i następnie usunięcie oryginału. Klasa PdfDocument zapewnia CopyPage, InsertPdf i RemovePage do obsługi każdej części tej operacji.
Poniższy kod demonstruje przeniesienie ostatniej strony dokumentu na początek:
using IronPdf;
// Load the PDF document from the file system
var pdf = PdfDocument.FromFile("report.pdf");
// Get the zero-based index of the last page
int lastPageIndex = pdf.PageCount - 1;
// Copy the last page into a standalone PdfDocument
var pageToCopy = pdf.CopyPage(lastPageIndex);
// Insert the copied page at position 0 (the first page slot)
pdf.InsertPdf(pageToCopy, 0);
// The original last page has shifted down by one; remove it
pdf.RemovePage(lastPageIndex + 1);
// Save the reordered document to a new file
pdf.SaveAs("report-reorganized.pdf");
using IronPdf;
// Load the PDF document from the file system
var pdf = PdfDocument.FromFile("report.pdf");
// Get the zero-based index of the last page
int lastPageIndex = pdf.PageCount - 1;
// Copy the last page into a standalone PdfDocument
var pageToCopy = pdf.CopyPage(lastPageIndex);
// Insert the copied page at position 0 (the first page slot)
pdf.InsertPdf(pageToCopy, 0);
// The original last page has shifted down by one; remove it
pdf.RemovePage(lastPageIndex + 1);
// Save the reordered document to a new file
pdf.SaveAs("report-reorganized.pdf");
Imports IronPdf
' Load the PDF document from the file system
Dim pdf = PdfDocument.FromFile("report.pdf")
' Get the zero-based index of the last page
Dim lastPageIndex As Integer = pdf.PageCount - 1
' Copy the last page into a standalone PdfDocument
Dim pageToCopy = pdf.CopyPage(lastPageIndex)
' Insert the copied page at position 0 (the first page slot)
pdf.InsertPdf(pageToCopy, 0)
' The original last page has shifted down by one; remove it
pdf.RemovePage(lastPageIndex + 1)
' Save the reordered document to a new file
pdf.SaveAs("report-reorganized.pdf")
Przearanżowany Wyjścia PDF

Kod ładuje plik PDF i wywołuje CopyPage żeby wyciągnąć ostatnią stronę przy użyciu indeksu zerowego. IronPDF używa systemu numerowania stron opartego na zerowym indeksie w całym API, więc pierwsza strona to indeks 0, a ostatnia to PageCount - 1. Po wstawieniu kopii na pozycję 0, oryginalna strona przesuwa się o jedno miejsce w dół w sekwencji indeksów; wywołanie usunięcia uwzględnia to, celując w lastPageIndex + 1 zamiast lastPageIndex. Przekazanie indeksu spoza zakresu wywołuje ArgumentOutOfRangeException, dlatego zawsze sprawdzaj liczbę stron przed operowaniem na skrajnych pozycjach.
Aby bliżej przyjrzeć się indywidualnym operacjom kopiowania i usuwania, Add, Copy & Delete PDF Pages guide opisuje każdą metodę szczegółowo.
Jak indeksowanie stron oparte na zerze wpływa na etap usuwania?
Ponieważ wstawienie przesuwa wszystkie kolejno numerowane strony o jeden, oryginalna strona kończy się o jeden punkt dalej niż oczekiwano po operacji kopiowanie-wstaw. Schemat pdf.RemovePage(lastPageIndex + 1) odzwierciedla to przesunięcie. Zasada ta odnosi się również do przenoszenia stron ze środka dokumentu: każda strona pierwotnie na indeksie N, która znajdzie się po punkcie wstawienia, będzie na indeksie N+1 po wstawieniu kopii przed nią.
Weryfikacja obliczeń indeksu przed zapisaniem zapobiega cichym błędom kolejności, szczególnie w przebiegach masowych, gdzie dokumenty różnią się długością. Szybkie sprawdzenie względem pdf.PageCount przed każdą operacją utrzymuje prawidłową logikę niezależnie od wielkości dokumentu.
Jaki jest proces przenoszenia kilku stron naraz?
Gdy konieczne jest przeniesienie wielu stron, CopyPages wyciąga określony zestaw stron w jednym wywołaniu. Metoda akceptuje listę indeksów stron opartych na zerowym indeksie i zwraca nowy PdfDocument zawierający tylko te strony, w podanej kolejności. Takie podejście pasuje do scenariuszy takich jak przeniesienie ciągłego bloku stron z aneksu na koniec raportu lub przeniesienie zestawu stron ze streszczeniem na początek.
using IronPdf;
using System.Collections.Generic;
// Load the quarterly report
var pdf = PdfDocument.FromFile("quarterly-report.pdf");
// Copy pages at indexes 1 and 2 (the second and third pages)
var selectedPages = pdf.CopyPages(new List<int> { 1, 2 });
// Append the copied pages to the end of the original document
var result = PdfDocument.Merge(pdf, selectedPages);
// Remove the originals at their former positions (now indexes 1 and 2)
result.RemovePages(new List<int> { 1, 2 });
// Write the reordered result to a new path
result.SaveAs("quarterly-report-reordered.pdf");
using IronPdf;
using System.Collections.Generic;
// Load the quarterly report
var pdf = PdfDocument.FromFile("quarterly-report.pdf");
// Copy pages at indexes 1 and 2 (the second and third pages)
var selectedPages = pdf.CopyPages(new List<int> { 1, 2 });
// Append the copied pages to the end of the original document
var result = PdfDocument.Merge(pdf, selectedPages);
// Remove the originals at their former positions (now indexes 1 and 2)
result.RemovePages(new List<int> { 1, 2 });
// Write the reordered result to a new path
result.SaveAs("quarterly-report-reordered.pdf");
Imports IronPdf
Imports System.Collections.Generic
' Load the quarterly report
Dim pdf = PdfDocument.FromFile("quarterly-report.pdf")
' Copy pages at indexes 1 and 2 (the second and third pages)
Dim selectedPages = pdf.CopyPages(New List(Of Integer) From {1, 2})
' Append the copied pages to the end of the original document
Dim result = PdfDocument.Merge(pdf, selectedPages)
' Remove the originals at their former positions (now indexes 1 and 2)
result.RemovePages(New List(Of Integer) From {1, 2})
' Write the reordered result to a new path
result.SaveAs("quarterly-report-reordered.pdf")
Wiele stron Przearanżowane Wynik

Kod kopiuje dwie strony z dokumentu źródłowego, łączy je na końcu przy użyciu PdfDocument.Merge i następnie usuwa oryginały, aby zakończyć porządkowanie. Metoda Merge zwraca nowy obiekt PdfDocument, który łączy oba wejścia w sekwencji: oryginalny dokument, a następnie wyodrębnione strony. Usunięcie teraz zduplikowanych oryginałów pozostawia ostateczny dokument w pożądanej kolejności bez żadnej nadmiarowej treści.
Metoda RemovePages akceptuje listę zerowych indeksów i usuwa wszystkie określone strony za jednym podejściem. Przy usuwaniu wielu stron należy podać wszystkie indeksy w jednym wywołaniu zamiast wywoływać RemovePage w pętli, ponieważ każde indywidualne usunięcie przesuwa pozostałe indeksy i może powodować błędy o jeden.
Merge or Split PDFs tutorial omawia dodatkowe strategie łączenia i dzielenia dokumentów, w tym dzielenie według zakresu stron.
Jak sobie poradzić z grupami stron nieciągłymi?
CopyPages akceptuje każdy IEnumerable<int>, więc strony nieciągłe są obsługiwane naturalnie. Przekazanie new List<int> { 0, 3, 7 } pozwala skopiować pierwszą, czwartą i ósmą stronę do jednego dokumentu w tej kolejności. Lista indeksów nie musi być posortowana, co daje pełną kontrolę nad sekwencją wyjściową. Ta elastyczność jest użyteczna przy tworzeniu niestandardowego dokumentu z określonych stron w długim pliku źródłowym, na przykład wyodrębniając tylko strony ze streszczeniem kierowniczym z raportu wielorozdziałowego.
Jeśli zamiarem jest pełne przestawienie dokumentu, zamiast przeniesienia podzbioru, zbudowanie tablicy indeksów, która wymienia wszystkie pozycje stron w pożądanej kolejności, a następnie przekazanie jej do CopyPages tworzy przearanżowany dokument za pomocą jednej operacji. Rearrange Pages in PDF C# tutorial szczegółowo omawia ten wzorzec przestonowania całego dokumentu.
Jak przenosić strony między dwoma plikami PDF?
Przenoszenie stron z jednego dokumentu PDF do innego przebiega według tego samego wzorca kopiuj-wstaw, stosowanego w dwóch oddzielnych instancjach PdfDocument. To standardowe podejście podczas konsolidowania treści z wielu plików źródłowych: na przykład przenoszenie wybranych stron z zatwierdzeniami z wersji roboczej do ostatecznego dokumentu umowy.
using IronPdf;
// Load the source and destination documents
var sourceDoc = PdfDocument.FromFile("source-document.pdf");
var destinationDoc = PdfDocument.FromFile("destination-document.pdf");
// Extract the first page (index 0) from the source document
var pageToMove = sourceDoc.CopyPage(0);
// Insert the extracted page at position 2 in the destination (third page slot)
destinationDoc.InsertPdf(pageToMove, 2);
// Save the updated destination document
destinationDoc.SaveAs("destination-document-updated.pdf");
// Remove the transferred page from the source and save separately
sourceDoc.RemovePage(0);
sourceDoc.SaveAs("source-document-updated.pdf");
using IronPdf;
// Load the source and destination documents
var sourceDoc = PdfDocument.FromFile("source-document.pdf");
var destinationDoc = PdfDocument.FromFile("destination-document.pdf");
// Extract the first page (index 0) from the source document
var pageToMove = sourceDoc.CopyPage(0);
// Insert the extracted page at position 2 in the destination (third page slot)
destinationDoc.InsertPdf(pageToMove, 2);
// Save the updated destination document
destinationDoc.SaveAs("destination-document-updated.pdf");
// Remove the transferred page from the source and save separately
sourceDoc.RemovePage(0);
sourceDoc.SaveAs("source-document-updated.pdf");
Imports IronPdf
' Load the source and destination documents
Dim sourceDoc = PdfDocument.FromFile("source-document.pdf")
Dim destinationDoc = PdfDocument.FromFile("destination-document.pdf")
' Extract the first page (index 0) from the source document
Dim pageToMove = sourceDoc.CopyPage(0)
' Insert the extracted page at position 2 in the destination (third page slot)
destinationDoc.InsertPdf(pageToMove, 2)
' Save the updated destination document
destinationDoc.SaveAs("destination-document-updated.pdf")
' Remove the transferred page from the source and save separately
sourceDoc.RemovePage(0)
sourceDoc.SaveAs("source-document-updated.pdf")
Wynik transferu między dokumentami

Kod ładuje dwa dokumenty niezależnie, kopiuje stronę ze źródła za pomocą CopyPage i wstawia ją do dokumentu docelowego na określonym indeksie za pomocą InsertPdf. Źródło i cel są zapisywane jako oddzielne pliki w różnych ścieżkach, więc żaden z nich nie nadpisuje drugiego podczas operacji. Zapisywanie najpierw celu, a potem źródła jest bezpieczne, ponieważ CopyPage tworzy niezależną kopię; dokument źródłowy nie jest modyfikowany do momentu wywołania RemovePage.
Oba wywołania SaveAs zapisują na systemie plików, ale IronPDF obsługuje również przepływy pracy w pamięci za pomocą metod wyjściowych BinaryData i Stream na PdfDocument. To jest przydatne w aplikacjach webowych, gdzie zmodyfikowany PDF musi być zwrócony jako odpowiedź HTTP, bez zapisywania na dysku. Transform PDF Pages guide opisuje dodatkowe wzorce manipulacji w pamięci.
Jak zachowujesz zakładki i adnotacje podczas przenoszenia stron?
Gdy strona jest kopiowana za pomocą CopyPage, IronPDF zachowuje wizualną zawartość strony, w tym tekst, obrazy, pola formularzy i właściwości renderowania. Zakładki (bookmarks) które odnoszą się tylko do przeniesionej strony podróżują z kopią, ale hierarchie zakładek krzyżowych odnoszących się do wielu stron nie są automatycznie aktualizowane. Dla dokumentów z złożonymi drzewami zakładek, przejrzyj wynik w czytniku PDF po przeniesieniu stron, aby upewnić się, że wewnętrzne linki nawigacyjne wskazują na właściwe miejsca docelowe.
Adnotacje i dane w polach formularzy osadzone bezpośrednio na warstwie strony są zachowane przez operację kopiuj. Jeśli dokument źródłowy używa nazwanych miejsc docelowych dla wewnętrznych linków, te miejsca docelowe zachowują swoje nazwy w skopiowanej stronie, ale linki w innych częściach dokumentu docelowego nie rozwiążą ich, chyba że nazwane miejsca docelowe są zarejestrowane w katalogu dokumentu docelowego.
Jakie są typowe przypadki użycia do reorganizacji stron PDF?
Deweloperzy muszą przenosić i przearanżować strony PDF w szerokim zakresie praktycznych scenariuszy. Model strony PDF zdefiniowany w specyfikacji PDF reprezentuje każdą stronę jako niezależny obiekt w drzewie stron dokumentu, co sprawia, że operacje kopiuj-wstaw-usuń na pojedynczych stronach są zawsze ważne niezależnie od długości dokumentu. Zrozumienie wzorców pomaga przy projektowaniu pipelines przetwarzania dokumentów, które obsługują zróżnicowane struktury wejścia.
| Scenariusz | Typowa operacja | Metody IronPDF |
|---|---|---|
| Tworzenie miesięcznego biuletynu | Przenieś stronę okładkową lub spis treści na początek | CopyPage, InsertPdf, RemovePage |
| Generowanie raportów | Przełącz strony streszczenia lub wstaw dzielniki sekcji | CopyPages, Merge, RemovePages |
| Konsolidacja dokumentów | Pobierz wybrane strony z wielu plików źródłowych do jednego wyjścia | CopyPage, InsertPdf, SaveAs |
| Reorganizacja archiwum | Przearanżuj strony chronologiczne lub kategorie dla plików referencyjnych | CopyPages, Merge, RemovePages |
| Przygotowanie umowy | Przenieś strony zatwierdzeń lub podpisów na wymaganą pozycję | CopyPage, InsertPdf, RemovePage |
Poza manipulacją stronami, IronPDF obsługuje pełen zakres operacji na dokumentach w tym samym pipeline. Dodawanie nagłówków i stopki, stosowanie znaków wodnych oraz dodawanie podpisów cyfrowych są dostępne za pośrednictwem tej samej API PdfDocument, dzięki czemu można łączyć wiele transformacji przed ostatecznym zapisem. Strona z funkcjami IronPDF zapewnia przegląd wszystkich dostępnych możliwości.
Dla scenariuszy automatyzacji, gdzie pozycje stron są wyznaczane przez treść dokumentu (na przykład, wstawianie strony zatwierdzenia po odnalezieniu określonej sekcji), Edit PDF Files tutorial obejmuje wyszukiwanie tekstu i techniki manipulacji oparte na treści, które mogą być połączone z porządkowaniem stron.
Jak radzisz sobie z wydajnością przy przenoszeniu stron w dużych dokumentach?
Manipulacja stronami w IronPDF działa na reprezentacji dokumentu w pamięci, więc wydajność skaluje się z wielkością dokumentu i liczbą zastosowanych operacji. Dla dużych PDFów kilka wzorców pomaga utrzymać efektywne przetwarzanie.
Praca z minimalną niezbędną liczbą stron zmniejsza zużycie pamięci. Zamiast ładować dokument o 500 stronach, aby przenieść dwie strony, podziel dokument na sekcje najpierw przy użyciu CopyPages, wykonaj przearanżowanie na mniejszym zbiorze, a następnie ponownie złoż z Merge. Przykład Split PDF Pages demonstruje ten wzorzec dekonstrukcja-i-składanie.
Dla przepływów pracy batch, które przenoszą strony między wieloma dokumentami, usuwaj instancje PdfDocument po każdym zapisie, aby natychmiast zwolnić pamięć. PdfDocument implementuje IDisposable, więc oprawienie każdej instancji w instrukcję using zapewnia deterministyczne czyszczenie, nawet gdy występują wyjątki w środku pipeline.
using IronPdf;
// Use 'using' declarations to ensure deterministic disposal
using var source = PdfDocument.FromFile("source-large.pdf");
using var destination = PdfDocument.FromFile("destination-large.pdf");
var pageToTransfer = source.CopyPage(0);
destination.InsertPdf(pageToTransfer, 0);
destination.SaveAs("destination-updated.pdf");
source.RemovePage(0);
source.SaveAs("source-updated.pdf");
using IronPdf;
// Use 'using' declarations to ensure deterministic disposal
using var source = PdfDocument.FromFile("source-large.pdf");
using var destination = PdfDocument.FromFile("destination-large.pdf");
var pageToTransfer = source.CopyPage(0);
destination.InsertPdf(pageToTransfer, 0);
destination.SaveAs("destination-updated.pdf");
source.RemovePage(0);
source.SaveAs("source-updated.pdf");
Imports IronPdf
' Use 'Using' blocks to ensure deterministic disposal
Using source = PdfDocument.FromFile("source-large.pdf")
Using destination = PdfDocument.FromFile("destination-large.pdf")
Dim pageToTransfer = source.CopyPage(0)
destination.InsertPdf(pageToTransfer, 0)
destination.SaveAs("destination-updated.pdf")
source.RemovePage(0)
source.SaveAs("source-updated.pdf")
End Using
End Using
Deklaracje using tutaj zapewniają, że oba obiekty PdfDocument są usuwane po zakończeniu wywołań SaveAs, natychmiast zwalniając podkładowe bufory pamięci. Ten wzorzec jest szczególnie ważny w aplikacjach ASP.NET Core, gdzie wiele żądań może przetwarzać dokumenty jednocześnie na tym samym serwerze. Dla dodatkowych szczegółow dotyczących API w zakresie bezpiecznego użycia pamięci do obsługi dokumentów, skonsultuj się z IronPDF API Reference.
Jakie są Twoje kolejne kroki?
Przenoszenie i porządkowanie stron PDF w C# wymaga trzech metod IronPDF: CopyPage, InsertPdf, i RemovePage, stosowanych w sekwencji kopiuj-wstaw-usuń. Ten sam wzorzec skaluje się od przenoszenia pojedynczej strony w jednym dokumencie do przenoszenia grup stron między różnymi plikami. IronPDF działa również w VB.NET z tym samym API, a metody manipulacji stronami są dostępne na wszystkich obsługiwanych platformach .NET, w tym .NET 8 i .NET 10.
Aby zbadać powiązane możliwości, Add, Copy & Delete PDF Pages guide obejmuje każdą metodę na poziomie stron szczegółowo. Dla pełnej reorganizacji dokumentu przy użyciu tabeli indeksu stron, Rearrange Pages in PDF C# article omawia to podejście.
Gotowy do dodania manipulacji stron PDF do swojego projektu? Rozpocznij bezpłatną wersję próbną, aby uzyskać dostęp do wszystkich funkcji IronPDF podczas rozwijania, lub kup licencję, aby wdrożyć na produkcji już dziś.
Często Zadawane Pytania
Jak przenieść stronę w inne miejsce w pliku PDF za pomocą języka C#?
Należy zastosować trzyetapowy schemat IronPDF: wywołać CopyPage(pageIndex) w celu wyodrębnienia strony, wywołać InsertPdf(copiedPage, targetIndex) w celu umieszczenia jej w nowej pozycji, a następnie wywołać RemovePage(originalIndex + 1) w celu usunięcia oryginału (dodając 1, aby uwzględnić przesunięcie indeksu spowodowane wstawieniem).
Jak przenieść wiele stron jednocześnie w IronPDF?
Wywołaj CopyPages(new List, aby wyodrębnić określone strony według indeksu, a następnie użyj PdfDocument.Merge(original, copiedPages), aby je dołączyć, oraz RemovePages(new List aby usunąć oryginały z ich poprzednich pozycji.
Jak przenieść stronę z jednego pliku PDF do drugiego w języku C#?
Załaduj oba dokumenty za pomocą PdfDocument.FromFile, wywołaj CopyPage(index) na dokumencie źródłowym, wywołaj InsertPdf(page, position) na dokumencie docelowym, a następnie zapisz każdy z nich za pomocą SaveAs. Opcjonalnie usuń przeniesioną stronę ze źródła za pomocą RemovePage.
Dlaczego usunięcie strony wymaga dodania 1 do pierwotnego indeksu po wstawieniu?
Gdy strona jest wstawiana w miejscu poprzedzającym indeks oryginalnej strony, każda kolejna strona przesuwa się o jedną w górę. Jeśli oryginalna strona znajdowała się pod indeksem N, a wstawiłeś stronę przed nią, oryginalna strona znajduje się teraz pod indeksem N+1. Zawsze uwzględniaj to przesunięcie podczas wywoływania funkcji RemovePage po InsertPdf.
Czy IronPDF wykorzystuje indeksowanie stron od zera?
Tak. IronPDF stosuje indeksowanie od zera w całym swoim API. Pierwsza strona ma indeks 0, druga 1 i tak dalej. Indeks ostatniej strony to PdfDocument.PageCount - 1. Przekazanie indeksu poza ten zakres powoduje wygenerowanie wyjątku ArgumentOutOfRangeException.
Czy za pomocą IronPDF można przenosić nieprzylegające strony?
Tak. Metoda CopyPages akceptuje dowolny obiekt typu IEnumerable, więc można przekazać nieprzylegające indeksy, takie jak new List. Strony są zwracane w podanej kolejności, a nie w kolejności dokumentu.
Czy podczas przenoszenia stron za pomocą IronPDF zachowane są zakładki i adnotacje?
Treści wizualne na poziomie strony (tekst, obrazy, pola formularzy) są zachowywane podczas korzystania z funkcji CopyPage. Zakładki odwołujące się wyłącznie do przeniesionej strony są przenoszone wraz z kopią. Hierarchie zakładek między dokumentami, odwołujące się do wielu stron, nie są automatycznie aktualizowane, dlatego po przeniesieniu stron należy sprawdzić linki nawigacyjne w pliku wyjściowym.
Jak prawidłowo usuwać obiekty PdfDocument w potoku przetwarzania wsadowego?
Należy używać deklaracji using var pdf = PDFDocument.FromFile(path);, aby zapewnić deterministyczne zwolnienie pamięci po zakończeniu wywołania SaveAs. Powoduje to natychmiastowe zwolnienie buforów w pamięci zamiast oczekiwania na zbieranie śmieci, co ma kluczowe znaczenie w aplikacjach .NET Core o dużej przepustowości.




