تحويل ملفات DOCX إلى PDF دفعة واحدة باستخدام واجهة سطر الأوامر LibreOffice

إذا كان لديك مجلد يحتوي على ملفات Word، فيمكن لبرنامج LibreOffice تحويلها بأمر واحد. من المجلد الذي يحتوي على ملفات DOCX، أنشئ مجلد إخراج فارغًا وشغّل الأمر libreoffice --headless --convert-to pdf:writer_pdf_Export --outdir pdf *.docx. سيستخدم هذا الأمر فلتر تصدير PDF الخاص ببرنامج Writer، مع الاحتفاظ بالملفات الأصلية.

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

قم بإجراء تحويل دفعي مباشر

في نظام لينكس، افتح نافذة طرفية في المجلد الذي يحتوي على الملفات. أنشئ مجلد الإخراج أولاً:

mkdir -p pdf
libreoffice --headless --convert-to pdf:writer_pdf_Export --outdir pdf *.docx

--headlessيُنفَّذ هذا الأمر دون فتح نافذة سطح المكتب العادية. --convert-toيختار ملف PDF كصيغة الوجهة، writer_pdf_Exportويُسمّي مُرشِّح تصدير PDF الخاص ببرنامج LibreOffice Writer، ثم --outdir pdfيُرسل النتائج إلى pdfالمجلد. يقوم البرنامج بتوسيع *.docxالملفات المطابقة قبل بدء تشغيل LibreOffice. يُوثِّق LibreOffice صيغة التحويل هذه واسم المُرشِّح في مرجع معلمات سطر الأوامر وقائمة مُرشِّحات تحويل الملفات .

يعرض طرفية لينكس أمر دفعي من LibreOffice يقوم بتحويل ملفات DOCX إلى PDF وعرض قائمة بملفات PDF الناتجة.
مثال على مخرجات الطرفية بعد إرسال مجموعة صغيرة من ملفات DOCX إلى LibreOffice باستخدام مرشح تصدير PDF الخاص بـ Writer.

اختر نمط الدفعة المناسب

يُفضّل استخدام الأمر ذي الأحرف البديلة عندما تكون جميع ملفات DOCX موجودة مباشرةً داخل مجلد إدخال واحد. فهو لا يبحث في المجلدات الفرعية. في نظام لينكس، يكون النمط حساسًا لحالة الأحرف افتراضيًا، لذا *.docxقد يتجاهل الملفات التي تنتهي بـ .DOCX. إذا أبلغت نافذة الأوامر بأن النمط غير مطابق، فاعرض قائمة الملفات وتحقق من امتداداتها قبل تغيير الأمر.

بالنسبة للمستندات الموجودة داخل مجلدات فرعية، يمكن للحلقة الحفاظ على بنية الدليل وتجنب التعارضات عندما يحتوي مجلدان على ملف بنفس الاسم. حدد inputشجرة المصدر pdfوشجرة وجهة منفصلة.

input="$PWD/input"
output="$PWD/pdf"
profile="file:///tmp/lo-batch-profile"

find "$input" -type f -iname '*.docx' -print0 |
while IFS= read -r -d '' file; do
  rel="${file#"$input"/}"
  dest="$output/$(dirname "$rel")"
  mkdir -p "$dest"
  libreoffice --headless \
    -env:UserInstallation="$profile" \
    --convert-to pdf:writer_pdf_Export \
    --outdir "$dest" "$file"
done

-print0وتتعامل عملية المطابقة read -d ''بأمان مع المسافات ومعظم الأحرف غير المألوفة في أسماء الملفات. يمنع الملف التعريفي المنفصل هذه المهمة الدفعية من التنافس مع جلسة LibreOffice على سطح المكتب التي تستخدم نفس الملف التعريفي للمستخدم؛ راجع وثائق مرجع بدء تشغيل LibreOffice -env:UserInstallation. استخدم مسار ملف تعريفي فريد إذا كان من الممكن تشغيل مهمتي تحويل في الوقت نفسه. احتفظ بشجرة الإخراج خارج شجرة الإدخال حتى لا يتداخل البحث مع النتائج السابقة.

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

عندما يكون برنامج LibreOffice مفتوحًا بالفعل

قد يبدو أن الأمر قد انتهى دون إنشاء ملفات، أو قد يتصل بعملية LibreOffice جارية. يمكن لنسخة سطح المكتب قيد التشغيل أن تحتفظ بملف تعريف المستخدم الافتراضي. أغلق LibreOffice وحاول مرة أخرى؛ بالنسبة للمهام غير المراقبة، -env:UserInstallationيُعد الخيار المعزول في المثال التكراري إجراءً وقائيًا مفيدًا. خصص لكل مهمة متزامنة دليل ملف تعريف خاص بها، وانتظر حتى تنتهي إحدى المهام قبل إعادة استخدام ذلك الدليل.

إذا نص الأمر على ذلك libreoffice: command not found، فقم بتثبيت LibreOffice من خلال مصدر الحزم المدعوم لنظام التشغيل الخاص بك أو استخدم المسار الكامل للملف التنفيذي. في Windows PowerShell، يمكن كتابة أمر دفعي بسيط غير متكرر على النحو التالي:

$src = (Resolve-Path .).Path
$out = Join-Path $src 'pdf'
New-Item -ItemType Directory -Force -Path $out | Out-Null
$soffice = "$env:ProgramFiles\LibreOffice\program\soffice.exe"
Get-ChildItem -File -Filter *.docx | ForEach-Object {
  & $soffice --headless --convert-to pdf:writer_pdf_Export --outdir $out $_.FullName
}

قم بتعديل الإعدادات $sofficeإذا كان LibreOffice مثبتًا في مكان آخر. شغّل الأمر من مجلد المصدر، واستخدم مجلد إخراج جديد. Get-ChildItem -Fileيبحث PowerShell في هذا المجلد فقط ما لم يُطلب التكرار؛ تتطلب المهام المتكررة حلقةً تُنشئ مجلد وجهة مطابقًا لكل مسار مصدر.

ما الذي يمكن أن يؤثر على النتيجة؟

يحافظ تحويل ملفات PDF على التنسيق الذي يمكن لبرنامج LibreOffice تفسيره، ولكن لا يقوم برنامجا Word وLibreOffice دائمًا بترقيم الصفحات بشكل متطابق. قد تؤدي الخطوط المفقودة، أو العناصر المضمنة غير المدعومة، أو التغييرات المُتعقبة، أو الحقول، أو الجداول المعقدة إلى تغيير فواصل الأسطر وعدد الصفحات. لضمان تناسق الطباعة، ثبّت الخطوط المطلوبة للمستندات قبل التحويل. قد تحتاج الملفات المحمية أو المشفرة بكلمة مرور إلى فتحها باستخدام بيانات اعتماد أو معالجتها يدويًا، وقد يفشل تحويل ملف DOCX تالف تلقائيًا حتى لو تم تحويل ملفات أخرى.

لا تُشغّل عملية المعالجة الدفعية بشكل متكرر في مجلد يحتوي على ملفات PDF مهمة تحمل نفس الأسماء. استخدم وجهة تخزين نظيفة أو أنشئ نسخة احتياطية من المخرجات الحالية أولًا. إذا كان أحد الملفات بالغ الأهمية، فافتحه في LibreOffice Writer وافحصه قبل الاعتماد على ملف PDF. إذا كان ترقيم الصفحات الدقيق في Microsoft Word شرطًا تعاقديًا، فقد لا يكون LibreOffice هو البرنامج المناسب؛ قارن نموذجًا توضيحيًا في التطبيق الذي يُحدد التنسيق المطلوب.

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

تحقق من المخرجات قبل مشاركتها

قارن أولاً عدد ملفات المصدر بعدد ملفات PDF. في نظام لينكس، تحسب هذه الأوامر عدد الملفات في مجلد مسطح:

find . -maxdepth 1 -type f -iname '*.docx' | wc -l
find pdf -maxdepth 1 -type f -iname '*.pdf' | wc -l

للتحويل المتكرر، قارن عدد الملفات في شجرتي الإدخال والإخراج بالكامل. يُعدّ تطابق عدد الملفات مؤشرًا مفيدًا، ولكنه ليس ضمانًا للجودة: فقد يتطلب الأمر مراجعة مستند تالف أو نسخة مكررة تم استبدالها. تحقق من سجل الأوامر بحثًا عن الأخطاء، وتأكد من ظهور كل اسم ملف متوقع في الوجهة.

افحص نماذج من ملفات PDF باستخدام برنامج عرض PDF. تحقق من الصفحة الأولى والأخيرة، وعدد الصفحات، والهوامش، والجداول، والرؤوس والتذييلات، والصور، وأي فواصل صفحات مهمة. إذا pdfinfoكان البرنامج مثبتًا، pdfinfo pdf/Report.pdfفإنه يوفر بيانات وصفية مثل عدد الصفحات وحجمها؛ ولكنه لا يُقيّم جودة الصورة. أعد التحويل فقط بعد تصحيح مشكلة محددة، مثل تثبيت خط مفقود أو تغيير مجلد الإخراج، ثم راجع ملفات PDF المتأثرة مرة أخرى.

يعرض طرفية لينكس مخرجات pdfinfo مع عدد الصفحات وحجم الصفحة وحجم الملف لملف PDF المحول.
مثال على عرض التحقق الذي يوضح بيانات تعريف ملف PDF مثل عدد الصفحات وحجم الورق.

تكون الدفعة جاهزة عند وجود جميع ملفات PDF المتوقعة، وفتحها دون أخطاء، واحتفاظ الصفحات المهمة بتنسيقها الأصلي. بالنسبة للأرشيفات الطويلة، احتفظ بملفات DOCX الأصلية وسجلات التحويل، حتى يُمكن تتبع أي عطل وإعادة تشغيل العملية دون استبدال أي مخرجات أخرى.

اترك تعليقاً

إنشاء ملفات PDF باستخدام LibreOffice مع الاحتفاظ بالخطوط المستخدمة

إنشاء ملفات PDF باستخدام LibreOffice مع الاحتفاظ بالخطوط المستخدمة

قم بإصلاح الخطوط المفقودة أو المستبدلة في ملفات PDF الخاصة ببرنامج LibreOffice Writer، واختر ملف تعريف التصدير الصحيح، وتحقق من الخطوط المضمنة قبل المشاركة.

تحويل ملفات DOCX إلى PDF دفعة واحدة باستخدام واجهة سطر الأوامر LibreOffice

تحويل ملفات DOCX إلى PDF دفعة واحدة باستخدام واجهة سطر الأوامر LibreOffice

قم بتحويل مجلد يحتوي على مستندات Word إلى PDF باستخدام أوامر LibreOffice، وتعامل مع المجلدات المتداخلة بأمان، وتحقق من الناتج قبل مشاركته.

اجعل كل مستند جديد للكاتب يستخدم قالبك

اجعل كل مستند جديد للكاتب يستخدم قالبك

قم بتعيين قالب LibreOffice Writer مخصص كقالب افتراضي بحيث يتم فتح المستندات الجديدة بالأنماط وتخطيط الصفحة المفضل لديك.

اجعل LibreOffice يتعرف على بيئة تشغيل Java الخاصة بك

اجعل LibreOffice يتعرف على بيئة تشغيل Java الخاصة بك

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

تشغيل LibreOffice بدون واجهة رسومية في Docker لتحويل ملفات PDF

تشغيل LibreOffice بدون واجهة رسومية في Docker لتحويل ملفات PDF

قم بإنشاء حاوية LibreOffice صغيرة، وقم بتحويل مستندات المكتب بدون واجهة مستخدم رسومية، وتحقق من مخرجات PDF مع تقييد الوصول إلى ملفات المضيف.

صغّر حجم ملفات LibreOffice Impress دون تشويش الصور

صغّر حجم ملفات LibreOffice Impress دون تشويش الصور

قلل من حجم ملفات عروض LibreOffice التقديمية الكبيرة عن طريق ضغط الصور المضمنة، واختيار إعدادات صور معقولة، والتحقق من جودة الشرائح قبل مشاركتها.

منع قصّ الصور المطبوعة ذات الأحجام المخصصة في LibreOffice

منع قصّ الصور المطبوعة ذات الأحجام المخصصة في LibreOffice

قم بمطابقة أبعاد صفحة LibreOffice مع طابعتك، وتحقق من الهوامش القابلة للطباعة، وقم بتصحيح التحجيم قبل طباعة مستند ذي حجم مخصص.

تسريع وحدات ماكرو Calc عن طريق قراءة وكتابة البيانات على دفعات

تسريع وحدات ماكرو Calc عن طريق قراءة وكتابة البيانات على دفعات

استبدل الوصول المتكرر إلى الخلايا بعمليات قراءة وكتابة النطاقات المجمعة، ثم قم بقياس النتائج وحماية الصيغ في مصنفات Calc الكبيرة.

تنظيم دفتر LibreOffice باستخدام المستندات الرئيسية المرتبطة

تنظيم دفتر LibreOffice باستخدام المستندات الرئيسية المرتبطة

قسّم المخطوطة الطويلة إلى فصول، وقم بتجميعها في برنامج Writer، وحافظ على اتساق الأنماط والمحتويات وعمليات التحقق من التصدير.

قم بتوصيل LibreOffice Base بـ PostgreSQL باستخدام المعالج المدمج

قم بتوصيل LibreOffice Base بـ PostgreSQL باستخدام المعالج المدمج

استخدم خيار PostgreSQL المباشر في Base لإدخال تفاصيل الخادم الخاص بك، وتسجيل الدخول، وحفظ ملف اتصال ODB، واستكشاف أخطاء الوصول الشائعة وإصلاحها.