Grote PDF-bestanden verwerken in Java

Deze tutorial richt zich op het verwerken van grote PDF bestanden in Java met behulp van geavanceerde streams om hoge geheugenproblemen en beperkingen te voorkomen tijdens het verwerken van grote PDF-bestanden met MemoryStream Class. U kunt enorme PDF-documenten laden en verwerken in op Java gebaseerde omgevingen die zijn ingesteld in Windows, Linux of macOS met behulp van eenvoudige API-aanroepen.

Stappen om grote PDF-bestanden in Java te verwerken

  1. Stel de omgeving in om Aspose.PDF for Java toe te voegen vanuit de repository om grote PDF-bestanden te verwerken
  2. Open de grote PDF-bestandsbytes vanaf de schijf met behulp van de Files.readAllBytes-methode
  3. Instantieer het object van de klasse OptimizedMemoryStream en kopieer de byte-array erin
  4. Initialiseer het klasseobject Document met behulp van de op InputStream gebaseerde constructor om de PDF te laden
  5. Verwerk of wijzig het PDF-document volgens uw vereisten
  6. Sla het gewijzigde en verwerkte PDF-document op de schijf op

Met de bovenstaande stappen kunt u geavanceerde streams gebruiken om enorme PDF-bestanden in Java te laden. De klasse OptimizedMemoryStream maakt het mogelijk om grote PDF-documenten te verwerken met behulp van geheugenstroom in Java door een MemoryStream te definiëren met een capaciteit die groter is dan de standaard, waardoor u enorme PDF-bestanden kunt verwerken die groter zijn dan 2,5 GB.

Code om grote PDF-bestanden in Java te verwerken

import com.aspose.pdf.Document;
import com.aspose.pdf.License;
import com.aspose.pdf.OptimizedMemoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class LargePDF {
static void main(String[] args) throws Exception { // Handle exception while processing large PDF files
String path= "C:/TestData/";
// Instantiate the license to process the large PDF files
License PdfLicense = new License();
PdfLicense.setLicense(path+"Conholdate.Total.Product.Family.lic");
// Initialize the OptimizedMemoryStream object in which large size PDF will be stored for loading
OptimizedMemoryStream ms = new OptimizedMemoryStream();
try{
// Access the large PDF in Byte array
Path paths = Paths.get(path + "LargePDF.pdf");
byte[] data = Files.readAllBytes(paths);
// Write large PDF byte array to OptimizedMemoryStream
ms.write(data, 0, (int)data.length);
// Use the optimized stream to process large PDF and load it into a Document object
Document doc = new Document(ms);
// Perform the desired operations and save the output PDF document
doc.save(path + "LargeSizePDFProcessed.pdf");
}
finally{
ms.close();
}
}
}

Tijdens het werken met MemoryStream om grote PDF-documenten te beheren, zijn er beperkingen die grote geheugenproblemen veroorzaken bij het verwerken van PDF-bestanden vanwege een gebrek aan zoekmogelijkheden. U kunt de oplossing overwegen om geavanceerde streams te gebruiken om grote PDF-documenten in een geheugenstroom te laden met Java en ze op de schijf op te slaan nadat de verwerking is voltooid.

In dit voorbeeld hebben we geleerd hoe grote PDF-bestanden in Java te laden met behulp van eenvoudige API-aanroepen. Als u meer wilt weten over het comprimeren van een PDF-bestand, raadpleegt u het onderwerp over comprimeer PDF in Java.

 Nederlands