سازمان‌های مختلف از فایل‌های PDF برای تبادل امن و سازمان‌یافته اطلاعات استفاده می‌کنند. با این حال، گاهی اوقات فایل های PDF به دلیل محتوای جاسازی شده مانند تصاویر، فیلم ها، نقاشی ها و غیره حجم زیادی پیدا می کنند. اجازه دهید سناریوهای زیر را در مورد فشرده‌سازی و بهینه‌سازی اندازه PDF که می‌توانید در برنامه‌های جاوا خود بگنجانید، بررسی کنیم:

API بهینه سازی و فشرده سازی اندازه PDF - نصب

می‌توانید از روال‌های کارآمد و قابل اعتماد Aspose.PDF برای جاوا برای بهینه‌سازی یا فشرده‌سازی فایل‌های PDF با اندازه بزرگ و در عین حال کیفیت یکسان استفاده کنید. می‌توانید فایل‌های JAR را از Downloads یا با Maven configurations در پروژه خود دانلود کنید.

بهینه سازی اسناد PDF برای وب با استفاده از جاوا

زمانی که نیاز به استفاده از آنها در صفحات وب خود دارید، سند PDF را می توان بهینه کرد. این بهینه سازی برای نمایش صفحه اول سند PDF در سریع ترین زمان ممکن مفید است. با انجام مراحل زیر می توانید فایل PDF بهینه شده را داشته باشید:

  1. فایل PDF منبع باز
  2. برای بهینه‌سازی PDF با [روش بهینه‌سازی5 تماس بگیرید
  3. فایل PDF خروجی را ذخیره کنید

قطعه کد زیر نمونه ای از نحوه بهینه سازی اسناد PDF برای وب در محیط جاوا است:

// سند را باز کنید
Document pdfDocument = new Document("Original.pdf");

// بهینه سازی برای وب
pdfDocument.optimize();

// ذخیره سند خروجی
pdfDocument.save("Optimized_output.pdf");

فشرده سازی یا بهینه سازی اندازه PDF حاوی تصاویر با استفاده از جاوا

در اینجا ما عمدتاً در مورد سناریوهایی بحث خواهیم کرد که در آن فایل‌های PDF حاوی تعداد زیادی تصاویر هستند، بنابراین از نظر اندازه بزرگ هستند. به عنوان مثال، یک فایل PDF حاوی نقاشی برای مدل‌های مختلف هواپیما و اطلاعات مربوط به هر قسمت، جزئی یا اصلی، که به‌عنوان تصاویر یا تصاویر همه اجزا گنجانده شده است. علاوه بر این، بسیاری از اسناد حرفه ای می توانند حاوی تصاویر به عنوان مصنوعات اصلی فایل باشند. در چنین شرایطی، می‌توانیم فایل‌های PDF را با روش‌های زیر فشرده کنیم:

کوچک کردن، فشرده سازی و تغییر اندازه همه تصاویر با استفاده از جاوا

شما می توانید با کوچک کردن، فشرده سازی و تغییر اندازه تصاویر، حجم فایل پی دی اف حاوی بسیاری از تصاویر را به حداقل برسانید. بهبود اندازه می تواند قابل توجه باشد زیرا بیشتر اندازه فایل توسط تصاویری که اکنون قصد کوچک کردن آنها را داریم پوشانده شده است. برای کوچک کردن، فشرده‌سازی و تغییر اندازه عکس‌ها یا تصاویر در یک فایل PDF، باید مراحل زیر را دنبال کنید:

  1. فایل PDF ورودی را بارگیری کنید
  2. شیء OptimizationOptions را مقداردهی کنید
  3. کیفیت و وضوح تصویر را تنظیم کنید
  4. روش optimizeResources را فراخوانی کنید
  5. سند PDF خروجی را ذخیره کنید

قطعه کد زیر نحوه کوچک کردن یا فشرده سازی تصاویر را به منظور کاهش و به حداقل رساندن اندازه فایل PDF با استفاده از جاوا نشان می دهد:

// بارگیری سند ورودی
Document doc = new Document(dataDir + "Test.pdf");

// شی OptimizationOptions را راه اندازی کنید
OptimizationOptions opt = new OptimizationOptions();

// فشرده سازی تصویر را فعال کنید
// کیفیت و وضوح تصاویر را در فایل PDF تنظیم کنید
opt.getImageCompressionOptions().setCompressImages(true);
opt.getImageCompressionOptions().setImageQuality(10);
opt.getImageCompressionOptions().setMaxResolution(150);
opt.getImageCompressionOptions().setResizeImages(true);
doc.optimizeResources(opt);

// فایل به روز شده را ذخیره کنید
doc.save(dataDir + "compressingPDFWithImages_out.pdf");

حذف فونت های جاسازی شده، جریان های استفاده نشده و پیوند دادن جریان های تکراری با استفاده از جاوا

هنگامی که شما نیاز به کاهش اندازه فایل PDF دارید، هر بایت مهم است. فونت های جاسازی شده می توانند به کاهش اندازه فایل با رویکردهای مختلف کمک کنند. برای مثال، می‌توانید همه فونت‌ها را از حالت تعبیه خارج کنید یا فقط می‌توانید زیرمجموعه کاراکترهای فونتی که در فایل PDF استفاده می‌شوند را نگه دارید. این یک عدم تعبیه بخشی از فونت ها است که همچنان به به حداقل رساندن اندازه فایل کمک می کند. علاوه بر این، می‌توانید جریان‌های استفاده نشده را حذف کنید یا جریان‌های تکراری را پیوند دهید تا فضای بیشتری ذخیره کنید. این بهینه سازی های PDF حجم فایل را به میزان قابل توجهی کاهش می دهد. برای بهینه سازی و کاهش حجم فایل PDF باید مراحل زیر را دنبال کنید:

  1. سند PDF ورودی را بارگیری کنید
  2. شی کلاس OptimizationOptions را راه اندازی کنید
  3. همه فونت‌ها را حذف کنید یا زیرمجموعه فونت‌ها
  4. پیوندهای جریان های تکراری
  5. جریان های استفاده نشده را حذف کنید

کد زیر نحوه فشرده سازی فایل های PDF را برای بهینه سازی، کاهش و به حداقل رساندن اندازه اسناد PDF شرح می دهد:

Document doc = new Document(dataDir + "Test.pdf");
OptimizationOptions opt = new OptimizationOptions();

// هر دو
// حذف همه فونت ها در PDF
opt.setUnembedFonts(true);

//یا
// فقط فونت های تعبیه شده را برای کاراکترهای استفاده شده نگه دارید
opt.setSubsetFonts(true);

// پیوند دادن به جریان های تکراری
opt.setLinkDuplcateStreams(false);

// جریان های استفاده نشده را حذف کنید
opt.setRemoveUnusedStreams(false);

// اشیاء استفاده نشده را حذف کنید
opt.setRemoveUnusedObjects(false);

doc.optimizeResources(opt);

// فایل به روز شده را ذخیره کنید
doc.save(dataDir + "compressingPDF.pdf");

تاکنون رویکردهای بهینه‌سازی را عمدتاً برای فایل‌های PDF با تصاویر مورد بحث قرار داده‌ایم. اکنون اجازه دهید راه های دیگری را برای بهینه سازی PDF ادامه دهیم.

فشرده سازی یا کاهش حجم سند PDF با استفاده از جاوا

فایل‌های PDF اغلب حاوی حاشیه‌نویسی، فیلدهای فرم قابل ویرایش و مصنوعات رنگی هستند که مجموعاً فضا را اشغال می‌کنند. اجازه دهید روش های زیر را برای فشرده سازی اندازه فایل PDF بررسی کنیم.

حذف یا صاف کردن حاشیه نویسی برای کاهش اندازه با جاوا

فایل های PDF می توانند حاوی حاشیه نویسی های زیادی باشند. به عنوان مثال، واترمارک، نظرات، اشکال، و غیره. اگر حاشیه‌نویسی‌ها دیگر مورد نیاز نیستند، می‌توانید حاشیه‌نویسی‌ها را حذف کنید یا اگر نیازی به تغییرات بیشتر نیست، حاشیه‌نویسی‌ها را چاق کنید. لطفاً مراحل زیر را برای حذف یا مسطح کردن حاشیه نویسی برای بهینه سازی اندازه فایل PDF دنبال کنید:

  1. سند PDF منبع باز
  2. در هر صفحه تکرار کنید
  3. مسطح یا حذف حاشیه
  4. سند PDF خروجی را ذخیره کنید

قطعه کد زیر نمونه ای از نحوه حذف یا مسطح کردن حاشیه نویسی در اسناد PDF با استفاده از جاوا است:

// سند را باز کنید
Document pdfDocument = new Document(dataDir + "OptimizeDocument.pdf");

// در هر صفحه و حاشیه نویسی تکرار کنید
for (Page page : pdfDocument.getPages())
{
   for (Annotation annotation : page.getAnnotations())
    {
        // یا حاشیه نویسی را صاف کنید
        annotation.flatten();
        
        // یا حاشیه نویسی را حذف کنید
        // page.getAnnotations().delete(annotation);        
    }
}
// سند PDF بهینه شده را ذخیره کنید
pdfDocument.save(dataDir + "OptimizeDocument_out.pdf");

حذف فیلدهای فرم برای به حداقل رساندن اندازه فایل PDF با جاوا

فرم‌های PDF قابل پر کردن در مواردی که نیاز به ارسال داده‌ها در مقیاس بزرگ دارید رایج هستند. پس از ارسال داده ها، فیلدهای فرم قابل پر کردن را می توان برای بهینه سازی و به حداقل رساندن اندازه فایل PDF حذف کرد. برای حذف فیلدهای فرم باید مراحل زیر را دنبال کنید:

  1. سند PDF ورودی را بارگیری کنید
  2. فیلدهای فرم را در سند PDF بررسی کنید
  3. در هر زمینه تکرار کنید و آن را صاف کنید
  4. فایل PDF فشرده به روز شده را ذخیره کنید
// بارگیری فرم PDF منبع
Document doc = new Document(dataDir + "input.pdf");

// فیلدهای فرم را صاف کنید
if (doc.getForm().getFields().length > 0)
{
   for (Field item : doc.getForm().getFields())
    {
        item.flatten();
    }
}

dataDir = dataDir + "FlattenForms_out.pdf";
// سند به روز شده را ذخیره کنید
doc.save(dataDir);

برای فشرده سازی و بهینه سازی PDF با استفاده از جاوا، فضای رنگی RGB را به مقیاس خاکستری تبدیل کنید

اکثر فایل‌های PDF حاوی محتوای متنی هستند که می‌توانند به خوبی در فضای رنگی Grayscale نمایش داده شوند. علاوه بر این، هنگامی که هدف و اولویت ذخیره هر بایت است، حتی تصاویر را می توان به مقیاس خاکستری تبدیل کرد زیرا تمرکز روی آرشیو داده ها است. می‌توانید مراحل زیر را برای فشرده‌سازی و بهینه‌سازی اندازه فایل PDF با تبدیل فضای رنگی RGB به Grayscale دنبال کنید:

  1. دسترسی به سند PDF منبع
  2. نمونه RgbToDeviceGrayConversionStrategy را راه اندازی کنید
  3. فضای رنگی هر رنگ را به مقیاس خاکستری تبدیل کنید
  4. فایل PDF بهینه سازی شده خروجی را ذخیره کنید

قطعه کد زیر نحوه فشرده سازی و بهینه سازی اندازه PDF را با تغییر فضای رنگ در محیط جاوا نشان می دهد:

// سند PDF ورودی را بارگیری کنید
Document document = new Document("input.pdf");

// نمونه RgbToDeviceGrayConversionStrategy را راه اندازی کنید
RgbToDeviceGrayConversionStrategy strategy = new RgbToDeviceGrayConversionStrategy();
for (int idxPage = 1; idxPage <= document.getPages().size(); idxPage++) {
	Page page = document.getPages().get_Item(idxPage);
        
        // فضای رنگی هر صفحه را به مقیاس خاکستری تبدیل کنید
	strategy.convert(page);
}
// ذخیره سند PDF خروجی
document.save("output.pdf");

نتیجه

در این مقاله راه‌ها و روش‌های مختلفی را برای بهینه‌سازی و فشرده‌سازی فایل‌های پی‌دی‌اف برای کاهش حجم ارائه کرده‌ایم. اول از همه، ما اندازه فایل PDF را برای وب با استفاده از جاوا بهینه کرده ایم. سپس کوچک کردن، فشرده سازی و تغییر اندازه تصاویر را در یک فایل PDF حاوی چندین تصویر یاد گرفتیم. علاوه بر این، کار با فونت‌ها، جریان‌ها، حاشیه‌نویسی‌ها، فیلدهای فرم و همچنین تبدیل فضای رنگی سند PDF به مقیاس خاکستری را نیز بررسی کرده‌ایم تا بتوان یک فایل PDF با اندازه کمتر اما با همان کیفیت را با استفاده از جاوا ایجاد کرد. علاوه بر این، در صورت وجود هرگونه سوال مرتبط با این موضوع، می توانید از طریق [تالار گفتمان پشتیبانی رایگان12 با ما تماس بگیرید.

همچنین ببینید

اطلاعات: با استفاده از یک برنامه وب آنلاین جدید از Aspose، می‌توانید مجموعه‌ای از تصاویر را به ویدیو تبدیل کنید. همچنین ممکن است بخواهید سرویس دیگری را بررسی کنید، سرویسی که [صداها را از ویدیوها استخراج می‌کند11.