هل من الممكن إخراج تنسيقات أخرى غير .docx و.odt باستخدام البرنامج المساعد TinyButStrong وOpenTBS
سؤال
لدي وحدة تقوم بدمج مستند من سجلات قاعدة البيانات و .docx
أو .odt
نموذج الوثيقة.
لا بد لي من الإخراج .docx
, .odt
أو .pdf
.بالنسبة للإخراج إلى تنسيقات Microsoft وOpen، لا توجد مشكلة، فكل شيء يعمل بشكل صحيح.
ولكن ما أريد معرفته هو، هل يمكنني الإخراج إلى تنسيق (مثل XML أو HTML) يمكنني استخدامه لإنشاء مستند PDF لاحقًا؟
إذا لم أستطع، هل هناك أي مكتبات توفر إمكانية دمج المستندات مثل:
DOCX (or ODT) + database record => PDF
وأنا لا أريد استخدام phplivedocx.
المحلول
لا أعرف أي مكتبة PHP تستخدم DOCX => PDF.في الواقع، يعد تحويل DOCX إلى شيء آخر في PHP مشكلة مفتوحة اليوم.وهذا مستقل عن كيفية إنشاء DOCX.
ولكن كما قلت، فهي مكتبات PHP لـ HTML => PDF.
HTML2PDF هي مكتبة PHP ذات سمعة طيبة والتي تستخدم HTML => PDF.يوجد ايضا دومبدف.
لذا، إذا كان بإمكانك العثور على مكتبة PHP لـ DOCX => HTML، فستعمل.
بالطبع لديه بعض القيود لأنه حتى لو تم فتح كل من PDF و DOCX، فإنهما يتمتعان بميزات محددة للغاية، ويحتاجان إلى عملية عرض ضخمة، ويحتفظ المحررون ببعض النصائح الجيدة لهم.
يعد تحويل DOCX إلى HTML ممكنًا من الناحية النظرية.هناك برنامج ويندوز يقوم بذلك EpingSoft.إذا كنت بحاجة إلى القيام بذلك بلغة PHP، فإن بعض مقالات الويب تخبرك بكيفية القيام بذلك، ولكن نظرًا لعدم تمكني من العثور على أي كود PHP للقيام بذلك، أعتقد أنه نظري أكثر منه عملي.
http://www.quepublishing.com/articles/article.aspx?p=691502
يعتمد مدى تعقيد هذه العملية على مقدار التنسيق الأصلي للكلمة الذي تحتاجه للحفاظ عليه أثناء التحويل.
إذا كنت تريد تجربة هذه الطريقة، فمن الجيد أن تعرف أن OpenTBS يمكّنك من قراءة XML قبل الدمج وبعده.يعتمد على أسماء فئات PHP TbsZip التي يمكنها قراءة أي ملف XML في DOCX لأنه في الواقع أرشيف مضغوط.
نصائح أخرى
لقد نجحت في وضع نسخة محمولة من libreoffice على خادم الويب الخاص بمضيفي، والتي أتصل بها باستخدام PHP لإجراء تحويل سطر الأوامر من .docx، وما إلى ذلك.إلى قوات الدفاع الشعبي.على الطاير.ليس لدي حقوق المسؤول على خادم الويب الخاص بالمضيف.إليكم مشاركة مدونتي لما فعلته:
ياي!قم بالتحويل مباشرة من .docx أو .odt إلى .pdf باستخدام PHP مع LibreOffice (خليفة OpenOffice)!
من الممكن أيضًا استخدام ملفات PDF مباشرة في TBS بعد فك الضغط:
qpdf --qdf --object-streams=disable in.pdf out.pdf