Cách xử lý các tệp PDF lớn trong Java

Hướng dẫn này tập trung vào cách xử lý các tệp PDF lớn trong Java bằng cách sử dụng các luồng nâng cao để tránh các sự cố và hạn chế về bộ nhớ cao trong khi xử lý các tệp PDF lớn bằng Lớp MemoryStream. Bạn có thể tải và xử lý các tài liệu PDF khổng lồ trong môi trường dựa trên Java được thiết lập trong Windows, Linux hoặc macOS bằng các lệnh gọi API đơn giản.

Các bước xử lý tệp PDF lớn trong Java

  1. Thiết lập môi trường để thêm Aspose.PDF for Java từ kho lưu trữ để xử lý các tệp PDF lớn
  2. Truy cập các byte tệp PDF lớn từ đĩa bằng phương thức Files.readAllBytes
  3. Khởi tạo đối tượng của lớp OptimizedMemoryStream và sao chép mảng byte bên trong nó
  4. Khởi tạo đối tượng lớp Document bằng cách sử dụng hàm tạo dựa trên InputStream để tải PDF
  5. Xử lý hoặc sửa đổi tài liệu PDF theo yêu cầu của bạn
  6. Lưu tài liệu PDF đã sửa đổi và xử lý trên đĩa

Các bước trên cho phép bạn sử dụng các luồng nâng cao để tải tệp PDF lớn trong Java. Lớp OptimizedMemoryStream cho phép xử lý tài liệu PDF khổng lồ sử dụng luồng bộ nhớ trong Java bằng cách xác định MemoryStream có dung lượng lớn hơn tiêu chuẩn cho phép bạn xử lý các tệp PDF lớn với kích thước lớn hơn 2,5 GB.

Mã để xử lý các tệp PDF lớn trong 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();
}
}
}

Khi làm việc với MemoryStream để quản lý tài liệu PDF có kích thước lớn, có những hạn chế gây ra sự cố bộ nhớ cao trong khi xử lý tệp PDF do thiếu khả năng tìm kiếm. Bạn có thể xem xét giải pháp sử dụng các luồng nâng cao để tải các tài liệu PDF khổng lồ vào luồng bộ nhớ bằng cách sử dụng Java và lưu chúng trên đĩa sau khi xử lý xong.

Trong ví dụ này, chúng ta đã học cách tải các tệp PDF lớn trong Java bằng các lệnh gọi API đơn giản. Nếu bạn muốn tìm hiểu về cách nén tệp PDF, hãy tham khảo chủ đề về cách nén PDF trong Java.

 Tiếng Việt