বিনামূল্যে জাভাস্ক্রিপ্ট API এর মাধ্যমে PDF ফাইল তৈরি

ওপেন সোর্স বিশুদ্ধ জাভাস্ক্রিপ্ট লাইব্রেরি নোড এবং ওয়েব ব্রাউজারের জন্য পিডিএফ ডকুমেন্ট তৈরি এবং ম্যানিপুলেশন সমর্থন করে।

PDFMake হল একটি অত্যন্ত শক্তিশালী ওপেন সোর্স জাভাস্ক্রিপ্ট লাইব্রেরি যা সফ্টওয়্যার ডেভেলপারদের জাভাস্ক্রিপ্ট কমান্ড ব্যবহার করে PDF নথি তৈরি এবং ম্যানিপুলেশন সম্পর্কিত কাজগুলি পরিচালনা করতে সক্ষম করে। লাইব্রেরি সম্পর্কে দুর্দান্ত জিনিস হল যে আপনি সহজেই একটি নথি সংজ্ঞা অবজেক্ট বিন্যাস ব্যবহার করে পিডিএফ তৈরির জন্য ডেটা নির্দিষ্ট করতে পারেন।

PDFmake লাইব্রেরি পিডিএফ ডকুমেন্ট পরিচালনার সাথে সম্পর্কিত বেশ কয়েকটি গুরুত্বপূর্ণ বৈশিষ্ট্যের জন্য সমর্থন অন্তর্ভুক্ত করেছে যেমন PDF নথিতে ছবি এবং পাঠ্য বিষয়বস্তু যোগ করা, লাইন মোড়ানো, পাঠ্য সারিবদ্ধকরণ, টেবিল সন্নিবেশ করা এবং পরিচালনা করা, শৈলী ব্যবহার করা, পৃষ্ঠার শিরোনাম এবং ফুটার যোগ করা, পৃষ্ঠার অভিযোজন এবং মার্জিন। সমর্থন, ফন্ট, এবং গ্রাফিক্স এম্বেডিং, বিষয়বস্তু তৈরির টেবিল, পৃষ্ঠা বিরতি সমর্থন এবং আরও অনেক কিছু।

লাইব্রেরিটি খুবই স্থিতিশীল এবং সহজেই ক্লায়েন্টের পাশাপাশি সার্ভার-সাইডেও ব্যবহার করা যায়। এটি ব্রাউজারে এবং Node.js এ চালানো যায়। এটি ইন্টারনেট এক্সপ্লোরার 10+, এজ 12+, ফায়ারফক্স, ক্রোম, অপেরা, সাফারি এবং আরও অনেক জনপ্রিয় ব্রাউজারগুলির জন্য সমর্থন অন্তর্ভুক্ত করেছে।

Previous Next

PDFMake দিয়ে শুরু করা

PDFMake npm-এ উপলব্ধ, আপনি সহজেই এটি ডাউনলোড করে আপনার মেশিনে ইনস্টল করতে পারেন। মসৃণ ইনস্টলেশনের জন্য অনুগ্রহ করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

বোওয়ার ব্যবহার করে PDFMake ইনস্টল করুন

bower install pdfmake

জাভাস্ক্রিপ্ট লাইব্রেরি ব্যবহার করে পিডিএফ ফাইল তৈরি করুন

ওপেন সোর্স জাভাস্ক্রিপ্ট লাইব্রেরি PDFMake সফ্টওয়্যার প্রোগ্রামারদের জন্য জাভাস্ক্রিপ্ট কোড ব্যবহার করে তাদের নিজস্ব অ্যাপ্লিকেশনের মধ্যে PDF নথি তৈরি করা সহজ করে তোলে। লাইব্রেরি পিডিএফ ফাইলগুলির সাথে কাজ করার জন্য বৈশিষ্ট্যগুলির একটি সম্পূর্ণ সেট দিয়েছে, যেমন আকার, রঙ এবং বিন্যাস সহ ফন্টের প্রকারগুলি বেছে নেওয়া, একটি নতুন পৃষ্ঠা যুক্ত করা, কলাম সন্নিবেশ করা, শৈলী যোগ করা এবং প্রয়োগ করা, টেবিল সন্নিবেশ করা, অবাঞ্ছিত পৃষ্ঠাগুলি মুছে ফেলা এবং অনেকগুলি। আরো

পিডিএফ ফাইলে হেডার এবং ফুটার যোগ করুন

শিরোনাম এবং পাদচরণগুলি PDF নথির খুব দরকারী অংশ এবং ব্যবহারকারীরা একটি নথির প্রতিটি পৃষ্ঠায় যেমন লেখকের নাম, নথির শিরোনাম, পৃষ্ঠা নম্বর, লোগো এবং আরও অনেক কিছু দেখতে চান এমন বিষয়বস্তুর অংশ অন্তর্ভুক্ত করতে ব্যবহার করা যেতে পারে। জাভাস্ক্রিপ্ট লাইব্রেরি PDFMake একটি PDF নথিতে শিরোনাম এবং ফুটার যোগ এবং সংশোধন করার জন্য সম্পূর্ণ সমর্থন প্রদান করেছে। এটি পুনরাবৃত্তিমূলক শিরোনাম/পাদলেখ যোগ করা, শিরোনাম/ফুটারে ছবি সন্নিবেশ করা, পৃষ্ঠা নম্বর যোগ করা এবং আরও অনেক কিছুর মতো বৈশিষ্ট্যগুলিকে সমর্থন করে।

জাভাস্ক্রিপ্টের মাধ্যমে পিডিএফ-এ হেডার ও পাদচরণ

 var docDefinition = {
 header: 'simple text',
 footer: {
  columns: [
   'Left part',
   { text: 'Right part', alignment: 'right' }
  ]
 },
 content: (...)
};

পিডিএফ ফাইলে ছবি সন্নিবেশ করান

ওপেন সোর্স জাভাস্ক্রিপ্ট লাইব্রেরি PDFMake জাভাস্ক্রিপ্ট কমান্ড ব্যবহার করে পিডিএফ ফাইলের ভিতরে ছবি যোগ করার পাশাপাশি পরিবর্তন করার জন্য সম্পূর্ণ সমর্থন প্রদান করেছে। লাইব্রেরীটি ছবির প্রস্থ এবং উচ্চতা নির্ধারণ, একটি আয়তক্ষেত্রের ভিতরে একটি চিত্র ফিট করা, URL-এর মাধ্যমে একটি চিত্রকে কল করা, চিত্রটি আনুপাতিকভাবে স্কেল করা এবং চিত্র প্রসারিত করার বৈশিষ্ট্যগুলি সরবরাহ করেছে। আপনি যদি একই ইমেজ একাধিক নোডে ব্যবহার করতে চান, তাহলে আপনাকে ইমেজ ডিকশনারিতে এটি রাখতে হবে এবং এটির নাম দিয়ে কল করতে হবে।

JavaScript এর মাধ্যমে PDF এ ছবি যোগ করুন

 var docDefinition = {
 content: [
  {
   // you'll most often use dataURI images on the browser side
   // if no width/height/fit is provided, the original size will be used
   image: 'data:image/jpeg;base64,...encodedContent...'
  },
  {
   // if you specify width, image will scale proportionally
   image: 'data:image/jpeg;base64,...encodedContent...',
   width: 150
  },
  {
   // if you specify both width and height - image will be stretched
   image: 'data:image/jpeg;base64,...encodedContent...',
   width: 150,
   height: 150
  },
  {
   // you can also fit the image inside a rectangle
   image: 'data:image/jpeg;base64,...encodedContent...',
   fit: [100, 100]
  },
  {
   // if you reuse the same image in multiple nodes,
   // you should put it to to images dictionary and reference it by name
   image: 'mySuperImage'
  },
  {
   image: 'myImageDictionary/image1.jpg'
  },
  {
   // in browser is supported loading images via url from reference by name in images
   image: 'snow'
  },
  {
   image: 'strawberries'
  },
 ],
 images: {
  mySuperImage: 'data:image/jpeg;base64,...content...',
  snow: 'https://picsum.photos/seed/picsum/200/300',
  strawberries: {
   url: 'https://picsum.photos/id/1080/367/267'
   headers: {
    myheader: '123',
    myotherheader: 'abc',
   }
  }
 }
};

পৃষ্ঠা ওরিয়েন্টেশন এবং মার্জিন সমর্থন

বিনামূল্যের JavaScript লাইব্রেরি PDFMake-এ জাভাস্ক্রিপ্ট অ্যাপের মধ্যে পৃষ্ঠার আকার, পৃষ্ঠার অভিযোজন এবং সেইসাথে পৃষ্ঠা মার্জিন সেট করার জন্য সমর্থন অন্তর্ভুক্ত রয়েছে। পৃষ্ঠার আকার সেট করতে আপনাকে নতুন পৃষ্ঠার প্রস্থ এবং উচ্চতা প্রদান করতে হবে। ডিফল্টরূপে, লাইব্রেরি পোর্ট্রেট পৃষ্ঠার অভিযোজন ব্যবহার করে তবে এটিকে ওয়ান-লাইনার কোড দিয়ে সহজেই ল্যান্ডস্কেপে সেট করতে পারে। এটি পৃষ্ঠা মার্জিন সেট করার জন্য সমর্থন প্রদান করে এবং ব্যবহারকারীদের গতিশীলভাবে পৃষ্ঠা বিরতি নিয়ন্ত্রণ করতে দেয়। এটি বাম, উপরে, ডান, নীচের পাশাপাশি অনুভূমিক এবং উল্লম্ব মার্জিন সমর্থন করে।

কম্পাইলারের জন্য লাইব্রেরি তৈরি করুন

 
var dd = {
	content: [
		{
			stack: [
				'This header has both top and bottom margins defined',
				{text: 'This is a subheader', style: 'subheader'},
			],
			style: 'header'
		},
		{
			text: [
				'Margins have slightly different behavior than other layout properties. They are not inherited, unlike anything else. They\'re applied only to those nodes which explicitly ',
				'set margin or style property.\n',
			]
		},
		{
			text: 'This paragraph (consisting of a single line) directly sets top and bottom margin to 20',
			margin: [0, 20],
		},
		{
			stack: [
				{text: [
						'This line begins a stack of paragraphs. The whole stack uses a ',
						{text: 'superMargin', italics: true},
						' style (with margin and fontSize properties).',
					]
				},
				{text: ['When you look at the', {text: ' document definition', italics: true}, ', you will notice that fontSize is inherited by all paragraphs inside the stack.']},
				'Margin however is only applied once (to the whole stack).'
			],
			style: 'superMargin'
		},
	],
	styles: {
		header: {
			fontSize: 18,
			bold: true,
			alignment: 'right',
			margin: [0, 190, 0, 80]
		},
		subheader: {
			fontSize: 14
		},
		superMargin: {
			margin: [20, 0, 40, 0],
			fontSize: 15
		}
	}
}

জাভাস্ক্রিপ্টের মাধ্যমে পিডিএফ-এ টেবিল সন্নিবেশ করান

ওপেন সোর্স লাইব্রেরি PDFMake কম্পিউটার প্রোগ্রামারদের পিডিএফ ফাইলের ভিতরে টেবিল সন্নিবেশ ও আপডেট করতে সক্ষম করে। লাইব্রেরি টেবিলের সারি কলাম এবং ঘর পরিচালনার জন্য বিভিন্ন উন্নত বৈশিষ্ট্য সমর্থন করে। এতে টেবিল সারিবদ্ধকরণ, স্টাইল টেবিল বর্ডার, শতাংশে প্রস্থ নির্ধারণ, টেবিল ঘোরানো, নতুন পৃষ্ঠায় টেবিল হেডার সারি সংজ্ঞায়িত করা এবং আরও অনেক কিছুর জন্য সমর্থন অন্তর্ভুক্ত রয়েছে।

কম্পাইলারের জন্য লাইব্রেরি তৈরি করুন

 var docDefinition = {
 content: [
  {
   layout: 'lightHorizontalLines', // optional
   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: [
     [ 'First', 'Second', 'Third', 'The last one' ],
     [ 'Value 1', 'Value 2', 'Value 3', 'Value 4' ],
     [ { text: 'Bold value', bold: true }, 'Val 2', 'Val 3', 'Val 4' ]
    ]
   }
  }
 ]
};
pdfMake.createPdf(docDefinition, tableLayouts, fonts, vfs)
// tableLayouts, fonts and vfs are all optional - falsy values will cause
 বাংলা