ওপেন সোর্স জাভাস্ক্রিপ্ট API এর মাধ্যমে PDF তৈরি ও সম্পাদনা

PDF ফাইল তৈরি এবং সংশোধন করার জন্য ওপেন সোর্স জাভাস্ক্রিপ্ট লাইব্রেরি, জাভাস্ক্রিপ্টের মাধ্যমে পিডিএফ-এ পৃষ্ঠাগুলি যোগ এবং অনুলিপি করা এবং ছবি সন্নিবেশ করান।

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

লাইব্রেরিটি টাইপস্ক্রিপ্টে লেখা এবং অন্য কোন নির্ভরতা ছাড়াই বিশুদ্ধ জাভাস্ক্রিপ্টে কম্পাইল করা হয়েছে। PDF-Lib লাইব্রেরি তৈরির একটি মহান উদ্দেশ্য ছিল জাভাস্ক্রিপ্ট ইকোসিস্টেমের পিডিএফ সম্পাদনা বা পরিবর্তনের জন্য শক্তিশালী সমর্থনের অভাবকে মোকাবেলা করা। বিভিন্ন ভাল জাভাস্ক্রিপ্ট লাইব্রেরি আছে যেগুলি পিডিএফ ফাইল তৈরিকে সমর্থন করে কিন্তু খুব কমই পিডিএফ পরিবর্তনের জন্য শক্তিশালী সমর্থন অন্তর্ভুক্ত করে। PDF-Lib পিডিএফ পরিবর্তনের জন্য সম্পূর্ণ সমর্থন অন্তর্ভুক্ত করেছে এবং সেইসাথে সমস্ত জাভাস্ক্রিপ্ট পরিবেশে কাজ করে (শুধু নোড বা ব্রাউজার নয়)।

Previous Next

PDF-Lib দিয়ে শুরু করা

পিডিএফ-লিব শুরু করার এবং ইনস্টল করার প্রস্তাবিত এবং সহজ উপায় হল npm এবং সেইসাথে সুতার মাধ্যমে, নীচের কমান্ডটি।

npm এর মাধ্যমে PDF-Lib ইনস্টল করুন

 npm install --save pdf-lib 

সুতার মাধ্যমে PDF-Lib ইনস্টল করুন

 yarn add pdf-lib 

জাভাস্ক্রিপ্টের মাধ্যমে পিডিএফ ডকুমেন্ট তৈরি ও পরিবর্তন

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

কীভাবে জাভাস্ক্রিপ্টের মাধ্যমে পিডিএফ ডকুমেন্ট তৈরি করবেন

import { PDFDocument, StandardFonts, rgb } from 'pdf-lib'
// Create a new PDFDocument
const pdfDoc = await PDFDocument.create()
// Embed the Times Roman font
const timesRomanFont = await pdfDoc.embedFont(StandardFonts.TimesRoman)
// Add a blank page to the document
const page = pdfDoc.addPage()
// Get the width and height of the page
const { width, height } = page.getSize()
// Draw a string of text toward the top of the page
const fontSize = 30
page.drawText('Creating PDFs in JavaScript is awesome!', {
  x: 50,
  y: height - 4 * fontSize,
  size: fontSize,
  font: timesRomanFont,
  color: rgb(0, 0.53, 0.71),
})
// Serialize the PDFDocument to bytes (a Uint8Array)
const pdfBytes = await pdfDoc.save()

জেএস লাইব্রেরির মাধ্যমে পিডিএফ ডকুমেন্টের মধ্যে পেজ কপি করুন

পিডিএফ ডকুমেন্টের ভিতরে একটি নতুন পৃষ্ঠা তৈরি করার পরিবর্তে একটি বিদ্যমান পৃষ্ঠা ব্যবহার করা প্রায়শই খুব উপকারী। ওপেন সোর্স PDF-Lib লাইব্রেরি কম্পিউটার প্রোগ্রামারদের বিভিন্ন PDF নথি থেকে পৃষ্ঠাগুলি অনুলিপি করতে এবং তাদের পছন্দসই PDF নথিতে কোনো বাহ্যিক নির্ভরতা ছাড়াই যোগ করতে সক্ষম করে। প্রথমে, আপনাকে উভয় পিডিএফ ফাইল লোড করতে হবে, তারপরে, আপনি পছন্দসই পৃষ্ঠাগুলি অনুলিপি করতে copyPages() কমান্ড ব্যবহার করতে পারেন, এবং তারপর PDF নথির ভিতরে পছন্দসই স্থানে পৃষ্ঠাটি যুক্ত করতে addPage() কমান্ড ব্যবহার করতে পারেন।

জাভাস্ক্রিপ্ট ব্যবহার করে বিদ্যমান পিডিএফে পাঠ্য যোগ করুন

import { PDFDocument } from 'pdf-lib'
// Create a new PDFDocument
const pdfDoc = await PDFDocument.create()
const firstDonorPdfBytes = ...
const secondDonorPdfBytes = ...
// Load a PDFDocument from each of the existing PDFs
const firstDonorPdfDoc = await PDFDocument.load(firstDonorPdfBytes)
const secondDonorPdfDoc = await PDFDocument.load(secondDonorPdfBytes)
// Copy the 1st page from the first donor document, and
// the 743rd page from the second donor document
const [firstDonorPage] = await pdfDoc.copyPages(firstDonorPdfDoc, [0])
const [secondDonorPage] = await pdfDoc.copyPages(secondDonorPdfDoc, [742])
// Add the first copied page
pdfDoc.addPage(firstDonorPage)
// Insert the second copied page to index 0, so it will be the
// first page in `pdfDoc`
pdfDoc.insertPage(0, secondDonorPage)
// Serialize the PDFDocument to bytes (a Uint8Array)
const pdfBytes = await pdfDoc.save()

পিডিএফ ফাইল থেকে মেটাডেটা পার্স করুন এবং পড়ুন

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

জাভাস্ক্রিপ্ট ব্যবহার করে পিডিএফে ছবি যোগ করুন


import { PDFDocument, StandardFonts } from 'pdf-lib'
// Create a new PDFDocument
const pdfDoc = await PDFDocument.create()
// Embed the Times Roman font
const timesRomanFont = await pdfDoc.embedFont(StandardFonts.TimesRoman)
// Add a page and draw some text on it
const page = pdfDoc.addPage([500, 600])
page.setFont(timesRomanFont)
page.drawText('The Life of an Egg', { x: 60, y: 500, size: 50 })
page.drawText('An Epic Tale of Woe', { x: 125, y: 460, size: 25 })
// Set all available metadata fields on the PDFDocument. Note that these fields
// are visible in the "Document Properties" section of most PDF readers.
pdfDoc.setTitle('🥚 The Life of an Egg 🍳')
pdfDoc.setAuthor('Humpty Dumpty')
pdfDoc.setSubject('📘 An Epic Tale of Woe 📖')
pdfDoc.setKeywords(['eggs', 'wall', 'fall', 'king', 'horses', 'men'])
pdfDoc.setProducer('PDF App 9000 🤖')
pdfDoc.setCreator('pdf-lib (https://github.com/Hopding/pdf-lib)')
pdfDoc.setCreationDate(new Date('2018-06-24T01:58:37.228Z'))
pdfDoc.setModificationDate(new Date('2019-12-21T07:00:11.000Z'))
// Serialize the PDFDocument to bytes (a Uint8Array)
const pdfBytes = await pdfDoc.save()

JavaScript API এর মাধ্যমে PDF এ সংযুক্তি যোগ করুন

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

JavaScript ব্যবহার করে PDF এ সংযুক্তি যোগ করুন

const jpgAttachmentBytes = ...
const pdfAttachmentBytes = ...
// Create a new PDFDocument
const pdfDoc = await PDFDocument.create()
// Add the JPG attachment
await pdfDoc.attach(jpgAttachmentBytes, 'cat_riding_unicorn.jpg', {
  mimeType: 'image/jpeg',
  creationDate: new Date('2019/12/01'),
  modificationDate: new Date('2020/04/19'),
})
// Add the PDF attachment
await pdfDoc.attach(pdfAttachmentBytes, 'us_constitution.pdf', {
  mimeType: 'application/pdf',
  creationDate: new Date('1787/09/17'),
  modificationDate: new Date('1992/05/07'),
})
// Add a page with some text
const page = pdfDoc.addPage();
page.drawText('This PDF has two attachments', { x: 135, y: 415 })
// Serialize the PDFDocument to bytes (a Uint8Array)
const pdfBytes = await pdfDoc.save()
 বাংলা