Jump to content
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

من مكتبتي - دمج ملفات pdf


Recommended Posts

السلام عليكم 🙂

 

بالاضافة الى ميزات الاكسس الشخصية ، فيه امكانية مخاطبة البرامج الاخرى بعدة طرق ، احدها عن طريق Command line ،

بحيث يمكننا ان نرسل اوامر من الاكسس الى هذا البرنامج الذي يقبل الاوامر من Command line .

 

البرنامج pdftk (في المرفق) احد هذه البرامج https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

 

المرفق فيه برنامج اكسس وملف a.pdf و b.pdf ، وبزر من الاكسس ، سيتم دمج الملفين الى ملف ab.pdf ،

وفي المرفق ملف الاوامر التي يقبلها برنامج pdftk .

 

البرنامج يستطيع التعامل مع ملفات pdf بعدة طرق ، لذلك وجب قراءة ملف الاوامر 🙂

وهذا هو الكود:

Private Sub cmd_combine_Click()

'Merge Two or More PDFs into a New Document
'pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf

    Dim pdftk_File As String
    Dim a_FILE As String
    Dim b_FILE As String
    Dim ab_FILE As String
    Dim Command_Line As String
    
    
    pdftk_File = Chr(34) & Application.CurrentProject.Path & "\" & "pdftk" & Chr(34)
    a_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "a.pdf" & Chr(34)
    b_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "b.pdf" & Chr(34)
    ab_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "ab.pdf" & Chr(34)
    
    Command_Line = pdftk_File & " "
    Command_Line = Command_Line & a_FILE & " "
    Command_Line = Command_Line & b_FILE & " "
    Command_Line = Command_Line & "cat output" & " "
    Command_Line = Command_Line & ab_FILE
    'Debug.Print Command_Line
    
    Shell_n_Wait Command_Line, vbHide
    
End Sub

 

جعفر

اعتقد عندي هذا الملف من سنة 2009 :biggrin2:

 

تعديل 31-10-2019 :

- استخدام الوحدة النمطية Shell_n_Wait والتي تقبل حروف unicode - utf-8 ، من

https://github.com/xxdoc/vb6-Shell-Wait/blob/master/Shell %26 Wait v2/modShellWait.bas
http://www.vbforums.com/showthread.php?700373-VB6-Shell-amp-Wait&p=4288285&viewfull=1#post4288285

- تم تغليف مسار الملفات بالاشارة " ، وذلك لحل مشكلة وجود مسافات في اسم المسار او الملف ،

- تم تفكيك خط الامر الى مكونات اصغر ، لسهولة تغيير اي جزء منه.

 

 

Combine_PDF_Files_2.zip

pdftk_2.02.zip

  • Like 5
  • Thanks 7
Link to post
Share on other sites

السلام عليكم

لقد جربت المرفق ولكن لم يظهر أي ملف بي دي إف جديد.

سأحاول أن أجرب المرفق على جهاز آخر إن أمكنني ذلك وأعلمك النتيجةَ.

 

Link to post
Share on other sites
  • 10 months later...

الموضوع جميل جداً ونحتاجه بشده 

لكن 

اذا كان اسم الملف PDF ذو مقاطع عربية أو اسم المجلد عربي فان الملف لا يعمل فهل من حل لذلك مع الشكر

Link to post
Share on other sites
40 دقائق مضت, عبدالله المجرب said:

الموضوع جميل جداً ونحتاجه بشده 

لكن 

اذا كان اسم الملف PDF ذو مقاطع عربية أو اسم المجلد عربي فان الملف لا يعمل فهل من حل لذلك مع الشكر

الحل بإذن الله 

إحاطة مسار الملفين بعلامات تنصيص مزدوجة قبل وبعد المسار

وكذلك مسار الملف التنفيذي لبرنامج pdftk

Link to post
Share on other sites

هل يمكن تطوير الملف ليكون عبارة عن فورم يعرض عدة ملفات pdf قد تصل الى ٢٠ او اكثر وامام كل ملف خانة اختيار 

فاذا اخترت ٣ ملفات يتم دمجهم فقط 

 

والاهم لغة المسار والملف ان تدعم العربية

Link to post
Share on other sites

بعد إذن أخينا جعفر

الحل في مشكلة المسار العربي الذي يحتوي على مسافات

يمكن وضع هذا الملف libiconv2.dll في نفس مسار البرنامج مع pdftk.exe بعد فك الضغط عنه

وفي هذه الحالة يمكن الاستغناء عن الموديول وتغيير السطر الأخير إلى

Shell Command_Line, vbHide
MsgBox "ok"

دون تعديل على أي كود غير السطر اللخاص ب shell فقط

مع إضافة كود رسالة تخبر بانتهاء الدمج

 

libiconv2.rar

  • Like 1
Link to post
Share on other sites

شكراً استاذ محمد على الرد

 

 

للاسف لازالت مشكلة المسار العربي موجودة

3 ساعات مضت, عبدالله المجرب said:

هل يمكن تطوير الملف ليكون عبارة عن فورم يعرض عدة ملفات pdf قد تصل الى ٢٠ او اكثر وامام كل ملف خانة اختيار 

فاذا اخترت ٣ ملفات يتم دمجهم فقط 

 

والاهم لغة المسار والملف ان تدعم العربية

هل يمكن عمل هذا المقترح

Link to post
Share on other sites

لدي نسخة ويندوز 10 

وبعد وضع الملف في نفس مجلد البرنامج 

وتعديل اسم الملف في الكود باللغة العربية 

لا يوجد أي مشكلة ويقوم يالدمج بصورة طبيعية 

ربما الخطأ عندك يرجع إلى اختلاف في الحروف مثل الالف بدون همزة وهكذا 

لكن ملف DLL حل المشكلة 

Link to post
Share on other sites

جربت التالي

وضعت ملف الاكسس مع ملفين pdf مع libiconv2.dll  مع pdftk.exe في ملف واحد اسميته AAAA في سطح المكتب

ملف pdf الاول اسمة كرة قدم والثاني دورة تاهيل

عدلت الاسماء في الكود 

لكن لم يتم دمج الملفين

===

سوال 

ما دور ملف dll اذا لم يتم تفعيله بالكود

Link to post
Share on other sites

لا أدري أين المشكلة عندك أخي وصديقي أبا أحمد

لكن هذا المجلد الذي أستعمله

يمكنك نقله في أي مكان

لاحظ استعمال أسماء عربية بينها مسافات حتى اسم المجلد به مسافات

ربما يحتاج أخونا جعفر إلى تحديث الملف في المشاركة الأولى إلى هذا المجلد

Combine_PDF_Files_cmd.rar

Link to post
Share on other sites

السلام عليكم 🙂

 

في ١‏/١١‏/٢٠١٩ at 13:11, Khalf said:

الملف يعمل حصراً عند وجوده في مسار كل مجلداته مسماة بحرف إنكليزية.

هذه ملاحظة الاخ خلف !!

 

11 ساعات مضت, أ / محمد صالح said:

ربما يحتاج أخونا جعفر إلى تحديث الملف في المشاركة الأولى إلى هذا المجلد

استاذ محمد ، تفضل واعمل التغيير المناسب 🙂

انا على سفر بكرة ان شاء الله ، فما عندي وقت اعمل تعديلات !!

بس ارفقت في مشاركتي الاولى ، النسخة 2.02 من الملف pdftk واللي يقبل Unicode على حسب ماهو مكتوب في الموقع 🙂

 

جعفر

Link to post
Share on other sites

السلام عليكم و رحمة الله و بركاته

تحياتي لك أستاذ @jjafferr  لهذه الإضافة الرائعة

و تحياتي لجميع الأساتذة المتواجدين 

 

 

نلاحظ في الكود تسمية كل ملف على حده ليتم عليه تطبيق الدمج ,

و لكن في حال وجود مئات من ملفات ال PDF مثلآ , هل تتم التسمية لكل ملف داخل الكود ؟

Link to post
Share on other sites

شكرا استاذ محمد الملف يعمل حاليا

==============================

 

 

الهدف الإستفادة من الملف لاكثر من مستخدم 

اي انه لا يمكن في كل مرة تعديل اسم الملف في الكود 

ثانيا قد يتواجد لدي عدد من ملفات pdf ولكن حاجتي لدمج 3 او 4 فقط لا ستخدامها يمكن لمرة واحدة

المطلوب ان يكون عليه الملف هو فورم بها مسارات ملفات pdf وامام كل ملف خانة اختيار 

الملفات التي اخترتها هي التي تدمج 

 

 

في ٣٠‏/٩‏/٢٠٢٠ at 22:33, jjafferr said:

 

انا على سفر بكرة ان شاء الله ، فما عندي وقت اعمل تعديلات !!

بس ارفقت في مشاركتي الاولى ، النسخة 2.02 من الملف pdftk واللي يقبل Unicode على حسب ماهو مكتوب في الموقع 🙂

جعفر

ترجع بالسلامة إن شاء الله

Link to post
Share on other sites
4 ساعات مضت, عبدالله المجرب said:

شكرا استاذ محمد الملف يعمل حاليا

==============================

 

 

الهدف الإستفادة من الملف لاكثر من مستخدم 

اي انه لا يمكن في كل مرة تعديل اسم الملف في الكود 

ثانيا قد يتواجد لدي عدد من ملفات pdf ولكن حاجتي لدمج 3 او 4 فقط لا ستخدامها يمكن لمرة واحدة

المطلوب ان يكون عليه الملف هو فورم بها مسارات ملفات pdf وامام كل ملف خانة اختيار 

الملفات التي اخترتها هي التي تدمج 

 

 

ترجع بالسلامة إن شاء الله

 

 

هذا ملف الاكسس يتم استبداله بالملف في مرفق الاستاذ محمد 

 

حاولت بما اعرف في الأكسس لتكون النتيجة كالتالي

1. وضع مسارات الملفات في جدول tbl1  طبعاً كلها تكون في نفس الفولدر

2. فتح الفورم واخيارا الملفات التي تريد دمجها 

3. يمكنك ترتيب المفات التي ستدمج (ايها يكون الاول وهكذا) 

4. كتابة اسم الملف الناتج عن عملية الدمج 

5. الضغط على زر الدمج وان شاء يتم دمجها

 

 

 

دمج ملفات pdf.rar

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...