Cara Memproses File PDF Besar di Java

Tutorial ini berfokus pada cara memproses file PDF besar di Java menggunakan aliran lanjutan untuk mencegah masalah dan pembatasan memori tinggi saat memproses file PDF besar menggunakan MemoryStream Class. Anda dapat memuat dan memproses dokumen PDF berukuran besar di lingkungan berbasis Java yang dibuat di Windows, Linux, atau macOS menggunakan panggilan API sederhana.

Langkah-langkah untuk Memproses File PDF Besar di Java

  1. Siapkan lingkungan untuk menambahkan Aspose.PDF for Java dari repositori untuk memproses file PDF besar
  2. Akses byte file PDF besar dari disk menggunakan metode Files.readAllBytes
  3. Buat instance objek kelas OptimizedMemoryStream dan salin array byte di dalamnya
  4. Inisialisasi objek kelas Document menggunakan konstruktor berbasis InputStream untuk memuat PDF
  5. Memproses atau memodifikasi dokumen PDF sesuai kebutuhan Anda
  6. Simpan dokumen PDF yang dimodifikasi dan diproses di disk

Langkah-langkah di atas memungkinkan Anda untuk menggunakan aliran lanjutan untuk memuat file PDF besar di Java. Kelas OptimizedMemoryStream memungkinkan untuk memproses dokumen PDF besar menggunakan aliran memori di Java dengan mendefinisikan MemoryStream yang memiliki kapasitas lebih dari standar yang memungkinkan Anda untuk memproses file PDF besar dengan ukuran lebih besar dari 2.5GB.

Kode untuk Memproses File PDF Besar di 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();
}
}
}

Saat bekerja dengan MemoryStream untuk mengelola dokumen PDF berukuran besar, ada batasan yang menyebabkan masalah memori tinggi saat memproses file PDF karena kurangnya kemampuan pencarian. Anda dapat mempertimbangkan solusi menggunakan aliran lanjutan untuk memuat dokumen PDF besar dalam aliran memori menggunakan Java dan menyimpannya di disk setelah pemrosesan selesai.

Dalam contoh ini, kita telah mempelajari cara memuat file PDF besar di Java menggunakan panggilan API sederhana. Jika Anda ingin mempelajari tentang mengompresi file PDF, lihat topik tentang cara kompres PDF di Jawa.

 Indonesian