Hur man bearbetar stora PDF-filer i Java

Den här handledningen fokuserar på hur man bearbetar stora PDF-filer i Java med hjälp av avancerade strömmar för att förhindra höga minnesproblem och begränsningar när man bearbetar stora PDF-filer med MemoryStream Class. Du kan ladda och behandla enorma PDF-dokument i Java-baserade miljöer etablerade i Windows, Linux eller macOS med enkla API-anrop.

Steg för att bearbeta stora PDF-filer i Java

  1. Ställ in miljön för att lägga till Aspose.PDF for Java från arkivet för att bearbeta stora PDF-filer
  2. Få åtkomst till de stora PDF-filbytena från disken med metoden Files.readAllBytes
  3. Instantiera objektet i klassen OptimizedMemoryStream och kopiera byte-arrayen inuti den
  4. Initiera klassobjektet Document med den InputStream-baserade konstruktorn för att ladda PDF:en
  5. Bearbeta eller ändra PDF-dokument enligt dina krav
  6. Spara det ändrade och bearbetade PDF-dokumentet på disken

Ovanstående steg gör att du kan använda avancerade strömmar för att ladda enorma PDF-filer i Java. Klassen OptimizedMemoryStream gör det möjligt att bearbeta enorma PDF-dokument med hjälp av minnesström i Java genom att definiera en MemoryStream som har en kapacitet mer än standard som låter dig bearbeta enorma PDF-filer med en storlek större än 2,5 GB.

Kod för att bearbeta stora PDF-filer i Java

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();
}
}
}

När du arbetar med MemoryStream för att hantera stora PDF-dokument finns det begränsningar som orsakar höga minnesproblem vid bearbetning av PDF-filer på grund av bristande sökförmåga. Du kan överväga lösningen att använda avancerade strömmar för att ladda enorma PDF-dokument i minnesströmmen med Java och spara dem på disken efter att bearbetningen är klar.

I det här exemplet har vi lärt oss hur man laddar stora PDF-filer i Java med enkla API-anrop. Om du vill lära dig hur du komprimerar en PDF-fil, se avsnittet om hur du komprimera PDF i Java.

 Svenska