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

ওপেন সোর্স জাভাস্ক্রিপ্ট লাইব্রেরি পিডিএফ ডকুমেন্ট তৈরি, এডিট ও প্রিন্ট করতে, পিডিএফ-এ টেবিল, ইমেজ এবং হেডার বা ফুটার যোগ করতে দেয়।

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

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

Previous Next

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

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

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

npm install pdfmake --save

@types/pdfmake-এ টাইপিং ত্রুটি এড়াতে pdfmake-এর প্রকারগুলি রয়েছে৷

npm install @types/pdfmake --save-dev

npm এর মাধ্যমে pdfmake-wrapper ইনস্টল করুন<

npm install pdfmake-wrapper --save

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

ওপেন সোর্স PDFMake-Wrapper লাইব্রেরি জাভাস্ক্রিপ্টে PDF নথি তৈরি করার জন্য একটি চমৎকার পছন্দ। এটি সফ্টওয়্যার ডেভেলপারদের ব্রাউজারে (ক্লায়েন্ট-সাইড) এবং Node.js (সার্ভার-সাইড) এ জাভাস্ক্রিপ্ট কোডের কয়েকটি লাইন দিয়ে PDF নথি তৈরি করতে দেয়। একবার পিডিএফ ফাইল তৈরি হয়ে গেলে আপনি এটি সংশোধন করার পাশাপাশি পাঠ্য সন্নিবেশ, ফন্ট এবং গ্রাফিক্স এম্বেড করতে, বিভিন্ন শৈলী থেকে নির্বাচন এবং প্রয়োগ করতে, বাহ্যিক চিত্র সন্নিবেশ করতে এবং আরও অনেক কিছু করতে পারেন। এইচটিএমএল থেকে একটি পিডিএফ ফাইল তৈরি করাও সম্ভব, তবে এর জন্য আপনার প্রয়োজন হবে html2canvas।

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


html2canvas(document.getElementById('exportthis'), {
  onrendered: function (canvas) {
    var data = canvas.toDataURL();
    var docDefinition = {
      content: [{
        image: data,
        width: 500,
      }]
    };
    pdfMake.createPdf(docDefinition).download("Score_Details.pdf");
  }
});

জাভাস্ক্রিপ্টের মাধ্যমে পিডিএফ ফাইলে হেডার ও ফুটার সংযোজন

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

JS লাইব্রেরির মাধ্যমে PDF এর ভিতরে সারণী সন্নিবেশ ও পরিচালনা করুন

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

কিভাবে JS API এর মাধ্যমে পিডিএফ টেবিলে কলাম একত্রিত করবেন?

new Table([
    [
        new Txt('Name').bold().end,
        new Txt('Address').bold().end,
        new Txt('Email').bold().end,
        new Txt('Phone').bold().end
    ],
    [new Cell(new Txt('A').end).colSpan(4).end, null, null, null],
    ['Anastasia', 'Some direction 1', 'anastasia@domain.com', '123 4566 187'],
    ['Alexander', 'Some direction 2', 'alexander@domain.com', '123 4566 187'],
    [new Cell(new Txt('C').end).colSpan(4).end, null, null, null],
    ['Clementine', 'Some direction 3', 'clementine@domain.com', '123 4566 187'],
    ['Chelsey', 'Some direction 4', 'chelsey@domain.com', '123 4566 187'],
    [new Cell(new Txt('N').end).colSpan(4).end, null, null, null],
    ['Nicholas', 'Some direction 5', 'nicholas@domain.com', '123 4566 187'],
])
.widths(...)
.heights(...)
.end;

JavaScript API এর মাধ্যমে PDF এর ভিতরে ভেক্টর আঁকুন

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

জাভাস্ক্রিপ্টের মাধ্যমে PDF এর ভিতরে লাইন আঁকুন

import { Line } from '../../../src';
describe('Line definition class', () => {
    it('should be instanced', () => {
        const line = new Line(10, 10);
        expect( line.end ).toBeTruthy();
    });
    it('should be a simple line', () => {
        const line = new Line(10, 10).end;
        expect( line ).toEqual({ 
            type: 'line',
            x1: 10,
            y1: 10,
            x2: 10,
            y2: 10
        });
    });
    it('should be a line vector with full properties', () => {
        const line = new Line(10, 10)
            .color('red')
            .dash(5)
            .fillOpacity(0.1)
            .lineColor('blue')
            .lineWidth(3)
            .linearGradient(['green', 'yellow'])
            .lineCap('round')
            .end;
        expect( line ).toEqual({ 
            type: 'line',
            x1: 10,
            y1: 10,
            x2: 10,
            y2: 10,
            color: 'red',
            dash: { length: 5 },
            fillOpacity: 0.1,
            lineColor: 'blue',
            lineWidth: 3,
            linearGradient: ['green', 'yellow'],
            lineCap: 'round'
        });
    });
});
 বাংলা