ওপেন সোর্স C++ API এর মাধ্যমে PDF তৈরি করুন
PDF ফাইল তৈরি, সম্পাদনা, ম্যানিপুলেট এবং পার্স করার জন্য ওপেন সোর্স C++ লাইব্রেরি।
পিডিএফ-রাইটার কি?
PDF-Writer হল একটি ওপেন সোর্স C++ লাইব্রেরি যা সম্পূর্ণরূপে PDF ফাইল তৈরি, সম্পাদনা, ম্যানিপুলেট এবং পার্স করার পাশাপাশি স্ট্রীমকে সমর্থন করে। লাইব্রেরিটি পিডিএফ ফাইল তৈরির প্রধান "এক-অফ" পদ্ধতিতে তৈরি করা হয়েছিল। এই কারণেই এটি দ্রুত কাজ করছে এবং ফাইলটি যত বড় হোক না কেন কম মেমরি ব্যবহার করে। তাই ছোট পিডিএফ ফাইল তৈরি করা বা বড় পিডিএফ ডকুমেন্ট তৈরি করা ভালো।
পিডিএফ-এ কন্টেন্ট যোগ করা সবসময় খুবই গুরুত্বপূর্ণ এবং কাস্টম পিডিএফ তৈরি করতে ডেভেলপারদের সাহায্য করে। লাইব্রেরিতে পিডিএফ ফাইল প্রক্রিয়াকরণের জন্য বেশ কিছু গুরুত্বপূর্ণ বৈশিষ্ট্যের জন্য সমর্থন অন্তর্ভুক্ত রয়েছে যেমন পিডিএফ পৃষ্ঠা তৈরি করা, বিষয়বস্তু আঁকার জন্য পিডিএফ অপারেটর, জেপিজি বা পিএনজি এবং টিআইএফএফ ইমেজ এম্বেড করা, পিডিএফ পরিবর্তন করা, পিডিএফ একত্রিত করা বা বিভক্ত করা, পিডিএফ ফাইল রেন্ডার করা, পিডিএফ থেকে ডেটা এক্সট্রাকশন। , ইউনিকোড পাঠ্য সমর্থন, TrueType এবং OpenType ফন্ট সমর্থন এবং আরও অনেক কিছু।
পিডিএফ-রাইটার দিয়ে শুরু করা
লাইব্রেরি নির্মাণের জন্য প্রস্তাবিত পদ্ধতি, এবং নমুনা অ্যাপ্লিকেশন হল CMake ব্যবহার করা। আপনি এটি CMake ওয়েব সাইট থেকে পেতে পারেন। লাইব্রেরি Zlib, LibTiff, LibJpeg, FreeType এবং LibPng-এর উপর নির্ভরশীল। এর মানে হল যে একটি লিঙ্কযুক্ত প্রসঙ্গে পিডিএফ লাইব্রেরি ব্যবহার করার আগে আপনার সেগুলিও কম্পাইল করা উচিত।
আপনি নিজেও এটি ইনস্টল করতে পারেন; সরাসরি GitHub রিপোজিটরি থেকে সর্বশেষ রিলিজ ফাইল ডাউনলোড করুন।
C++ এর মাধ্যমে PDF জেনারেশন এবং পরিবর্তন
সফ্টওয়্যার বিকাশকারীরা তাদের নিজস্ব C++ অ্যাপ্লিকেশনগুলির মধ্যে একটি নতুন PDF ফাইল তৈরি করতে PDF-Writer API ব্যবহার করতে পারে। লাইব্রেরি ডেভেলপারদের তাদের নিজস্ব প্রয়োজন অনুযায়ী এটি পরিবর্তন করতে সহায়তা করে। আপনি সহজেই JPG, PNG, এবং TIFF চিত্রগুলি এম্বেড করতে পারেন, পুনঃব্যবহারযোগ্য অবজেক্টগুলিকে সংজ্ঞায়িত করতে পারেন, বিদ্যমান পিডিএফ পৃষ্ঠাগুলির পাশাপাশি পাঠ্যকে সহজেই এম্বেড করতে পারেন৷ আপনি বিদ্যমান PDF পৃষ্ঠাগুলিকে PDF এ পৃষ্ঠা হিসাবে যুক্ত করে অথবা একটি নতুন তৈরি পৃষ্ঠার গ্রাফিক্সে অন্তর্ভুক্ত করতে অংশ হিসাবে ব্যবহার করতে পারেন৷ নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করে, আপনি সহজেই পিডিএফ তৈরি করতে পারেন।
C++ এ PDF তৈরি করুন
- PDFWriter অবজেক্টের একটি উদাহরণ তৈরি করুন
- লেখার জন্য একটি পিডিএফ ফাইল খুলুন
- এখন এগিয়ে যান এবং PDF এ বিষয়বস্তু যোগ করুন।
- PDF নথি সংরক্ষণ করুন
C++ এ পিডিএফ জেনারেশন
// Create an instance of the PDFWriter objec
PDFWriter pdfWriter;
// Open a PDF file for writing
pdfWriter.StartPDF("c:\\myFile.pdf",ePDFVersion13);
// ...add content to PDF file...
pdfWriter.EndPDF();
PDF নথিতে নতুন পৃষ্ঠা যুক্ত করা হচ্ছে
পিডিএফ-রাইটার লাইব্রেরির মাধ্যমে নতুন পেজ যোগ করা এবং পিডিএফ ডকুমেন্টের ভিতরে তাদের মাত্রা সেট করা সম্ভব। এটি খুবই সহজ এবং একটি পিডিএফ ফাইলে নতুন পৃষ্ঠাগুলি যোগ করার জন্য C++ কোডের মাত্র কয়েকটি লাইন প্রয়োজন। লাইব্রেরি ডেভেলপারদের একটি বিদ্যমান পৃষ্ঠা পরিবর্তন বা একটি পৃষ্ঠা মুছে ফেলার ক্ষমতা দেয়। ইতিমধ্যে তৈরি করা পিডিএফ পৃষ্ঠায় সামগ্রী যুক্ত করাও সম্ভব।
পিডিএফ ডকুমেন্টে ছবি এম্বেড করা
পিডিএফ-রাইটার লাইব্রেরি টিআইএফএফ, পিএনজি, এবং জেপিজি ছবিগুলির পাশাপাশি পিডিএফ পৃষ্ঠাগুলি এম্বেড করার জন্য সমর্থন প্রদান করে। উচ্চ-স্তরের পদ্ধতি রয়েছে যা যেকোনো চিত্রের জন্য সাধারণ। এছাড়াও ইমেজ উন্নত ব্যবহারের জন্য কিছু নিম্ন স্তরের পদ্ধতি আছে. এটি নেটিভ ডিসিটি ডিকোডারের মাধ্যমে JPG ইমেজগুলির জন্য সমর্থন প্রদান করেছে, LibPng এর সাথে ডিকোডিংয়ের মাধ্যমে PNG এবং LibTiff-এর সাহায্যে এনকোডিং/ডিকোডিংয়ের মাধ্যমে টিআইএফএফ ইমেজ।
C++ এর মাধ্যমে PDF এ ইমেজ এম্বেড করা
pdfWriter.StartPDF("HighLevelImages.PDF",ePDFVersion13);
PDFPage* page = new PDFPage();
page->SetMediaBox(PDFRectangle(0,0,595,842));
PageContentContext* cxt = pdfWriter.StartPageContentContext(page);
cxt->DrawImage(10,10,"soundcloud_logo.jpg"));
pdfWriter.EndPageContentContext(cxt);
pdfWriter.WritePageAndRelease(page);
pdfWriter.EndPDF();
বিভিন্ন PDF নথিতে যোগদান করা
ওপেন সোর্স পিডিএফ কম্বাইনার এপিআই ব্যবহার করে, ব্যবহারকারীরা কোডের কয়েকটি লাইন ব্যবহার করে কোনো বাহ্যিক নির্ভরতা ছাড়াই দ্রুত একাধিক পিডিএফ ডকুমেন্ট একত্রিত করতে পারে। PDF-Writer সফ্টওয়্যার ডেভেলপারদের বিদ্যমান পিডিএফ ফাইলগুলি থেকে একটি একেবারে নতুন পিডিএফ নথি তৈরি করার ক্ষমতা দেয়। এটি ব্যবহারকারীদের আরও সহজে PDF নথি সংরক্ষণ এবং পর্যালোচনা করতে সহায়তা করে।
C++ এর মাধ্যমে পিডিএফ পেজ কন্টেন্ট মার্জ করা
PDFPage* page = new PDFPage();
page->SetMediaBox(PDFRectangle(0,0,595,842));
PDFPageRange singlePageRange;
singlePageRange.mType = PDFPageRange::eRangeTypeSpecific;
singlePageRange.mSpecificRanges.push_back(ULongAndULong(0,0));
pdfWriter.MergePDFPagesToPage(page,"C:\\Other2PagePDF.PDF",singlePageRange);
pdfWriter.WritePageAndRelease(page);