تستخدم المنظمات المختلفة ملفات PDF للتبادل الآمن والمنظم للمعلومات. ومع ذلك ، في بعض الأحيان ، تصبح ملفات PDF ضخمة الحجم بسبب المحتويات المضمنة مثل الصور ومقاطع الفيديو والرسومات وما إلى ذلك. يمكنك بسهولة تحسين أو ضغط حجم ملف PDF دون أي مساومة على الجودة. دعنا نستكشف السيناريوهات التالية لضغط وتحسين حجم PDF والتي يمكنك دمجها في تطبيقات Java الخاصة بك:

واجهة برمجة تطبيقات تحسين حجم وضغط ملفات PDF - التثبيت

يمكنك الاستفادة من الإجراءات الفعالة والموثوقة لـ Aspose.PDF for Java API لتحسين أو ضغط ملفات PDF كبيرة الحجم مع الحفاظ على نفس الجودة. يمكنك تنزيل ملفات JAR من التنزيلات أو باستخدام تكوينات Maven في مشروعك.

تحسين مستندات PDF للويب باستخدام Java

يمكن تحسين مستند PDF عندما تحتاج إلى استخدامه في صفحات الويب الخاصة بك. هذا التحسين مفيد لعرض الصفحة الأولى من مستند PDF بأسرع ما يمكن. يمكنك الحصول على ملف PDF المحسن باتباع الخطوات التالية:

  1. ملف PDF مفتوح المصدر
  2. استدعاء طريقة التحسين لتحسين PDF
  3. احفظ ملف PDF الناتج

يعد مقتطف الشفرة أدناه مثالاً على كيفية تحسين مستندات PDF للويب في بيئة Java الخاصة بك:

// افتح المستند
Document pdfDocument = new Document("Original.pdf");

// تحسين للويب
pdfDocument.optimize();

// حفظ وثيقة الإخراج
pdfDocument.save("Optimized_output.pdf");

ضغط أو تحسين حجم ملف PDF الذي يحتوي على صور باستخدام Java

سنناقش هنا بشكل أساسي السيناريوهات التي تحتوي فيها ملفات PDF على الكثير من الصور وبالتالي تكون ضخمة الحجم. على سبيل المثال ، ملف PDF يحتوي على رسم لنماذج مختلفة من الطائرات ومعلومات حول كل جزء ، صغير أو رئيسي ، يتم تضمينه كصور أو صور لجميع المكونات. علاوة على ذلك ، يمكن أن تحتوي العديد من المستندات الاحترافية على صور كأعمال فنية رئيسية للملف. في مثل هذه السيناريوهات ، يمكننا ضغط ملفات PDF بالطرق التالية:

تصغير وضغط وتغيير حجم كل الصور باستخدام Java

يمكنك تصغير حجم ملف PDF الذي يحتوي على العديد من الصور عن طريق تقليص وضغط وتغيير حجم الصور. قد تكون تحسينات الحجم ملحوظة لأن معظم حجم الملف مغطى بالصور التي ننوي الآن تقليصها. تحتاج إلى اتباع الخطوات أدناه لتقليص وضغط وتغيير حجم الصور أو الصور في ملف PDF:

  1. قم بتحميل ملف PDF للإدخال
  2. تهيئة OptimizationOptions كائن
  3. ضبط جودة الصورة ودقتها
  4. استدعاء طريقة optimizeResources
  5. احفظ مستند PDF الناتج

يوضح مقتطف الشفرة أدناه كيفية تقليص الصور أو ضغطها لتقليل حجم ملف PDF وتصغيره باستخدام Java:

// تحميل مستند الإدخال
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");

إزالة الخطوط المضمنة والتدفقات غير المستخدمة وربط التدفقات المكررة باستخدام Java

عندما تحتاج إلى تقليل حجم ملف 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 باستخدام Java

غالبًا ما تحتوي ملفات PDF على تعليقات توضيحية وحقول نماذج قابلة للتحرير وتشكيلات لونية تشغل مساحة مجتمعة. دعنا نستكشف الإجراءات التالية لضغط حجم ملف PDF.

إزالة أو تسطيح التعليقات التوضيحية لتقليل الحجم باستخدام Java

يمكن أن تحتوي ملفات PDF على الكثير من التعليقات التوضيحية. على سبيل المثال ، العلامة المائية ، والتعليقات ، والأشكال ، وما إلى ذلك. يمكنك إزالة التعليقات التوضيحية إذا لم تعد مطلوبة بعد الآن أو تسمين التعليقات التوضيحية إذا لم تكن هناك حاجة إلى مزيد من التغييرات. الرجاء اتباع الخطوات أدناه لإزالة التعليقات التوضيحية أو تسويتها لتحسين حجم ملف PDF:

  1. وثيقة PDF مفتوحة المصدر
  2. كرر من خلال كل صفحة
  3. تسطيح أو حذف التعليقات التوضيحية
  4. احفظ مستند PDF الناتج

يعد مقتطف الشفرة أدناه مثالاً على كيفية إزالة التعليقات التوضيحية أو تسويتها في مستندات PDF باستخدام Java:

// افتح المستند
Document pdfDocument = new Document(dataDir + "OptimizeDocument.pdf");

// كرر خلال كل صفحة وتعليق توضيحي
for (Page page : pdfDocument.getPages())
{
   for (Annotation annotation : page.getAnnotations())
    {
        // إما أن تتسطح التعليق التوضيحي
        annotation.flatten();
        
        // أو احذف التعليق التوضيحي
        // page.getAnnotations().حذف (تعليق توضيحي) ؛        
    }
}
// احفظ مستند PDF المحسن
pdfDocument.save(dataDir + "OptimizeDocument_out.pdf");

إزالة حقول النموذج لتقليل حجم ملف PDF باستخدام Java

نماذج 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);

تحويل RGB Color Space إلى Grayscale لضغط PDF وتحسينه باستخدام Java

تحتوي معظم ملفات PDF على محتويات نصية يمكن تمثيلها جيدًا في مساحة اللون بتدرج الرمادي أيضًا. علاوة على ذلك ، عندما يكون الغرض والأولوية هو حفظ كل بايت ، يمكن تحويل الصور إلى Greyscale لأن التركيز ينصب على أرشفة البيانات. يمكنك اتباع الخطوات التالية لضغط وتحسين حجم ملف PDF عن طريق تحويل مساحة ألوان RGB إلى تدرج الرمادي:

  1. الوصول إلى مستند PDF المصدر
  2. تهيئة مثيل RgbToDeviceGrayConversionStrategy
  3. قم بتحويل مساحة اللون لكل لون إلى تدرج رمادي
  4. احفظ ملف PDF المحسن الناتج

يوضح مقتطف الشفرة التالي كيفية ضغط حجم PDF وتحسينه عن طريق تغيير مساحة اللون في بيئة Java:

// تحميل وثيقة 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);
        
        // تحويل مساحة اللون لكل صفحة إلى Greyscale
	strategy.convert(page);
}
// احفظ مستند PDF الناتج
document.save("output.pdf");

استنتاج

في هذه المقالة ، قمنا بتغطية طرق وأساليب مختلفة لتحسين وضغط ملفات PDF لتقليل الحجم. بادئ ذي بدء ، قمنا بتحسين حجم ملف PDF للويب باستخدام Java. ثم تعلمنا تقليص وضغط وتغيير حجم الصور في ملف PDF يحتوي على عدة صور. علاوة على ذلك ، اكتشفنا أيضًا العمل مع الخطوط والتدفقات والتعليقات التوضيحية وحقول النموذج بالإضافة إلى تحويل مساحة ألوان مستند PDF إلى التدرج الرمادي بحيث يمكن إنشاء ملف PDF بحجم أقل ولكن بنفس الجودة باستخدام Java. علاوة على ذلك ، في حالة وجود أي استفسار يتعلق بهذا الموضوع ، يمكنك الاتصال بنا عبر منتدى الدعم المجاني.

أنظر أيضا

معلومات: باستخدام تطبيق ويب جديد على الإنترنت من Aspose ، يمكنك تحويل مجموعة من الصور إلى فيديو. قد ترغب أيضًا في التحقق من خدمة أخرى ، خدمة تستخرج الأصوات من مقاطع الفيديو.