ঘোষণামূলক পিডিএফ প্রোগ্রামিং জাভাস্ক্রিপ্ট লাইব্রেরি
জাভাস্ক্রিপ্টে পিডিএফ স্ট্রাকচার ঘোষণা করে পিডিএফ ডকুমেন্ট তৈরি করতে ফ্রি ও ওপেন সোর্স লাইব্রেরি।
পিডিএফমেক কি?
Pdfmake হল একটি সহজ জাভাস্ক্রিপ্ট লাইব্রেরি যা বিনামূল্যে এবং ওপেন-সোর্স উভয়ই, এটি ওয়েব অ্যাপ্লিকেশনগুলিতে পিডিএফ নথি তৈরির প্রক্রিয়াকে সহজ করার জন্য একটি দুর্দান্ত সরঞ্জাম তৈরি করে। আপনি টেক্সট, ইমেজ, টেবিল ইত্যাদি সংজ্ঞায়িত করে পিডিএফ ডকুমেন্ট স্ট্রাকচার ডিক্লেয়ার করতে পারেন। প্রযোজ্য স্টাইল সহ এবং পিডিএফমেক আপনার প্রয়োজনীয় ভিজ্যুয়াল স্টাইলিং সহ পিডিএফ তৈরি করার জন্য বাকিটা ম্যানেজ করবে নিচের মত:
পিডিএফমেকের কিছু প্রধান বৈশিষ্ট্য নিম্নরূপ:
- পিডিএফ তৈরি করা: পিডিএফমেক আপনাকে স্ট্রাকচার্ড ডেটা থেকে পিডিএফ ডকুমেন্ট তৈরি করতে সক্ষম করে, যাতে সহজে রিপোর্ট, ইনভয়েস, ফর্ম এবং অন্যান্য ধরনের ডকুমেন্ট তৈরি করা যায়।
- টেবিল যোগ করা: Pdfmake আপনাকে সহজে, ডিজাইন করতে এবং আপনার PDF তে টেবিল সন্নিবেশ করতে সক্ষম করে, যাতে ট্যাবুলার ডেটা প্রদর্শন করা হয় এবং একটি কাঠামোগত বিন্যাস বজায় রাখা সহজ হয়।
- ছবি যোগ করা: Pdfmake আপনার PDF নথিতে ছবি অন্তর্ভুক্ত করার অনুমতি দেয়, যাতে ভিজ্যুয়াল আবেদন বাড়ানোর জন্য লোগো, গ্রাফিক্স বা ফটোগ্রাফ অন্তর্ভুক্ত করা সম্ভব হয়।
- পাসওয়ার্ড যোগ করা: Pdfmake আপনার PDF গুলিতে পাসওয়ার্ড সুরক্ষা যোগ করতে সহায়তা করে, নথি অ্যাক্সেসের জন্য একটি পাসওয়ার্ডের প্রয়োজন দ্বারা সংবেদনশীল তথ্য সুরক্ষিত করতে সহায়তা করে।
GitHub Stats
Name: pdfmakeLanguage: JavaScript
Stars: 11.9K
Forks: 2.1K
License: Other
Repository was last updated at 2025-04-05
পিডিএফমেক দিয়ে শুরু করা
আমরা npm মডিউল ব্যবহার করে pdfmake লাইব্রেরি ডাউনলোড করতে পারি:
NPM ব্যবহার করে ইনস্টলেশন
আপনি যদি আপনার প্যাকেজ ম্যানেজার হিসাবে npm ব্যবহার করেন তবে আপনি npm মডিউল ব্যবহার করতে পারেন:
NPM ব্যবহার করে ইনস্টল করুন
npm install pdfmake
বিকল্পভাবে, আমরা নিচের মত একটি CDN থেকে এটি লোড করতে পারি:
- https://cdnjs.cloudflare.com/ajax/libs/pdfmake /0.2.7/pdfmake.js
- https://cdnjs.cloudflare.com/ajax/libs/pdfmake /0.2.7/vfs_fonts.js
পিডিএফ ডকুমেন্ট তৈরি করা হচ্ছে
আমরা pdfmake লাইব্রেরির ঘোষণামূলক পদ্ধতি ব্যবহার করে একটি PDF নথি তৈরি করতে পারি। আমরা নীচের উদাহরণে দেখানো স্টাইলিং সহ পাঠ্য এবং হাইপারলিঙ্কের মতো বিষয়বস্তুও যোগ করতে পারি:
// Import required modules from pdfmake library | |
const pdfMake = require('pdfmake/build/pdfmake'); | |
const pdfFonts = require('pdfmake/build/vfs_fonts') | |
// Configure virtual file system of pdfMake | |
pdfMake.vfs = pdfFonts.pdfMake.vfs; | |
// Function to generate PDF | |
function generatePDF() { | |
// Define the content of your PDF document | |
var docDefinition = { | |
content: [ | |
'Hello, PDFMake!', // A simple text element | |
{ | |
text: 'This is a bold text', | |
bold: true, | |
style: 'normalText' | |
}, | |
{ | |
text: 'This is an italic text', | |
italics: true, | |
style: 'normalText' | |
}, | |
{ | |
text: 'This is a link', | |
link: 'https://example.com', | |
style: 'normalText', | |
color: "blue" | |
}, | |
], | |
}; | |
// Generate the PDF using the default font settings | |
var pdfDoc = pdfMake.createPdf(docDefinition); | |
// Use the callback function to handle the completion | |
pdfDoc.getBuffer((buffer) => { | |
// Here, you can handle the PDF buffer, such as saving it to a file or sending it as a response. | |
const fs = require('fs'); | |
fs.writeFileSync('New.pdf', buffer); | |
}); | |
} | |
generatePDF(() => { | |
console.log('PDF generation complete'); | |
}); |
আউটপুট
নিম্নলিখিত আউটপুট জেনারেট করা PDF নথি প্রদর্শন করে:
টেবিল দিয়ে পিডিএফ তৈরি করা
আমরা একটি PDF তৈরি করতে পারি এবং pdfmake লাইব্রেরি ব্যবহার করে PDF এ টেবিল যোগ করতে পারি। এই উদাহরণে, আমরা টেবিল তৈরি করতে টেবিল নির্দেশিকা ব্যবহার করব, টেবিল সেটিংস কনফিগার করব এবং টেবিলের শিরোনাম এবং মানগুলির মতো ডেটা যোগ করব যেমন নীচে দেখানো হয়েছে:
// Import required modules from pdfmake library | |
const pdfMake = require('pdfmake/build/pdfmake'); | |
const pdfFonts = require('pdfmake/build/vfs_fonts') | |
// Configure virtual file system of pdfMake | |
pdfMake.vfs = pdfFonts.pdfMake.vfs; | |
// Function to generate PDF | |
function generatePDF() { | |
// Define the content of your PDF document | |
var docDefinition = { | |
content: [ | |
{ | |
table: { | |
// Headers are automatically repeated if the table spans over multiple pages | |
// You can declare how many rows should be treated as headers | |
headerRows: 1, | |
widths: [ '*', 'auto', 100, '*' ], | |
body: [ | |
[ 'Heading 1', 'Heading 2', 'Heading 3', 'Heading 4' ], | |
[ 'Value 1', 'Value 2', 'Value 3', 'Value 4' ], | |
[ { text: 'Bold value', bold: true }, 'Val 2', 'Val 3', 'Val 4' ] | |
] | |
} | |
} | |
] | |
}; | |
// Generate the PDF using the default font settings | |
var pdfDoc = pdfMake.createPdf(docDefinition); | |
// Use the callback function to handle the completion | |
pdfDoc.getBuffer((buffer) => { | |
// Here, you can handle the PDF buffer, such as saving it to a file or sending it as a response. | |
const fs = require('fs'); | |
fs.writeFileSync('Table.pdf', buffer); | |
}); | |
} | |
generatePDF(() => { | |
console.log('PDF generation complete'); | |
}); |
আউটপুট
নিচের আউটপুট স্ক্রিনশটটি পিডিএফ ডকুমেন্টের সাথে টেবিল যোগ করে প্রদর্শন করে:
ছবি দিয়ে পিডিএফ তৈরি করা
আমরা একটি পিডিএফ তৈরি করতে পারি এবং পিডিএফমেক লাইব্রেরির ঘোষণামূলক পদ্ধতি ব্যবহার করে পিডিএফ-এ ছবি যোগ করতে পারি। ছবি যোগ করার জন্য আমরা ছবি নির্দেশিকা ব্যবহার করি কিন্তু আমরা আমাদের স্থানীয় ফাইল সিস্টেম থেকে সরাসরি ইমেজ ব্যবহার করতে পারি না। ইমেজটি ব্যবহার করার জন্য, নিচের কোড স্নিপেটে প্রদর্শিত pdfmake লাইব্রেরি দ্বারা প্রদত্ত ভার্চুয়াল ফাইল সিস্টেমে (VFS) ছবিটি কপি করতে হবে:
// Import required modules from pdfmake library | |
const pdfMake = require('pdfmake/build/pdfmake'); | |
const pdfFonts = require('pdfmake/build/vfs_fonts'); | |
// Import Node.js built-in fs module for file system operations | |
const fs = require('fs'); | |
// Configure virtual file system of pdfMake | |
pdfMake.vfs = pdfFonts.pdfMake.vfs; | |
// Function to generate PDF | |
function generatePDF() { | |
// Copy the image to the virtual file system provided by pdfmake | |
const image = fs.readFileSync('./js-logo.jpg', 'base64'); | |
pdfMake.vfs['js-logo.jpg'] = image; | |
// Define the content of your PDF document | |
var docDefinition = { | |
content: [ | |
{ | |
text: 'We are going to add an image to the PDF using the pdfmake library', | |
bold: true, | |
style: normalText | |
}, | |
{ | |
image: 'js-logo.jpg' | |
} | |
] | |
}; | |
// Generate the PDF using the default font settings | |
var pdfDoc = pdfMake.createPdf(docDefinition); | |
// Use the callback function to handle the completion | |
pdfDoc.getBuffer((buffer) => { | |
// Here, you can handle the PDF buffer, such as saving it to a file or sending it as a response. | |
fs.writeFileSync('Image.pdf', buffer); | |
}); | |
} | |
generatePDF(() => { | |
console.log('PDF generation complete'); | |
}); |
আউটপুট
নিম্নলিখিত স্ক্রিনশটটি চিত্রের সাথে তৈরি করা PDF নথি দেখায়:
পাসওয়ার্ড-সুরক্ষিত পিডিএফ ডকুমেন্ট তৈরি করা
pdfmake লাইব্রেরির userPassword নির্দেশিকা ব্যবহার করে পাসওয়ার্ড-সুরক্ষিত PDF ডকুমেন্ট তৈরি করাও সম্ভব যা অননুমোদিত ব্যবহারকারীদের PDF ডকুমেন্টে অ্যাক্সেস সীমাবদ্ধ করবে। বিস্তারিত জানার জন্য নিচের কোড স্নিপেট দেখুন:
// Import required modules from pdfmake library | |
const pdfMake = require('pdfmake/build/pdfmake'); | |
const pdfFonts = require('pdfmake/build/vfs_fonts'); | |
// Import Node.js built-in fs module for file system operations | |
const fs = require('fs'); | |
// Configure virtual file system of pdfMake | |
pdfMake.vfs = pdfFonts.pdfMake.vfs; | |
// Function to generate PDF | |
function generatePDF() { | |
// Define the content of your PDF document | |
var docDefinition = { | |
userPassword: '123', | |
content: [ | |
{ | |
text: 'This is a password protected pdf', | |
bold: true, | |
style: 'normalText' | |
} | |
] | |
}; | |
// Generate the PDF using the default font settings | |
var pdfDoc = pdfMake.createPdf(docDefinition); | |
// Use the callback function to handle the completion | |
pdfDoc.getBuffer((buffer) => { | |
// Here, you can handle the PDF buffer, such as saving it to a file or sending it as a response. | |
fs.writeFileSync('passwordProtected.pdf', buffer); | |
}); | |
} | |
generatePDF(() => { | |
console.log('PDF generation complete'); | |
}); |
আউটপুট
জেনারেট করা পিডিএফ ডকুমেন্ট খোলার সময় নিচের মত একটি পাসওয়ার্ড প্রম্পট দেখানো হবে:
উপসংহার
উপসংহারে, pdfmake হল একটি সহজে ব্যবহারযোগ্য জাভাস্ক্রিপ্ট লাইব্রেরি যার দস্তাবেজ সংজ্ঞা বস্তু।