Kaip apdoroti didelius PDF failus Java

Šioje mokymo programoje dėmesys sutelkiamas į tai, kaip apdoroti didelius PDF failus Java naudojant pažangius srautus, kad būtų išvengta didelių atminties problemų ir apribojimų apdorojant didelius PDF failus naudojant MemoryStream Class. Galite įkelti ir apdoroti didžiulius PDF dokumentus Java pagrįstose aplinkose, sukurtose Windows, Linux arba MacOS, naudodami paprastus API iškvietimus.

Didelių PDF failų apdorojimo „Java“ veiksmai

  1. Nustatykite aplinką, kad pridėtumėte Aspose.PDF for Java iš saugyklos ir apdorotumėte didelius PDF failus
  2. Pasiekite didelius PDF failo baitus iš disko naudodami Files.readAllBytes metodą
  3. Sukurkite klasės OptimizedMemoryStream objektą ir nukopijuokite jame esantį baitų masyvą
  4. Inicijuokite Document klasės objektą naudodami InputStream pagrįstą konstruktorių, kad įkeltumėte PDF
  5. Apdorokite arba modifikuokite PDF dokumentą pagal savo reikalavimus
  6. Išsaugokite pakeistą ir apdorotą PDF dokumentą diske

Aukščiau atlikti veiksmai leidžia naudoti išplėstinius srautus, kad įkeltumėte didžiulį PDF failą Java. OptimizedMemoryStream klasė leidžia apdoroti didžiulį PDF dokumentą naudojant Java atminties srautą, apibrėžiant MemoryStream, kurios talpa didesnė nei standartinė, kuri leidžia apdoroti didžiulius PDF failus, kurių dydis didesnis nei 2,5 GB.

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

Dirbant su MemoryStream tvarkydami didelio dydžio PDF dokumentus, yra apribojimų, dėl kurių apdorojant PDF failus kyla atminties problemų dėl to, kad trūksta paieškos galimybių. Galite apsvarstyti galimybę naudoti išplėstinius srautus, norėdami įkelti didžiulius PDF dokumentus į atminties srautą naudodami Java ir išsaugoti juos diske po apdorojimo.

Šiame pavyzdyje mes išmokome kaip įkelti didelius PDF failus Java naudojant paprastus API iškvietimus. Jei norite sužinoti apie PDF failo suglaudinimą, skaitykite temą, kaip suspausti PDF Java..

 Latviski