نظرة عامة
تعد أداة cairosvg أحد الحلول الرائدة في بيئة لينكس لتحويل الرسومات المتجهية SVG إلى تنسيقات نقطية ومستندات قياسية مثل PNG وPDF بسرعة وكفاءة فائقة. يغطي هذا الدليل العملي كيفية تثبيت الحزمة على نظام Ubuntu، والتعامل مع خيارات التحويل الأساسية، وضبط أبعاد الصور وكثافتها النقطية، بالإضافة إلى بناء سكربت شل لأتمتة معالجة مجموعات الملفات الكبيرة في بيئات العمل الحقيقية.
1. تثبيت حزمة cairosvg وإنشاء ملف متجهي اختباري
لتهيئة بيئة المعالجة على نظام Ubuntu، نقوم بتحديث مستودعات الحزم وتثبيت أداة cairosvg عبر تنفيذ الأمر sudo apt-get update -qq && sudo apt-get install -y python3-cairosvg.

تعتمد أداة cairosvg على مكتبة Cairo لتوفير تحويل فوري وعالي الدقة لرسومات SVG المتجهية إلى هيئات متعددة تشمل PNG وPDF وPS.
يمكن التأكد من استقرار التثبيت ومعرفة الإصدار المتاح في النظام عبر تشغيل cairosvg --version.
⚙️ [أهم الخيارات التشغيلية]
-f, --format : تعيين صيغة الملف المستهدف (png, pdf, ps, svg).-o, --output : تحديد مسار واسم الملف لحفظ النتيجة الناتجة.-w, --width : تحديد عرض الصورة المحولة بالبكسل.-h, --height : تعيين ارتفاع الصورة المحولة بوحدة البكسل.-s, --scale : تطبيق معامل تكبير أو تصغير قياسي استناداً إلى الحجم الأصلي.-d, --dpi : تحديد دقة التصيير النقطي ومستوى الكثافة لكل بوصة (DPI).-b, --background : تعيين لون خلفية محدد بدلاً من الخلفية الشفافة التلقائية.

لتجهيز نموذج متجهي لاختبار عمليات التحويل، ننشئ ملف sample.svg يحوي أشكالاً هندسية ونصاً بسيطاً بالاعتماد على أمر cat وآلية Here Document.

للاطلاع على الحجم الفعلي للملف وبياناته الأساسية في مسار العمل، ننفذ أمر الفحص ls -lh sample.svg.

2. تصدير ملفات SVG إلى تنسيقات PNG وPDF القياسية
لتحويل الرسم المتجهي sample.svg إلى صورة نقطية بصيغة PNG، نطبق الأمر cairosvg sample.svg -o sample.png.
يتعرف محرك الأداة تلقائياً على الامتداد المستهدف الممرر في الخيار -o (.png) ليقوم بتصيير الصورة مباشرة دون الحاجة لوسائط إضافية.

للتحقق من سلامة البنية التقنية ومواصفات ملف sample.png الناتج، نشغل الأمر file sample.png.
يوفر هذا الفحص بيانات دقيقة حول نوع الملف، ودقة العرض، وتوزيع الألوان المستخدمة.

إذا تطلب العمل استخراج الرسم المتجهي كمستند مخصص للطباعة والمشاركة، يتم تحويل sample.svg إلى صيغة PDF بتنفيذ cairosvg sample.svg -o sample.pdf.
ينتج عن ذلك مستند PDF متكامل يحافظ على الحدة المتجهية للخطوط والأشكال دون أي تشويش.

للتثبت من توافق المستند المُنشأ مع المعايير القياسية لملفات PDF، نستخدم أمر التحقق file sample.pdf.
يؤكد الناتج صحة الترويسة الرقمية للملف وهيكليته البرمجية.

3. التحكم المتقدم في الأبعاد والكثافة النقطية ونسب التكبير
لفرض أبعاد محددة بدقة على الصورة الناتجة، نمرر العرض والارتفاع المطلوبين عبر الأمر cairosvg sample.svg -o sample_800px.png -W 800 -H 800.
يعمل الخياران -W و -H على تثبيت القياسات عند 800 بكسل لكل من المحورين الأفقي والعمودي.

لمضاعفة أبعاد الرسم مرتين مع الحفاظ الصارم على نسب العرض إلى الارتفاع الأصلية، ننفذ cairosvg sample.svg -o sample_scale2x.png -s 2.0.
يسمح الخيار -s بقيمة 2.0 بالحصول على صورة PNG مكبرة بضعف الحجم دون فقدان الدقة المتجهية.

في حال استهداف مخرجات ذات جودة فائقة للأغراض الطباعية، نرفع كثافة التصيير عبر تشغيل cairosvg sample.svg -o sample_300dpi.png -d 300.
يضمن تطبيق الخيار -d بمعدل 300 DPI إنتاج صورة عالية التفاصيل والوضوح.

لمراجعة قائمة ملفات PNG المولدة ومقارنة الفروق التخزينية بين خيارات المعالجة المختلفة، نستعرض النتائج بواسطة ls -lh sample*.png.
يتيح هذا الاستعراض رؤية واضحة لأثر تباين الأبعاد ومعدلات DPI على الحجم الإجمالي لكل صورة.

4. أتمتة التحويل الجماعي لملفات SVG باستخدام سكربت شل
لتطبيق آلية التحويل الدفعي الآلي، ننشئ دليلاً تجريبياً وننسخ إليه ملفات SVG متعددة عبر تشغيل mkdir -p svg_batch && cp sample.svg svg_batch/icon1.svg && cp sample.svg svg_batch/icon2.svg.
![]()
باستخدام حلقة التكرار for في بيئة Bash وتقنية استبدال السلاسل ${f%.svg}.png، نقوم بتحويل سائر رسومات SVG داخل المجلد إلى صيغة PNG عبر أمر واحد: for f in svg_batch/*.svg; do cairosvg "$f" -o "${f%.svg}.png"; done.
تتم معالجة كل ملف على حدة تلقائياً مع توليد الصورة النقطية المطابقة لاسمه دون تدخل يدوي.

للتحقق من إتمام المهمة وظهور المخرجات النقطية بجانب الملفات الأصلية داخل مجلد svg_batch، نشغل الأمر ls -lh svg_batch/.
يؤكد العرض اكتمال تصيير كافة الرسوم المتجهية بنجاح وفق التسميات المستهدفة.

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