jjafferr قام بنشر أكتوبر 30, 2019 قام بنشر أكتوبر 30, 2019 السلام عليكم 🙂 بالاضافة الى ميزات الاكسس الشخصية ، فيه امكانية مخاطبة البرامج الاخرى بعدة طرق ، احدها عن طريق 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 --------------------------------------------------------------- تعديل 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 - تم تغليف مسار الملفات بالاشارة " ، وذلك لحل مشكلة وجود مسافات في اسم المسار او الملف ، - تم تفكيك خط الامر الى مكونات اصغر ، لسهولة تغيير اي جزء منه. --------------------------------------------------------------- تعديل 15-01-2023 : يمكننا استعمال الاسم القصير Short FileName للتغلب على مشكلة اللغة العربية في استعمال هذا البرنامج 🙂 يصبح الكود: Private Sub cmd_combine_Click() On Error GoTo err_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) 'File 'a_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "a.pdf" & Chr(34) a_FILE = Chr(34) & get8_3FullFileName(1, Application.CurrentProject.Path & "\" & "ملف1" & "\" & "a.pdf") & Chr(34) b_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "b.pdf" & Chr(34) 'Folder 'ab_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "ab.pdf" & Chr(34) ab_FILE = get8_3FullFileName(2, Application.CurrentProject.Path & "\" & "المجلد النهائي") & "\" & "ab.pdf" Kill ab_FILE ab_FILE = Chr(34) & ab_FILE & 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 Exit_cmd_combine_Click: Exit Sub err_cmd_combine_Click: If Err.Number = 53 Then 'file not for for deletion Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_cmd_combine_Click End If End Sub . وهذه الدالة التي يتم مناداتها لتغيير المسار الى 8.3 Function get8_3FullFileName(F_or_F As Integer, ByVal sFullFileName As String) As String ' ' Convert the normal path to the old DOS 8.3 path ' this solves the problem of spaces in the path ' and reading Unicode names ' ' F_or_F : File or Folder ' 1= File ' 2= Folder ' Dim FSO As Object: Set FSO = CreateObject("Scripting.FileSystemObject") If F_or_F = 1 Then get8_3FullFileName = FSO.GetFile(sFullFileName).ShortPath Else get8_3FullFileName = FSO.GetFolder(sFullFileName).ShortPath End If Debug.Print "Original File Path: " & sFullFileName Debug.Print "8.3 File Path: " & get8_3FullFileName End Function . والمرفق Combine_PDF_Files_83.zip فيه المثال اعلاه 🙂 Combine_PDF_Files_2.zip pdftk_2.02.zip Combine_PDF_Files_83.zip 5 8
qathi قام بنشر أكتوبر 30, 2019 قام بنشر أكتوبر 30, 2019 شيء رائع أن يتاعمل الاكسس مع تحرير ملفات Pdf بارك الله فيك أستاذنا الكبير @jjafferr
Hamdi Edlbi-khalf قام بنشر أكتوبر 30, 2019 قام بنشر أكتوبر 30, 2019 السلام عليكم لقد جربت المرفق ولكن لم يظهر أي ملف بي دي إف جديد. سأحاول أن أجرب المرفق على جهاز آخر إن أمكنني ذلك وأعلمك النتيجةَ.
ابوآمنة قام بنشر أكتوبر 31, 2019 قام بنشر أكتوبر 31, 2019 إضافة مهمة والحاجة إليها واردة . تمت التجربة بنجاح ، فشكراً لك يا أستاذنا الفاضل
jjafferr قام بنشر أكتوبر 31, 2019 الكاتب قام بنشر أكتوبر 31, 2019 السلام عليكم 🙂 رجاء انزال الملف الجديد ، فالتعديلات التي فيه تساعد على التغلب من الكثير من العوائق 🙂 جعفر 1
Hamdi Edlbi-khalf قام بنشر أكتوبر 31, 2019 قام بنشر أكتوبر 31, 2019 وعليكم ألف سلام شكراً لك أستاذ @jjafferr
Hamdi Edlbi-khalf قام بنشر نوفمبر 1, 2019 قام بنشر نوفمبر 1, 2019 السلام عليكم الملف يعمل حصراً عند وجوده في مسار كل مجلداته مسماة بحرف إنكليزية. شكراً لكم أستاذ جعفر إضافة هامة
Ali Mohamed Ali قام بنشر نوفمبر 2, 2019 قام بنشر نوفمبر 2, 2019 بارك الله فيك استاذ جعفر وزادك الله من فضله 2
عبدالله المجرب قام بنشر سبتمبر 29, 2020 قام بنشر سبتمبر 29, 2020 الموضوع جميل جداً ونحتاجه بشده لكن اذا كان اسم الملف PDF ذو مقاطع عربية أو اسم المجلد عربي فان الملف لا يعمل فهل من حل لذلك مع الشكر
أ / محمد صالح قام بنشر سبتمبر 29, 2020 قام بنشر سبتمبر 29, 2020 40 دقائق مضت, عبدالله المجرب said: الموضوع جميل جداً ونحتاجه بشده لكن اذا كان اسم الملف PDF ذو مقاطع عربية أو اسم المجلد عربي فان الملف لا يعمل فهل من حل لذلك مع الشكر الحل بإذن الله إحاطة مسار الملفين بعلامات تنصيص مزدوجة قبل وبعد المسار وكذلك مسار الملف التنفيذي لبرنامج pdftk
عبدالله المجرب قام بنشر سبتمبر 30, 2020 قام بنشر سبتمبر 30, 2020 استاذ محمد شكرا للرد هل ممكن ترفق الكود معدل لاني حاولت ولم يعمل معي
عبدالله المجرب قام بنشر سبتمبر 30, 2020 قام بنشر سبتمبر 30, 2020 هل يمكن تطوير الملف ليكون عبارة عن فورم يعرض عدة ملفات pdf قد تصل الى ٢٠ او اكثر وامام كل ملف خانة اختيار فاذا اخترت ٣ ملفات يتم دمجهم فقط والاهم لغة المسار والملف ان تدعم العربية
أ / محمد صالح قام بنشر سبتمبر 30, 2020 قام بنشر سبتمبر 30, 2020 بعد إذن أخينا جعفر الحل في مشكلة المسار العربي الذي يحتوي على مسافات يمكن وضع هذا الملف libiconv2.dll في نفس مسار البرنامج مع pdftk.exe بعد فك الضغط عنه وفي هذه الحالة يمكن الاستغناء عن الموديول وتغيير السطر الأخير إلى Shell Command_Line, vbHide MsgBox "ok" دون تعديل على أي كود غير السطر اللخاص ب shell فقط مع إضافة كود رسالة تخبر بانتهاء الدمج libiconv2.rar 1
عبدالله المجرب قام بنشر سبتمبر 30, 2020 قام بنشر سبتمبر 30, 2020 شكراً استاذ محمد على الرد للاسف لازالت مشكلة المسار العربي موجودة 3 ساعات مضت, عبدالله المجرب said: هل يمكن تطوير الملف ليكون عبارة عن فورم يعرض عدة ملفات pdf قد تصل الى ٢٠ او اكثر وامام كل ملف خانة اختيار فاذا اخترت ٣ ملفات يتم دمجهم فقط والاهم لغة المسار والملف ان تدعم العربية هل يمكن عمل هذا المقترح
أ / محمد صالح قام بنشر سبتمبر 30, 2020 قام بنشر سبتمبر 30, 2020 لدي نسخة ويندوز 10 وبعد وضع الملف في نفس مجلد البرنامج وتعديل اسم الملف في الكود باللغة العربية لا يوجد أي مشكلة ويقوم يالدمج بصورة طبيعية ربما الخطأ عندك يرجع إلى اختلاف في الحروف مثل الالف بدون همزة وهكذا لكن ملف DLL حل المشكلة
عبدالله المجرب قام بنشر سبتمبر 30, 2020 قام بنشر سبتمبر 30, 2020 جربت التالي وضعت ملف الاكسس مع ملفين pdf مع libiconv2.dll مع pdftk.exe في ملف واحد اسميته AAAA في سطح المكتب ملف pdf الاول اسمة كرة قدم والثاني دورة تاهيل عدلت الاسماء في الكود لكن لم يتم دمج الملفين === سوال ما دور ملف dll اذا لم يتم تفعيله بالكود
أ / محمد صالح قام بنشر سبتمبر 30, 2020 قام بنشر سبتمبر 30, 2020 لا أدري أين المشكلة عندك أخي وصديقي أبا أحمد لكن هذا المجلد الذي أستعمله يمكنك نقله في أي مكان لاحظ استعمال أسماء عربية بينها مسافات حتى اسم المجلد به مسافات ربما يحتاج أخونا جعفر إلى تحديث الملف في المشاركة الأولى إلى هذا المجلد Combine_PDF_Files_cmd.rar
jjafferr قام بنشر سبتمبر 30, 2020 الكاتب قام بنشر سبتمبر 30, 2020 السلام عليكم 🙂 في ١/١١/٢٠١٩ at 13:11, Khalf said: الملف يعمل حصراً عند وجوده في مسار كل مجلداته مسماة بحرف إنكليزية. هذه ملاحظة الاخ خلف !! 11 ساعات مضت, أ / محمد صالح said: ربما يحتاج أخونا جعفر إلى تحديث الملف في المشاركة الأولى إلى هذا المجلد استاذ محمد ، تفضل واعمل التغيير المناسب 🙂 انا على سفر بكرة ان شاء الله ، فما عندي وقت اعمل تعديلات !! بس ارفقت في مشاركتي الاولى ، النسخة 2.02 من الملف pdftk واللي يقبل Unicode على حسب ماهو مكتوب في الموقع 🙂 جعفر
محمد عبد الله ٢ قام بنشر أكتوبر 1, 2020 قام بنشر أكتوبر 1, 2020 السلام عليكم و رحمة الله و بركاته تحياتي لك أستاذ @jjafferr لهذه الإضافة الرائعة و تحياتي لجميع الأساتذة المتواجدين نلاحظ في الكود تسمية كل ملف على حده ليتم عليه تطبيق الدمج , و لكن في حال وجود مئات من ملفات ال PDF مثلآ , هل تتم التسمية لكل ملف داخل الكود ؟
عبدالله المجرب قام بنشر أكتوبر 2, 2020 قام بنشر أكتوبر 2, 2020 شكرا استاذ محمد الملف يعمل حاليا ============================== الهدف الإستفادة من الملف لاكثر من مستخدم اي انه لا يمكن في كل مرة تعديل اسم الملف في الكود ثانيا قد يتواجد لدي عدد من ملفات pdf ولكن حاجتي لدمج 3 او 4 فقط لا ستخدامها يمكن لمرة واحدة المطلوب ان يكون عليه الملف هو فورم بها مسارات ملفات pdf وامام كل ملف خانة اختيار الملفات التي اخترتها هي التي تدمج في ٣٠/٩/٢٠٢٠ at 22:33, jjafferr said: انا على سفر بكرة ان شاء الله ، فما عندي وقت اعمل تعديلات !! بس ارفقت في مشاركتي الاولى ، النسخة 2.02 من الملف pdftk واللي يقبل Unicode على حسب ماهو مكتوب في الموقع 🙂 جعفر ترجع بالسلامة إن شاء الله
عبدالله المجرب قام بنشر أكتوبر 2, 2020 قام بنشر أكتوبر 2, 2020 4 ساعات مضت, عبدالله المجرب said: شكرا استاذ محمد الملف يعمل حاليا ============================== الهدف الإستفادة من الملف لاكثر من مستخدم اي انه لا يمكن في كل مرة تعديل اسم الملف في الكود ثانيا قد يتواجد لدي عدد من ملفات pdf ولكن حاجتي لدمج 3 او 4 فقط لا ستخدامها يمكن لمرة واحدة المطلوب ان يكون عليه الملف هو فورم بها مسارات ملفات pdf وامام كل ملف خانة اختيار الملفات التي اخترتها هي التي تدمج ترجع بالسلامة إن شاء الله هذا ملف الاكسس يتم استبداله بالملف في مرفق الاستاذ محمد حاولت بما اعرف في الأكسس لتكون النتيجة كالتالي 1. وضع مسارات الملفات في جدول tbl1 طبعاً كلها تكون في نفس الفولدر 2. فتح الفورم واخيارا الملفات التي تريد دمجها 3. يمكنك ترتيب المفات التي ستدمج (ايها يكون الاول وهكذا) 4. كتابة اسم الملف الناتج عن عملية الدمج 5. الضغط على زر الدمج وان شاء يتم دمجها دمج ملفات pdf.rar 1
jjafferr قام بنشر يناير 15, 2023 الكاتب قام بنشر يناير 15, 2023 السلام عليكم 🙂 في المشاركة الاولى ، تم اضافة خاصية القراءة من مسار المسميات باللغة العربية ، بتحويل الاسم/المسار الى صيغة 8.3 🙂 جعفر 1
Lover Karo قام بنشر يناير 15, 2023 قام بنشر يناير 15, 2023 السلام عليكم احوانى - هل يمكن ادراج pdf الى خلفية pdf اخر بنقس الطريقة
jjafferr قام بنشر يناير 15, 2023 الكاتب قام بنشر يناير 15, 2023 وعليكم السلام 🙂 2 ساعات مضت, Lover Karo said: هل يمكن ادراج pdf الى خلفية pdf اخر بنقس الطريقة اذا قصدك بالخلفية ، عمل علامة مائية WaterMark ، فنعم ممكن عن طريق ملفين pdf ، وفي المرفق ملف نص txt فيه جميع الاوامر الممكن استعمالها مع البرنامج pdftk المرفق 🙂 جعفر 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.