Možete se suočiti s memorijskim ograničenjima i problemima tijekom obrade velikih PDF datoteka pomoću MemoryStream klase u C#. Svako rješenje koje ograničava veličinu ulazne datoteke ne funkcionira u slučajevima kada je veličina PDF datoteke mnogo veća od 2,5 GB. Donji vodič korak po korak naučit će vas kako obraditi velike PDF datoteke u C# koristeći napredne tokove.
Koraci za obradu velikih PDF datoteka u C#
- Otvorite Visual Studio i stvorite praznu C# konzolnu aplikaciju
- Instalirajte najnoviju verziju Aspose.PDF for .NET s NuGet.org
- Inicijalizirajte objekt OptimizedMemoryStream za obradu velike PDF datoteke
- Učitajte PDF velike veličine koristeći FileStream
- Zapišite FileStream bajtove u OptimizedMemoryStream
- Inicijalizirajte objekt Document pomoću konstruktora temeljenog na InputStream-u
- Manipulirajte ili mijenjajte PDF dokument prema svojim potrebama
- Izmijenjeni i obrađeni dokument spremite na disk
Kada radite s PDF dokumentima velike veličine i imate ograničenja veličine lokalnog diska, potrebno vam je sučelje koje može omogućiti korištenje mogućnosti traženja za učitavanje ogromnih PDF dokumenata. Jednostavna C# MemoryStream klasa nudi ograničenja i uzrokuje velike probleme s memorijom tijekom obrade ogromnih PDF datoteka zbog nedostatka mogućnosti traženja. U ovoj fazi dolazi do izražaja rješenje korištenja naprednih tokova. Sljedeći isječak koda pokazuje kako možete koristiti napredne tokove za učitavanje ogromnih PDF datoteka u C#.
Kod za obradu velikih PDF datoteka u 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); | |
} | |
} | |
} |
Gornji jednostavni isječak koda omogućuje vam obradu PDF dokumenata proizvoljne veličine bez potrebe za njihovim pohranjivanjem na lokalni disk. Klasa OptimizedMemoryStream u Aspose.PDF za .NET omogućuje učitavanje ogromnih PDF dokumenata pomoću memorijskog toka u C#. Definira MemoryStream koji ima kapacitet veći od standardnog i omogućuje vam obradu golemih PDF datoteka veličine veće od 2,5 GB.
Također možete provjeriti drugi vodič na kako čitati PDF oznake koristeći C# u slučaju da vaš PDF dokument ima knjižne oznake i želite ih pročitati u svojoj .NET aplikaciji.