متوفر أيضًا بلغات أخرى: English · Español · Português · Français
ضغط PDF: صغّر حجم ملفك دون أن يغادر متصفحك
أداة تفتح ملف PDF داخل متصفحك وتعيد بناءه وتضغط صوره لتصغّر حجمه، دون رفعه إلى أي خادم ودون أن يفقد نصّه قابلية التحديد والبحث.
ما معنى ضغط ملف PDF؟
حين يبحث أحد عن طريقة لـ«ضغط PDF» أو «تصغير حجم ملف PDF»، فهو يقصد غالبًا شيئًا واحدًا: أن يصبح الملف أخف عند إرساله بالبريد أو رفعه على موقع يحدّ حجم المرفقات، دون أن يفقد شيئًا من محتواه. المشكلة أن أغلب ما يُعرض تحت هذا الاسم على الإنترنت يفعل ذلك بطريقة واحدة فقط: يحوّل كل صفحة إلى صورة ثم يعيد تجميع الملف من هذه الصور. النتيجة أصغر فعلًا، لكن النص فيها لم يعد نصًا بل صار رسمًا لنص؛ لا يمكن تحديده أو نسخه أو البحث فيه، وتختفي الروابط وحقول النماذج من الملف كأنها لم تكن.
هذه الأداة لا تفعل ذلك. هي تفتح ملف PDF وتُعيد كتابته بالكامل داخل تبويب المتصفح نفسه، فلا يُرسَل أي بايت منه إلى أي خادم، ثم تصغّره بطريقتين مختلفتين فعلًا: إعادة بناء بنية الملف من الداخل، وإعادة ترميز الصور المضمّنة فيه إن رغبت. الصفحات تبقى صفحات، والنص يبقى نصًا قابلًا للتحديد والبحث كما كان.
والحقيقة التي تُفاجئ أغلب من يجرّب هذا النوع من الأدوات هي أن الرافعات الحقيقية لتصغير ملف PDF داخل متصفح ليست كثيرة أصلًا. لا توجد إلا أربع طرق ممكنة: ضغط الملف كله بـgzip، وهو عديم الجدوى لأن كل برنامج يُنتج ملفات PDF يضغط تدفقاته الداخلية أصلًا؛ وتحويل الصفحات إلى صور، وهذا ما ترفضه هذه الأداة؛ وإعادة بناء بنية الملف؛ وإعادة ترميز الصور. وهذه الأداة تستعمل الطريقتين الأخيرتين فقط، أولاهما دائمًا، والثانية باختيارك أنت.
كيف تستخدم الأداة
- أفلت ملف PDF أو اخترْه. يُفتح داخل المتصفح فورًا، وتظهر أمامك مباشرة أرقام عدد صفحاته وعدد الصور فيه ونسبة حجمه التي تشغلها تلك الصور.
- اختر مستوى الضغط. بلا فقد إن كنت لا تريد لمس الصور إطلاقًا، أو خفيف أو متوازن أو قوي بحسب مقدار ما تقبل التضحية به من دقة الصور مقابل حجم أصغر.
- نزّل الملف الجديد. بعد أن ترى الحجم الأصلي مقابل الحجم الجديد، ونسبة التوفير مقسومة بين ما جاء من إعادة بناء الملف وما جاء من إعادة ترميز الصور. وإن لم يكن هناك ما يستحق التنزيل، فلن يظهر لك زر تنزيل من الأساس.
الاكتشاف: بنية الملف وحدها قد توفّر الكثير
أكبر مفاجأة في بناء هذه الأداة لم تكن في الصور بل في الملف نفسه. منذ الإصدار PDF 1.5 صار بالإمكان تسلسل كائنات الملف الداخلية بتدفقات مراجع متقاطعة وتدفقات كائنات مضغوطة، وهي طريقة أكثر إحكامًا من الطريقة التقليدية القديمة. أي ملف كُتب بإصدار أقدم من ذلك، أو بأداة لا تستعمل هذه الإمكانية، يحمل بنية أثقل مما يحتاج، وإعادة كتابته بالطريقة الحديثة تصغّره دون أن تغيّر بايتًا واحدًا من محتواه الفعلي.
قِسنا هذا على ثلاثة ملفات PDF منشورة وحقيقية، بإعادة حفظها دون لمس أي صورة فيها. مواصفة CSS 2.1، بصيغة PDF 1.4 القديمة، نزلت من 1,424,897 بايت إلى 841,245 بايت، أي أخف بنسبة 41.0%. بحث من arXiv، بصيغة PDF 1.5، نزل من 2,215,244 إلى 1,825,255 بايت، أي أخف بنسبة 17.6%. أما منشور NIST الخاص رقم 811، بصيغة PDF 1.6، فلم يخف إلا 0.5%، من 2,027,518 إلى 2,017,098 بايت، لأنه كان يستعمل تدفقات الكائنات المضغوطة أصلًا فلم تترك له إعادة الكتابة شيئًا يوفّره.
هذا يعني أن ملفًا واحدًا قديمًا كافٍ لإثبات أن إعادة البناء وحدها، قبل أي قرار بشأن الصور، قد توفّر أكثر من ثلث الحجم. ويعني أيضًا أن ملفًا حديثًا مُنتَجًا بأداة جيدة قد لا يستفيد من هذه الخطوة شيئًا يُذكر، وعندها يكون مصير حجمه معلّقًا كليًا على ما بداخل صوره.
والأهم أن إعادة البناء هذه بلا فقد فعلًا، لا بالوعد بل بالتحقق: بعد إعادة الحفظ كان عدد الصفحات نفسه، وعدد الكائنات الداخلية نفسه (5,928 كائنًا دخلت و5,928 خرجت في ملف مواصفة CSS، لم يُحذف منها شيء)، وكائنات الخطوط والصور نفسها، وكل الروابط الـ3,489 في ذلك الملف محفوظة بعددها كاملًا، ومدخلات الفهرس كلها بما فيها قاموس النماذج وشجرة البنية الموسومة، وتدفق محتوى كل صفحة بعد فك ترميزه مطابق حرفيًا لما كان عليه قبل إعادة الحفظ. وحين أُعيد حفظ الملفات نفسها مع تعطيل تدفقات الكائنات المضغوطة عمدًا، خرج الملف أكبر من الأصل في حالتين من الثلاث، وهذا يؤكد أن التوفير مصدره طريقة الترميز، لا حذف أي جزء من الملف.
حدود صادقة: ما الذي لا تلمسه الأداة ولماذا
نسبة صور الملف من إجمالي بايتاته هي ما يحدّد أصلًا إن كان لأي خطوة أخرى معنى: في العيّنات التي قِسناها كانت الصور 8.9% من حجم بحث arXiv، و30.1% من تقرير NIST، و10.5% من مواصفة CSS، بينما مسح ضوئي عادي بالهاتف يكون كله صورًا تقريبًا. وأغلب هذه الصور، خلافًا لما قد يُظن، لم تكن بصيغة JPEG أصلًا: 98% من بايتات الصور في تلك الملفات كانت مخزّنة بضغط Flate بثمانية بتّات لكل مكوّن في فضاء الرمادي أو RGB. أداة تتعامل مع JPEG فقط ما كانت لتصغّر شيئًا من هذه الصور، وهذه الأداة تتعامل مع الصنفين: تدفق JPEG يُفكّه المتصفح ويُعاد ترميزه مباشرة، وصورة Flate تُفكّ ضغطها ويُلغى منها متنبّئ الصفوف وتُسلَّم بكسلاتها الخام للمرمّز نفسه.
مع ذلك تترك الأداة بعض الصور كما هي عمدًا، لا إهمالًا. صور المسح الثنائية اللون بصيغتي CCITT fax أو JBIG2 أصغر أصلًا من أي JPEG يمكن صنعه منها، فتركها هنا يعني أنها أفضل مما كنا سننتجه. صور JPEG 2000 لا يعرف أي متصفح فكّ ترميزها. صور CMYK تبقى بأي صيغة خُزّنت بها، لأن المتصفحات تفكّ ترميز JPEG بنظام CMYK من Adobe بطرق غير متّسقة وبعضها يقلب الألوان، وإفساد ألوان ملف مُعدّ للطباعة في صمت أسوأ من تركه بحجمه. وأقنعة الشفافية، أي الصورة المستعملة قناع شفافية لصورة أخرى، يجب أن تبقى بتدرّج رمادي كما تشترط المواصفة، بينما تعيد إعادة الترميز الألوان دائمًا، فاستبدالها يكسر الشفافية بدل أن يخفّفها. وكذلك اللوحات المفهرسة والاستنسلات ذات البت الواحد والصور الأصغر من 8 كيلوبايت، حيث احتمال أن تكبر الصورة بعد رحلة الفك وإعادة الترميز يوازي تمامًا احتمال أن تصغر.
وحتى الصور التي تُعيد الأداة ترميزها فعلًا لا تُستبدل تلقائيًا: لا يحدث الاستبدال إلا إذا كان الناتج أصغر فعلًا من الأصل، مقيسًا لا مفترضًا. صورة فوتوغرافية بصيغة JPEG حجمها 433 كيلوبايت أُعيد ترميزها بجودة 0.82 فعادت 537 كيلوبايت، وبجودة 0.65 عادت 447 كيلوبايت، وكلتاهما أكبر من الأصل، فتُترك الصورة كما هي. التوفير الحقيقي في صورة كهذه يأتي غالبًا من تصغير أبعادها بالبكسل لا من إعادة ترميزها: الصورة نفسها حين حُدّت عند 1200 بكسل عادت بحجم 202 كيلوبايت. والصور المخزّنة بلا فقد أصلًا تُحاسَب بعتبة أعلى، لأن استبدال تدفق بلا فقد بآخر بفقد إتلاف فعلي للمعلومة: تسع صور بلا فقد في تلك الملفات كانت كلها مخطّطات ورسومًا بيانية، وإعادة ترميزها بصيغة JPEG جعلت كل واحدة منها أكبر بمقدار يتراوح بين 1.42 و4.22 ضعف حجمها، لأن اللون المسطّح هو بالضبط ما يُتقنه Flate وما يفشل فيه JPEG، بينما صورتان فوتوغرافيتان حقيقيتان مخزّنتان بالطريقة نفسها بلا فقد، قيستا على حدة، عادتا بما بين 0.045 و0.121 من حجمهما الأصلي فقط. بين المجموعتين فجوة بمقدار رتبة عشرية كاملة، وعتبة الأداة موضوعة في منتصف هذه الفجوة تمامًا.
وأخيرًا، القاعدة نفسها تنطبق على الملف كله: إن لم يكن الناتج النهائي أصغر فعلًا من الملف الذي أدخلته، فلن تعرض الأداة زر تنزيل إطلاقًا، بل تقول لك ذلك بصراحة. ملف معظمه نص لا يمكن لأحد تصغيره تصغيرًا ذا معنى؛ وأي أداة تعرض لك نسبة توفير على ملف كهذا فهي إما تحوّله صورًا في الخفاء وإما تحتسب لك من دون أن تخبرك مجرد إعادة حفظه بمحرّكها الخاص.
لماذا هذه الأداة مجانية؟
كل ما يحدث هنا يجري داخل متصفحك أنت: فتح الملف، وقراءة بنيته، وإعادة ترميز صوره إن اخترت ذلك، وإعادة كتابته من جديد. لا يُرفع أي بايت من ملفك إلى أي خادم، ولن يُطلب منك حساب ولا بريد إلكتروني، ولن يُختم الملف الناتج بأي علامة أو اسم لهذه الأداة. لهذا لا تكلّف الأداة شيئًا لتشغيلها على نطاق واسع، وهذا هو السبب في أنها مجانية بلا قيد.