Erstellen eines PDF-Viewers in ASP.NET Core MVC | Tutorial

Das Verschieben von Seiten innerhalb eines PDF-Dokuments (oder das Übertragen zwischen zwei Dokumenten) ist eine häufige Anforderung beim Organisieren von Berichten, Zusammenstellen monatlicher Newsletter oder Umstrukturieren mehrteiliger Dateien vor der Auslieferung. Mit IronPDF benötigt der gesamte Vorgang nur wenige Zeilen C#-Code.
Dieser Artikel erläutert vier praktische Szenarien: das Verschieben einer einzelnen Seite an eine neue Position innerhalb eines Dokuments, das gleichzeitige Neuanordnen mehrerer Seiten, das Übertragen von Seiten zwischen zwei PDF-Dateien und das Verständnis der gängigen Anwendungsfälle, die diese Arbeitsabläufe bedingen. Jedes Szenario enthält ein funktionierendes Codebeispiel und ein Ausgabebild, das das Ergebnis zeigt.
Starten Sie Ihre kostenlose Testphase , um die folgenden Beispiele nachzuvollziehen.
Wie fängt man mit IronPDF an?
Fügen Sie IronPDF mithilfe der NuGet -Paket-Manager-Konsole oder der .NET -Befehlszeilenschnittstelle zu jedem .NET -Projekt hinzu. Das Paket zielt auf .NET Standard 2.0 ab und läuft auf .NET Framework 4.6.2+, .NET Core und allen modernen .NET Versionen einschließlich .NET 8 und .NET 10.
dotnet add package IronPdf
Nach der Installation fügen Sie using IronPdf; am Anfang Ihrer C#-Datei hinzu. Ein gültiger Lizenzschlüssel schaltet die vollständige kommerzielle Nutzung frei; Eine kostenlose Testlizenz umfasst Evaluierung und Entwicklung. Legen Sie den Schlüssel einmalig fest, bevor Sie eine API aufrufen:
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Mit dem angegebenen Paket und der konfigurierten Lizenz lassen sich alle Beispiele in diesem Artikel ohne Änderungen kompilieren und ausführen. Das IronPDF NuGet Paket installiert alle erforderlichen Abhängigkeiten automatisch; Es werden keine zusätzlichen nativen Binärdateien oder Laufzeitkonfigurationen unter Windows, Linux oder macOS benötigt.
Wie kann eine einzelne Seite innerhalb eines PDF-Dokuments verschoben werden?
Das Verschieben einer Seite innerhalb eines PDF-Dokuments mit IronPDF umfasst drei Schritte: Kopieren der Zielseite, Einfügen an der neuen Position und anschließendes Entfernen des Originals. Die PdfDocument-Klasse stellt CopyPage, InsertPdf und RemovePage zur Verfügung, um jeden Teil dieser Operation zu behandeln.
Der folgende Code veranschaulicht, wie die letzte Seite eines Dokuments an den Anfang verschoben wird:
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")
Neu angeordnete PDF-Ausgabe

Der Code lädt eine PDF-Datei und ruft CopyPage auf, um die letzte Seite anhand ihres nullbasierten Indexes zu extrahieren. IronPDF verwendet im gesamten API eine nullbasierte Seitennummerierung, sodass die erste Seite den Index 0 und die letzte den Index PageCount - 1 hat. Nach dem Einfügen der Kopie an Position 0 verschiebt sich die Originalseite in der Indexfolge um eine Position nach unten; Der Entfernungsvorgang berücksichtigt dies, indem er sich an lastPageIndex + 1 wendet, anstatt lastPageIndex zu verwenden. Das Übergeben eines außerhalb des Bereichs liegenden Indexes löst eine ArgumentOutOfRangeException aus, daher sollten Sie stets die Seitenanzahl überprüfen, bevor Sie an Randpositionen arbeiten.
Für einen detaillierteren Einblick in die einzelnen Kopier- und Löschvorgänge beschreibt der Leitfaden "PDF-Seiten hinzufügen, kopieren und löschen" jede Methode ausführlich.
Wie wirkt sich die nullbasierte Seitenindizierung auf den Entfernungsschritt aus?
Da beim Einfügen alle nachfolgenden Seitenindizes um eins nach oben verschoben werden, befindet sich die Originalseite nach dem Kopieren und Einfügen eine Position weiter hinten als erwartet. Das Muster pdf.RemovePage(lastPageIndex + 1) erfasst diese Verschiebung. Das gleiche Prinzip gilt auch beim Verschieben von Seiten aus der Mitte eines Dokuments: Jede Seite, die sich ursprünglich am Index N befand und sich nach der Einfügemarke befand, befindet sich am Index N+1, sobald die Kopie davor eingefügt wird.
Durch die Validierung der Indexberechnungen vor dem Speichern lassen sich unbemerkte Sortierfehler vermeiden, insbesondere in Batch-Pipelines, in denen Dokumente unterschiedliche Längen aufweisen. Eine schnelle Überprüfung gegen pdf.PageCount vor jedem Vorgang hält die Logik unabhängig von der Dokumentgröße korrekt.
Wie werden mehrere Seiten auf einmal verschoben?
Wenn mehrere Seiten verlegt werden müssen, extrahiert CopyPages eine bestimmte Seitenmenge in einem einzigen Aufruf. Die Methode akzeptiert eine Liste von nullbasierten Seitenindizes und gibt ein neues PdfDocument zurück, das nur diese Seiten in der angegebenen Reihenfolge enthält. Dieser Ansatz eignet sich für Szenarien wie das Verschieben eines zusammenhängenden Blocks von Anhangsseiten an das Ende eines Berichts oder das Herausziehen einer Zusammenfassungsseite an den Anfang.
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")
Ausgabe mit mehrseitiger Neuanordnung

Der Code kopiert zwei Seiten aus dem Quelldokument, fügt sie mit PdfDocument.Merge an das Ende hinzu und entfernt dann die Originale, um die Umordnung abzuschließen. Die Merge-Methode gibt ein neues PdfDocument-Objekt zurück, das beide Eingaben in Reihenfolge kombiniert: das Originaldokument gefolgt von den extrahierten Seiten. Durch das Entfernen der nunmehr duplizierten Originale verbleibt das endgültige Dokument in der beabsichtigten Reihenfolge und ohne redundante Inhalte.
Die RemovePages-Methode akzeptiert eine Liste von nullbasierten Indizes und entfernt alle angegebenen Seiten in einem Durchgang. Wenn Sie mehrere Seiten entfernen, führen Sie alle Indizes in einem Aufruf auf, anstatt RemovePage in einer Schleife aufzurufen, da jede einzelne Entfernung die verbleibenden Indizes verschiebt und Off-by-one-Fehler verursachen kann.
Das Tutorial "PDFs zusammenführen oder aufteilen" behandelt weitere Strategien zum Kombinieren und Aufteilen von Dokumenten, einschließlich der Aufteilung nach Seitenbereich.
Wie geht man mit nicht zusammenhängenden Seitengruppen um?
CopyPages akzeptiert beliebige IEnumerable<int>, sodass nicht zusammenhängende Seiten natürlich unterstützt werden. Übergeben Sie new List<int> { 0, 3, 7 }, um die erste, vierte und achte Seite in einem einzigen Dokument in dieser Reihenfolge zu kopieren. Die Indexliste muss nicht sortiert werden, wodurch die Ausgabereihenfolge vollständig kontrolliert werden kann. Diese Flexibilität ist nützlich, wenn man aus bestimmten Seiten einer langen Quelldatei ein individuelles Dokument zusammenstellt, beispielsweise indem man nur die Zusammenfassungsseiten aus einem mehrteiligen Bericht extrahiert.
Wenn das Ziel darin besteht, ein Dokument vollständig neu zu ordnen, anstatt einen Teil zu verschieben, erstellen Sie ein Index-Array, das alle Seitenpositionen in der gewünschten Reihenfolge auflistet, und übergeben Sie es an CopyPages, um das umgeordnete Dokument in einem Vorgang zu erstellen. Das Tutorial "Seiten in PDF neu anordnen C#" behandelt dieses Muster zum Neuanordnen des gesamten Dokuments ausführlich.
Wie verschiebt man Seiten zwischen zwei PDF-Dateien?
Das Übertragen von Seiten aus einem PDF-Dokument auf ein anderes folgt dem gleichen Kopier-Einfüge-Muster, das über zwei separate PdfDocument-Instanzen angewendet wird. Dies ist das übliche Vorgehen beim Zusammenführen von Inhalten aus mehreren Quelldateien: zum Beispiel beim Verschieben ausgewählter Genehmigungsseiten aus einem Entwurf in das endgültige Vertragsdokument.
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")
Ausgabe des dokumentenübergreifenden Transfers

Der Code lädt zwei Dokumente unabhängig voneinander, kopiert eine Seite aus der Quelle mit CopyPage und fügt sie an der angegebenen Stelle im Ziel mit InsertPdf ein. Quell- und Zieldateien werden als separate Dateien unter verschiedenen Pfaden gespeichert, sodass keine die andere während des Vorgangs überschreibt. Das Speichern des Ziels zuerst und der Quelle danach ist sicher, da CopyPage eine unabhängige Kopie erzeugt; das Quelldokument wird nicht geändert, bis RemovePage aufgerufen wird.
Beide SaveAs-Aufrufe schreiben auf das Dateisystem, aber IronPDF unterstützt auch In-Memory-Workflows durch BinaryData und Stream-Ausgabemethoden auf PdfDocument. Dies ist nützlich in Webanwendungen, bei denen eine geänderte PDF-Datei als HTTP-Antwort zurückgegeben werden muss, ohne dass sie auf die Festplatte geschrieben werden muss. Der Leitfaden "PDF-Seiten transformieren" behandelt weitere Manipulationsmuster im Arbeitsspeicher.
Wie bleiben Lesezeichen und Anmerkungen beim Blättern erhalten?
Wenn eine Seite mit CopyPage kopiert wird, bewahrt IronPDF den visuellen Inhalt der Seite, einschließlich Text, Bilder, Formularfeldern und Rendering-Eigenschaften. Gliederungen (Lesezeichen), die nur auf die verschobene Seite verweisen, werden mit der Kopie mitverschoben, dokumentübergreifende Lesezeichenhierarchien, die auf mehrere Seiten verweisen, werden jedoch nicht automatisch aktualisiert. Bei Dokumenten mit komplexen Lesezeichenstrukturen sollten Sie nach dem Verschieben von Seiten die Ausgabe in einem PDF-Reader überprüfen, um sicherzustellen, dass die internen Navigationslinks auf die richtigen Ziele verweisen.
Anmerkungen und Formularfelddaten, die direkt auf der Seitenebene eingebettet sind, bleiben beim Kopiervorgang erhalten. Wenn das Quelldokument benannte Ziele für interne Links verwendet, behalten diese Ziele ihre Namen auf der kopierten Seite, aber die Links in anderen Teilen des Zieldokuments können sie nicht auflösen, es sei denn, die benannten Ziele sind im Katalog des Zieldokuments registriert.
Was sind häufige Anwendungsfälle für die Neuordnung von PDF-Seiten?
Entwickler müssen PDF-Seiten in einer Vielzahl praktischer Szenarien verschieben und neu anordnen können. Das in der PDF-Spezifikation definierte PDF-Seitenmodell stellt jede Seite als unabhängiges Objekt im Seitenbaum des Dokuments dar. Aus diesem Grund sind Kopier-, Einfüge- und Löschvorgänge auf einzelnen Seiten unabhängig von der Dokumentlänge immer gültig. Das Erkennen der Muster ist hilfreich beim Entwurf von Dokumentenverarbeitungspipelines, die mit unterschiedlichen Eingabestrukturen umgehen können.
| Szenario | Typischer Betrieb | IronPDF Methoden |
|---|---|---|
| Zusammenstellung des monatlichen Newsletters | Verschieben Sie das Deckblatt oder das Inhaltsverzeichnis auf die Vorderseite. | CopyPage , InsertPdf , RemovePage |
| Berichtserstellung | Zusammenfassungsseiten neu positionieren oder Abschnittstrenner einfügen | CopyPages , Merge , RemovePages |
| Dokumentenkonsolidierung | Ausgewählte Seiten aus mehreren Quelldateien in eine Ausgabedatei zusammenführen | CopyPage , InsertPdf , SaveAs |
| Archivreorganisation | Ordnen Sie die Seiten für Referenzdateien chronologisch oder kategorisch neu an. | CopyPages , Merge , RemovePages |
| Vertragsvorbereitung | Verschieben Sie die Genehmigungs- oder Unterschriftenseiten an die erforderliche Position. | CopyPage , InsertPdf , RemovePage |
Neben der Seitenmanipulation unterstützt IronPDF eine vollständige Palette von Dokumentoperationen im gleichen Ablauf. Hinzufügen von Kopf- und Fußzeilen, Anwendung von Wasserzeichen und Hinzufügen von digitalen Signaturen sind alle über die gleiche PdfDocument API verfügbar, so dass mehrere Transformationen vor dem endgültigen Speichern verkettet werden können. Die IronPDF -Funktionsseite bietet einen Überblick über alle verfügbaren Funktionen.
Für Automatisierungsszenarien, in denen die Seitenpositionen durch den Dokumentinhalt bestimmt werden (z. B. das Einfügen einer Genehmigungsseite nach dem Auffinden eines bestimmten Abschnitts), behandelt das Tutorial "PDF-Dateien bearbeiten" Techniken zur Textsuche und inhaltsgesteuerten Manipulation, die mit der Neuanordnung von Seiten kombiniert werden können.
Wie lässt sich die Performance beim Verschieben von Seiten in großen Dokumenten optimieren?
Die Seitenmanipulation in IronPDF erfolgt auf der im Arbeitsspeicher befindlichen Dokumentrepräsentation, daher skaliert die Leistung mit der Dokumentgröße und der Anzahl der angewendeten Operationen. Bei großen PDFs helfen einige wenige Muster, die Verarbeitung effizient zu gestalten.
Die Arbeit mit der minimal erforderlichen Seitenanzahl reduziert den Speicherbedarf. Anstatt ein 500-seitiges Dokument zu laden, um zwei Seiten zu verschieben, teilen Sie das Dokument zunächst in Abschnitte mit CopyPages, führen Sie die Neuanordnung auf dem kleineren Satz aus und fügen Sie es dann mit Merge wieder zusammen. Das Beispiel "Aufgeteilte PDF-Seiten" veranschaulicht dieses Muster des Zerlegens und Wiederzusammensetzens.
Für Batch-Verarbeitungspipelines, die Seiten über viele Dokumente verschieben, sollten Sie PdfDocument-Instanzen nach jedem Speichern freigeben, um Speicher schnell freizugeben. PdfDocument implementiert IDisposable, daher sorgt das Umwickeln jeder Instanz in einer using-Anweisung für eine deterministische Bereinigung, auch wenn während der Pipeline Ausnahmen auftreten.
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
Die using-Deklarationen hier stellen sicher, dass beide PdfDocument-Objekte nach Abschluss der SaveAs-Aufrufe freigegeben werden, wodurch die zugrunde liegenden Speicherpuffer sofort freigegeben werden. Dieses Muster ist besonders wichtig in ASP.NET Core Anwendungen, bei denen viele Anfragen Dokumente gleichzeitig auf demselben Server verarbeiten können. Weitere Details zur speichersicheren Dokumentenverarbeitung finden Sie in der IronPDF API-Referenz .
Was sind Ihre nächsten Schritte?
Das Verschieben und Umordnen von PDF-Seiten in C# erfordert drei IronPDF-Methoden: CopyPage, InsertPdf und RemovePage, angewendet in einer Kopieren-Einfügen-Entfernen-Sequenz. Das gleiche Prinzip lässt sich vom Verschieben einer einzelnen Seite innerhalb eines Dokuments bis hin zum Übertragen ganzer Seiten über mehrere Dateien hinweg anwenden. IronPDF funktioniert auch in VB .NET mit der gleichen API, und die Methoden zur Seitenmanipulation sind auf allen unterstützten .NET Plattformen verfügbar, einschließlich .NET 8 und .NET 10.
Um verwandte Funktionen zu erkunden, beschreibt der Leitfaden zum Hinzufügen, Kopieren und Löschen von PDF-Seiten jede Methode auf Seitenebene ausführlich. Für die vollständige Neuanordnung eines Dokuments mithilfe eines Seitenindex-Arrays wird der Artikel "Rearrange Pages in PDF C#" diese Vorgehensweise detailliert beschrieben.
Sind Sie bereit, die PDF-Seitenbearbeitung in Ihr Projekt aufzunehmen? Starten Sie eine kostenlose Testphase , um während der Entwicklung auf alle Funktionen von IronPDF zuzugreifen, oder erwerben Sie eine Lizenz für den sofortigen Produktiveinsatz.
Häufig gestellte Fragen
Wie bewegen Sie eine Seite an eine andere Position in einem PDF mit C#?
Verwenden Sie das dreistufige Muster von IronPDF: Rufen Sie CopyPage(pageIndex) auf, um die Seite zu extrahieren, rufen Sie InsertPdf(copiedPage, targetIndex) auf, um sie an der neuen Position zu platzieren, und rufen Sie dann RemovePage(originalIndex + 1) auf, um das Original zu entfernen (eins hinzufügen, um die Indexverschiebung durch das Einfügen zu berücksichtigen).
Wie verschieben Sie mehrere Seiten gleichzeitig in IronPDF?
Rufen Sie CopyPages(new List<int> { 1, 2 }) auf, um spezifische Seiten nach Index zu extrahieren, verwenden Sie dann PdfDocument.Merge(original, copiedPages), um sie anzuhängen, und RemovePages(new List<int> { 1, 2 }), um die Originale von ihren ehemaligen Positionen zu entfernen.
Wie übertragen Sie eine Seite von einer PDF-Datei zur anderen in C#?
Laden Sie beide Dokumente mit PdfDocument.FromFile, rufen Sie CopyPage(index) im Quelldokument auf, rufen Sie InsertPdf(page, position) im Zieldokument auf und speichern Sie jedes mit SaveAs. Optional die übertragene Seite aus der Quelle mit RemovePage entfernen.
Warum erfordert das Entfernen einer Seite das Hinzufügen von 1 zum Originalindex nach einem Einfügen?
Wenn eine Seite an einer Position vor dem Originalseitenindex eingefügt wird, verschiebt sich jede nachfolgende Seite um eins nach oben. Wenn die Originalseite sich an Index N befand und Sie sie davor eingefügt haben, ist das Original jetzt an Index N+1. Berücksichtigen Sie diese Verschiebung immer, wenn Sie RemovePage nach InsertPdf aufrufen.
Verwendet IronPDF eine nullbasierte Seitenindizierung?
Ja. IronPDF verwendet eine nullbasierte Indizierung in seiner gesamten API. Die erste Seite befindet sich an Index 0, die zweite an Index 1 und so weiter. Der letzte Seitenindex ist PdfDocument.PageCount - 1. Die Übergabe eines Index außerhalb dieses Bereichs löst eine ArgumentOutOfRangeException aus.
Können Sie mit IronPDF nicht zusammenhängende Seiten verschieben?
Ja. Die CopyPages-Methode akzeptiert jedes IEnumerable<int>, sodass Sie nicht zusammenhängende Indizes wie new List<int> { 0, 3, 7 } übergeben können. Die Seiten werden in der von Ihnen angegebenen Reihenfolge zurückgegeben, nicht in der Dokumentenreihenfolge.
Werden Lesezeichen und Anmerkungen beim Verschieben von Seiten mit IronPDF beibehalten?
Visuelle Seiteninhalte (Text, Bilder, Formularfelder) werden beim Verwenden von CopyPage beibehalten. Lesezeichen, die nur die verschobene Seite referenzieren, werden mit der Kopie übertragen. Dokumentenübergreifende Lesezeichenhierarchien, die mehrere Seiten referenzieren, werden nicht automatisch aktualisiert. Überprüfen Sie daher die Navigationslinks in der Ausgabe nach dem Seitenverschieben.
Wie entsorgen Sie PdfDocument-Objekte richtig in einer Batch-Pipeline?
Verwenden Sie using var pdf = PdfDocument.FromFile(path);-Deklarationen, um eine deterministische Entsorgung sicherzustellen, nachdem der SaveAs-Aufruf abgeschlossen ist. Dies gibt In-Memory-Puffer sofort frei, anstatt auf die Müllabfuhr zu warten, was in Hochdurchsatz-ASP.NET-Core-Anwendungen kritisch ist.




