Du kan möta minnesbegränsningar och problem när du bearbetar stora PDF-filer med MemoryStream Class i C#. Alla lösningar som begränsar storleken på indatafilen fungerar inte i fall där PDF-filstorleken är mycket större än 2,5 GB. Nedan steg-för-steg guide kommer att lära dig hur du bearbetar stora PDF filer i C# med hjälp av avancerade strömmar.
Steg för att bearbeta stora PDF-filer i C#
- Öppna Visual Studio och skapa en tom C# Console-applikation
- Installera den senaste versionen av Aspose.PDF for .NET från NuGet.org
- Initiera OptimizedMemoryStream objekt för att bearbeta en stor PDF-fil
- Ladda stor PDF med FileStream
- Skriv FileStream-bytes till OptimizedMemoryStream
- Initiera objektet Document med den InputStream-baserade konstruktorn
- Manipulera eller ändra PDF-dokument enligt dina behov
- Spara det ändrade och bearbetade dokumentet på disken
När du arbetar med stora PDF-dokument och har begränsningar för lokal diskstorlek, behöver du ett gränssnitt som gör att sökförmåga kan användas för att ladda stora PDF-dokument. Enkel C# MemoryStream Class erbjuder begränsningar och orsakar höga minnesproblem vid bearbetning av enorma PDF-filer på grund av bristande sökförmåga. Lösningen med att använda avancerade strömmar kommer in i bilden i detta skede. Följande kodsnutt visar hur du kan använda avancerade strömmar för att ladda enorma PDF-filer i C#.
Kod för att bearbeta stora PDF-filer i 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); | |
} | |
} | |
} |
Ovanstående enkla kodsnutt gör att du kan bearbeta PDF-dokument av godtycklig storlek utan att behöva lagra dem på en lokal disk. OptimizedMemoryStream Class i Aspose.PDF för .NET gör det möjligt att ladda enorma PDF-dokument med minnesström i C#. Den definierar en MemoryStream som har en kapacitet mer än standard och låter dig bearbeta enorma PDF-filer med en storlek större än 2,5 GB.
Du kan också läsa en annan guide på hur man läser PDF-bokmärken med C# om ditt PDF-dokument har bokmärken och du vill läsa dem i din .NET-applikation.