اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

يمكنك تنفيذ ذلك ببساطة بإستخدام الhtml عبر وضع العنصر a وإعطائه مسار الملف كما بالشكل التالي

<a href= "مسار الملف.pdf">click to preview</a>

عند النقر على كلمة click to preview سيتم نقل المُستخدم إلى صفحة الملف ويمكنه من خلالها قراءة الملف وطباعته أو تحميله كما يشاء

  • 1
نشر

يمكنك إستعمال حزمة barryvdh/laravel-dompdf لذلك ، إذ توفر هاته الحزمة إمكانية تحويل ملف عرض view بسيط إلى ملف PDF و تحميله . 

نحتاج في ذلك تطبيق الخطوات التالية : 

  • تثبيت الحزمة و إعدادها . 

تثبيت الحزمة يتم عن طريق تشغيل الأمر :

composer require barryvdh/laravel-dompdf

سنحتاج بعد ذلك إضافة مزود خدمة الحزمة إلى مصفوفة providers في ملف config/app.php :  

'providers' => [
  Barryvdh\DomPDF\ServiceProvider::class,
],

يفضل أيضا تعريف اختصار للوصول السهل إلى واجهة الحزمة : 

'aliases' => [
  'PDF' => Barryvdh\DomPDF\Facade::class,
]

 

  • توفير رابط لطباعة ملف العرض بشكل PDF : 

في ملف العرض ، نحتاج توفير زر تصدير للصفحة المعروضة بشكل PDF . يكون ذلك بشكل مشابه : 

<div class="d-flex justify-content-end mb-4">
   <a class="btn btn-primary" href="{{ route('pdf_export') }}">PDF تصدير إلى </a>
</div>

و بالطبع سنحتاج تعريف هذا المسار في ملف routes/web.php : 

<?
use App\Http\Controllers\PDFController;


Route::get('/pdf_export' ,[PDFController::class , 'export'])->name('pdf_export');
  • إستعمال توابع الحزمة لتصدير الملف .  

ليكن التابع export للمتحكم PDFController كالتالي : 

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use PDF;

class PDFController extends Controller {

    public function export() {
      
      $pdf = PDF::loadView('target_view', $someData);

      return $pdf->download('file_name.pdf');
    }
}

بحيث أن : 

  •  target_view : يعبر عن ملف العرض المستهدف ، يمكنك إستبداله باسم ملف العرض المناسب الذي تريد تصديره . 
  • file_name.pdf : يعبر عن اسم الملف المصدر ، يمكنك تغييره بحسب حاجتك أو حاجة عميلك .  

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

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

×   جرى استعادة المحتوى السابق..   امسح المحرر

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...