این آموزش بر نحوه پردازش فایل های بزرگ PDF در جاوا با استفاده از جریان های پیشرفته برای جلوگیری از مشکلات و محدودیت های حافظه زیاد در حین پردازش فایل های PDF بزرگ با استفاده از MemoryStream Class تمرکز دارد. میتوانید اسناد PDF عظیم را در محیطهای مبتنی بر جاوا** که در ویندوز، لینوکس یا macOS ایجاد شدهاند، با استفاده از فراخوانیهای ساده API بارگیری و ** پردازش کنید.
مراحل پردازش فایل های PDF بزرگ در جاوا
- محیطی را برای افزودن Aspose.PDF for Java از مخزن برای پردازش فایلهای PDF بزرگ تنظیم کنید
- با استفاده از روش Files.readAllBytes به بایت های فایل PDF بزرگ از دیسک دسترسی پیدا کنید
- شیء کلاس OptimizedMemoryStream را نمونه سازی کنید و آرایه بایت را در داخل آن کپی کنید
- شی کلاس Document را با استفاده از سازنده مبتنی بر InputStream برای بارگیری PDF راه اندازی کنید.
- سند PDF را بر اساس نیاز خود پردازش یا اصلاح کنید
- سند PDF اصلاح شده و پردازش شده را روی دیسک ذخیره کنید
مراحل فوق شما را قادر می سازد * از جریان های پیشرفته برای بارگیری فایل PDF عظیم در جاوا* استفاده کنید. کلاس OptimizedMemoryStream با تعریف یک MemoryStream که ظرفیتی بیش از حد استاندارد دارد و به شما امکان می دهد فایل های PDF عظیم با اندازه بزرگتر از 2.5 گیگابایت را پردازش کنید صندوق PDF عظیم را با استفاده از جریان حافظه در جاوا پردازش کنید.
کد برای پردازش فایل های PDF بزرگ در جاوا
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(); | |
} | |
} | |
} |
در حین کار با MemoryStream برای مدیریت اسناد PDF با اندازه بزرگ، محدودیتهایی وجود دارد که به دلیل عدم توانایی جستجو در هنگام پردازش فایلهای PDF، مشکلات حافظه بالایی را ایجاد میکند. شما می توانید راه حل استفاده از جریان های پیشرفته را برای بارگذاری اسناد PDF عظیم در جریان حافظه با استفاده از جاوا* در نظر بگیرید و پس از انجام پردازش آنها را روی دیسک ذخیره کنید.
در این مثال، ما یاد گرفتیم *چگونه فایل های پی دی اف بزرگ را در جاوا با استفاده از فراخوانی های ساده API بارگذاری کنیم. اگر میخواهید در مورد فشردهسازی یک فایل PDF بدانید، به مبحث نحوه فشرده سازی PDF در جاوا مراجعه کنید.