Kaip apdoroti didelius PDF failus C#

Galite susidurti su atminties apribojimais ir problemomis apdorodami didelius PDF failus naudodami MemoryStream klasę C#. Bet koks sprendimas, ribojantis įvesties failo dydį, neveikia tais atvejais, kai PDF failo dydis yra daug didesnis nei 2,5 GB. Toliau pateiktame nuosekliame vadove sužinosite, kaip apdoroti didelius PDF failus C# naudojant išplėstinius srautus.

Veiksmai, kaip apdoroti didelius PDF failus C#

  1. Atidarykite Visual Studio ir sukurkite tuščią C# konsolės programą
  2. Įdiekite naujausią Aspose.PDF for .NET versiją iš NuGet.org
  3. Inicijuoti OptimizedMemoryStream objektą, kad apdorotumėte didelį PDF failą
  4. Įkelkite didelio dydžio PDF naudodami FileStream.
  5. Įrašykite FileStream baitus į OptimizedMemoryStream.
  6. Inicijuoti Document objektą naudodami InputStream pagrįstą konstruktorių
  7. Manipuliuokite arba modifikuokite PDF dokumentą pagal savo poreikius
  8. Išsaugokite pakeistą ir apdorotą dokumentą į diską

Kai dirbate su didelio dydžio PDF dokumentais ir turite vietinio disko dydžio apribojimus, jums reikia sąsajos, kuri leistų naudoti paieškos funkciją dideliems PDF dokumentams įkelti. Paprasta C# MemoryStream klasė siūlo apribojimus ir sukelia daug atminties problemų apdorojant didžiulius PDF failus, nes trūksta paieškos galimybių. Šiame etape atsižvelgiama į pažangių srautų naudojimo sprendimą. Šis kodo fragmentas parodo, kaip galite naudoti išplėstinius srautus norėdami įkelti didžiulius PDF failus C#.

Kodas dideliems PDF failams apdoroti 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);
}
}
}

Aukščiau pateiktas paprastas kodo fragmentas leidžia apdoroti savavališko dydžio PDF dokumentus, nesaugodami jų vietiniame diske. OptimizedMemoryStream klasė Aspose.PDF, skirta .NET, leidžia įkelti didžiulius PDF dokumentus naudojant atminties srautą C#. Tai apibrėžia MemoryStream, kurio talpa didesnė nei standartinė, ir leidžia apdoroti didžiulius PDF failus, kurių dydis didesnis nei 2,5 GB.

Taip pat galite peržiūrėti kitą vadovą kaip skaityti PDF žymes naudojant C#, jei jūsų PDF dokumente yra žymių ir norite jas perskaityti savo .NET programoje.

 Latviski