املأ المستندات في Microsoft Word باستخدام Python. الجزء 1

نحن نلتزم بالالتزام بالحصول على معلومات حول المالكين المستفيدين


التمهيدية الصغيرة


اعتبارًا من 21 ديسمبر 2016 ، دخلت التعديلات التي أدخلت على القانون الاتحادي للاتحاد الروسي "بشأن مكافحة تقنين (غسل) عائدات الجريمة وتمويل الإرهاب" حيز التنفيذ ، فيما يتعلق بواجب كيان قانوني بالكشف عن معلومات حول مالكيها المستفيدين. في هذا الصدد ، ترسل العديد من الشركات طلبات حيازة للتأكد من مالكيها المستفيدين. شخص ما يقدم طلبات على الورق ، شخص ما يرسل رسائل البريد الإلكتروني.

في رأينا ، فإن الدليل الصحيح على الوفاء بالتزام "اعرف مالكك المستفيد" هو وجود خطاب على الورق مع ملاحظة حول الإرسال / التسليم. يجب إعداد هذه الرسائل على الأقل مرة واحدة في السنة. إذا كان لدى المحامي سوى عدد قليل من الشركات ، فإن كتابة الرسائل ليس بالأمر الصعب. ولكن ، إذا كان هناك أكثر من 3 عشرات من الشركات ، فإن كتابة الرسائل يتحول إلى روتين مدمر. يتفاقم الأمر من خلال حقيقة أن تفاصيل الرسائل تتغير باستمرار: استقال الموقعين ، إعادة تسجيل الشركات ، تغيير العناوين. كل هذا يجب أن يؤخذ في الاعتبار. كيف يمكن أن تساعد مهارات البرمجة بايثون هنا؟

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

هيكل الرسالة في كلمة. بيثون docxtpl وحدة


قبل كتابة رمز البرنامج ، دعونا نرى الشكل الذي يجب أن يبدو عليه قالب الحروف والذي سنضع به بياناتنا.

سيكون نص خطاب الشركة إلى المشارك / المساهم كما يلي:



سنقوم بكتابة برنامج بسيط يملأ أولاً حقل واحد في قالبنا لفهم كيفية عمله.

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



البرنامج نفسه سيبدو كالتالي:

from docxtpl import DocxTemplate doc = DocxTemplate(".docx") context = { 'director' : ".."} doc.render(context) doc.save("-final.docx") 

أولاً ، نقوم باستيراد وحدة نمطية للعمل مع مستندات تنسيق Word. بعد ذلك ، نفتح القالب ، وفي حقل المخرج ، الذي كان سيتم الإشارة إليه سابقًا في القالب نفسه ، أدخل اسم المخرج. في النهاية ، يتم حفظ المستند تحت اسم جديد.

وبالتالي ، من أجل ملء جميع الحقول في ملف قالب Word ، نحتاج أولاً إلى تحديد جميع حقول الإدخال في القالب نفسه مع الأقواس {} مع المتغيرات ثم كتابة برنامج. الكود سيكون شيء مثل هذا:

 from docxtpl import DocxTemplate doc = DocxTemplate(".docx") context = { 'emitent' : ' ', 'address1' : '. , . , . 0', '': ' ', '_': '. , . , . 0', 'director': '.. '} doc.render(context) doc.save("-final.docx") 

عند الخروج ، عند تنفيذ البرنامج ، سوف نتلقى وثيقة مكتملة.

يمكنك تنزيل قالب Word النهائي هنا .

Source: https://habr.com/ru/post/ar456534/


All Articles