定制 sabuj073/laravel-pdf-generator 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sabuj073/laravel-pdf-generator

Composer 安装命令:

composer require sabuj073/laravel-pdf-generator

包简介

PDF generator for Laravel from HTML or Blade views

README 文档

README

HTML অথবা Blade view থেকে PDF বানান (Dompdf ব্যবহার)। বাংলা ফন্ট সাপোর্ট আছে – বাংলা টেক্সট PDF এ সঠিকভাবে দেখাবে।

Installation

composer require sabuj073/laravel-pdf-generator
php artisan vendor:publish --tag=pdf-generator-config

Bangla ফন্ট সেটআপ (বাংলা + ইংরেজি দুটোই সাপোর্ট)

Noto Sans Bengali একটি ফন্ট দিয়েই বাংলা ও ইংরেজি দুটো ঠিকভাবে দেখাবে।

অটো ইনস্টল (সুপারিশকৃত)

php artisan pdf-generator:install-bangla-font

এটা storage/fonts/NotoSansBengali-Regular.ttf এ ফন্ট ডাউনলোড করবে। .env এ পাথ দিতে পারেন: PDF_BANGLA_FONT_PATH= অথবা ফাঁকা রাখলেও হবে – প্যাকেজ নিজে storage/fonts/ চেক করবে।

ম্যানুয়াল ইনস্টল

যদি কমান্ড কাজ না করে:

  1. https://fonts.google.com/noto/specimen/Noto+Sans+Bengali এ যান
  2. Download করুন, ZIP এক্সট্রাক করে NotoSansBengali-Regular.ttf বের করুন
  3. storage/fonts/ এ রাখুন অথবা প্যাকেজের vendor/sabuj073/laravel-pdf-generator/resources/fonts/

প্যাকেজের ভেতরে ফন্ট রাখা

আপনি চাইলে .ttf ফাইল সরাসরি প্যাকেজের resources/fonts/ ফোল্ডারে রেখে পাবলিশ করতে পারেন – তখন ইউজারদের আলাদা ডাউনলোড করতে হবে না। (Noto Sans Bengali OFL লাইসেন্সের অধীন, পুনর্বিতরণ অনুমোদিত।)

Configuration

.env:

PDF_PAPER=A4
PDF_ORIENTATION=portrait
PDF_FONT="DejaVu Sans"

PDF_BANGLA_FONT_ENABLED=true
PDF_BANGLA_FONT_PATH=  (অথবা পুরো পাথ দিন)
PDF_BANGLA_FONT_FAMILY="Noto Sans Bengali"

Usage

Blade view থেকে ডাউনলোড (বাংলা থাকলে true দিন):

use Sabuj073\PdfGenerator\PdfGenerator;

$pdf = app(PdfGenerator::class);
return $pdf->download('invoices.show', ['invoice' => $invoice], 'invoice-001.pdf', true);

ব্রাউজারে ইনলাইন দেখানোর জন্য:

return $pdf->stream('reports.monthly', ['data' => $data], 'report.pdf', true);

ফাইলে সেভ:

$pdf->save('invoices.show', storage_path('app/invoices/inv-001.pdf'), ['invoice' => $invoice], true);

HTML স্ট্রিং থেকে (বাংলা সহ):

$html = '<h1>নমস্কার</h1><p>বাংলা টেক্সট PDF এ আসবে।</p>';
$rawPdf = $pdf->fromHtml($html, true);
// or
$pdf->saveHtml($html, storage_path('app/temp.pdf'), true);

কনফিগে PDF_BANGLA_FONT_ENABLED=true এবং ফন্ট পাথ সেট থাকলে loadView/fromHtml ডিফল্টই Bangla ফন্ট ব্যবহার করে। আলাদা করে চাইলে চতুর্থ/তৃতীয় আর্গুমেন্টে true দিন।

রাও আউটপুট (কাস্টম রেসপন্স):

$output = $pdf->fromView('reports.summary', ['items' => $items]);
return response($output, 200, ['Content-Type' => 'application/pdf']);

Blade template

সাধারণ HTML + CSS ব্যবহার করুন। ইনলাইন CSS ভালো কাজ করে।

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <style>
        body { font-family: DejaVu Sans, sans-serif; }
        table { width: 100%; border-collapse: collapse; }
    </style>
</head>
<body>
    <h1>Invoice #{{ $invoice->id }}</h1>
    ...
</body>
</html>

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固