Bei der Verarbeitung großer PDF-Dateien mit der MemoryStream-Klasse in C# können Speicherbeschränkungen und -probleme auftreten. Jede Lösung, die die Größe der Eingabedatei einschränkt, funktioniert nicht, wenn die PDF-Dateigröße viel größer als 2,5 GB ist. Die folgende Schritt-für-Schritt-Anleitung zeigt Ihnen, wie Sie große PDF-Dateien in C# mithilfe erweiterter Streams verarbeiten.
Schritte zum Verarbeiten großer PDF-Dateien in C#
- Öffnen Sie Visual Studio und erstellen Sie eine leere C#-Konsolenanwendung
- Installieren Sie die neueste Version von Aspose.PDF for .NET von NuGet.org
- OptimizedMemoryStream-Objekt initialisieren, um große PDF-Datei zu verarbeiten
- Laden Sie große PDF-Dateien mit FileStream
- FileStream-Bytes in OptimizedMemoryStream schreiben
- Initialisieren Sie das Document-Objekt mit dem InputStream-basierten Konstruktor
- Bearbeiten oder ändern Sie PDF-Dokumente nach Ihren Bedürfnissen
- Speichern Sie das geänderte und verarbeitete Dokument auf der Festplatte
Wenn Sie mit großen PDF-Dokumenten arbeiten und Einschränkungen hinsichtlich der lokalen Festplattengröße haben, benötigen Sie eine Schnittstelle, die die Verwendung von Suchfunktionen zum Laden großer PDF-Dokumente ermöglicht. Die einfache C#-MemoryStream-Klasse bietet Einschränkungen und verursacht hohe Speicherprobleme bei der Verarbeitung großer PDF-Dateien aufgrund fehlender Suchfähigkeit. In diesem Stadium kommt die Lösung der Verwendung erweiterter Streams ins Spiel. Das folgende Code-Snippet zeigt, wie Sie erweiterte Streams verwenden können, um riesige PDF-Dateien in C# zu laden.
Code zum Verarbeiten großer PDF-Dateien in C#
using System; | |
using System.IO; | |
// Add reference to Aspose.PDF for .NET API | |
// Use following namespace to process large PDF files | |
using Aspose.Pdf; | |
namespace ProcessLargePDFFiles | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Set license before processing large PDF files | |
Aspose.Pdf.License AsposePDFLicense = new Aspose.Pdf.License(); | |
AsposePDFLicense.SetLicense(@"c:\asposelicense\license.lic"); | |
string outFile = @"c:\LargeSizePDF_Processed.pdf"; | |
// Initialize OptimizedMemoryStream object in which large size PDF will be stored for loading | |
OptimizedMemoryStream ms = new OptimizedMemoryStream(); | |
// Read large size PDF document from disk using FileStream | |
using (FileStream file = new FileStream(@"c:\LargeSizePDF.pdf", FileMode.Open, FileAccess.Read)) | |
{ | |
byte[] bytes = new byte[file.Length]; | |
file.Read(bytes, 0, (int)file.Length); | |
// Write large PDF bytes to OptimizedMemoryStream | |
ms.Write(bytes, 0, (int)file.Length); | |
} | |
// Use advanced stream to process large PDF file and load into Document object | |
Document doc = new Document(ms); | |
// Save the output PDF document | |
doc.Save(outFile); | |
} | |
} | |
} |
Das obige einfache Code-Snippet ermöglicht es Ihnen, PDF-Dokumente beliebiger Größe zu verarbeiten, ohne sie auf einer lokalen Festplatte speichern zu müssen. Die OptimizedMemoryStream-Klasse in Aspose.PDF für .NET ermöglicht das Laden riesiger PDF-Dokumente mithilfe des Speicherstroms in C#. Es definiert einen MemoryStream, der über eine Kapazität von mehr als dem Standard verfügt und es Ihnen ermöglicht, riesige PDF-Dateien mit einer Größe von mehr als 2,5 GB zu verarbeiten.
Sie können auch eine andere Anleitung unter wie man PDF-Lesezeichen mit C# liest lesen, falls Ihr PDF-Dokument Lesezeichen enthält und Sie diese in Ihrer .NET-Anwendung lesen möchten.