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
- 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
- Få åtkomst till de stora PDF-filbytena från disken med metoden Files.readAllBytes
- Instantiera objektet i klassen OptimizedMemoryStream och kopiera byte-arrayen inuti den
- Initiera klassobjektet Document med den InputStream-baserade konstruktorn för att ladda PDF:en
- Bearbeta eller ändra PDF-dokument enligt dina krav
- 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.