PDF را از طریق C++ API منبع باز ایجاد کنید
کتابخانه C++ منبع باز برای ایجاد، ویرایش، دستکاری و تجزیه فایلهای PDF.
PDF-Writer چیست؟
PDF-Writer یک کتابخانه متن باز C++ است که به طور کامل از ایجاد، ویرایش، دستکاری و تجزیه فایل های PDF و همچنین استریم ها پشتیبانی می کند. این کتابخانه با روش اصلی "یکباره" تولید فایل های PDF توسعه یافته است. به همین دلیل است که سریع کار می کند و صرف نظر از اینکه فایل چقدر بزرگ می شود، از حافظه کم استفاده می کند. بنابراین بهتر است فایل های PDF کوچک ایجاد کنید یا اسناد PDF بزرگتر تولید کنید.
افزودن محتوا به PDF همیشه بسیار مهم است و به توسعه دهندگان در تولید PDF های سفارشی کمک می کند. این کتابخانه شامل پشتیبانی از چندین ویژگی مهم برای پردازش فایل های PDF مانند ایجاد صفحات PDF، عملگرهای PDF برای ترسیم محتوا، جاسازی تصاویر JPG یا PNG و TIFF، اصلاح PDF، ادغام یا تقسیم PDF، رندر فایل های PDF، استخراج داده ها از PDF است. ، پشتیبانی از متن یونیکد، پشتیبانی از فونت های TrueType و OpenType و بسیاری موارد دیگر.
شروع کار با PDF-Writer
روش پیشنهادی برای ساخت کتابخانه و نمونه برنامه استفاده از CMake است. می توانید آن را از وب سایت CMake دریافت کنید. این کتابخانه به Zlib، LibTiff، LibJpeg، FreeType و LibPng وابسته است. این بدان معنی است که قبل از استفاده از کتابخانه PDF در یک زمینه پیوندی، باید آنها را نیز کامپایل کنید.
شما همچنین می توانید آن را به صورت دستی نصب کنید. آخرین فایل های نسخه را مستقیماً از مخزن GitHub دانلود کنید.
تولید و اصلاح PDF از طریق C++
توسعه دهندگان نرم افزار می توانند از PDF-Writer API برای تولید یک فایل PDF جدید در برنامه های C++ خود استفاده کنند. این کتابخانه همچنین به توسعه دهندگان کمک می کند تا آن را مطابق با نیازهای خود تغییر دهند. شما به راحتی می توانید تصاویر JPG، PNG، و TIFF، تعریف اشیاء قابل استفاده مجدد، صفحات PDF موجود و همچنین متن را به راحتی جاسازی کنید. میتوانید از صفحات PDF موجود با افزودن آنها به عنوان صفحات به PDF یا استفاده از آنها به عنوان بخشهایی برای گنجاندن در گرافیک یک صفحه جدید استفاده کنید. با استفاده از مراحل زیر می توانید PDF را به راحتی تولید کنید.
PDF را در C++ تولید کنید
- یک نمونه از شی PDFWriter ایجاد کنید
- یک فایل PDF را برای نوشتن باز کنید
- حالا ادامه دهید و محتوا را به PDF اضافه کنید.
- سند 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
با کتابخانه PDF-Writer امکان افزودن صفحات جدید و تنظیم ابعاد آنها در یک سند PDF وجود دارد. این بسیار آسان است و برای افزودن صفحات جدید به یک فایل PDF تنها به چند خط کد C++ نیاز دارد. این کتابخانه همچنین به توسعه دهندگان این قدرت را می دهد که یک صفحه موجود را تغییر دهند یا یک صفحه را حذف کنند. همچنین امکان افزودن محتوا به صفحه PDF از قبل ایجاد شده وجود دارد.
تعبیه تصاویر در اسناد PDF
کتابخانه PDF-Writer از جاسازی تصاویر TIFF، PNG، و JPG و همچنین صفحات PDF پشتیبانی می کند. روش های سطح بالایی وجود دارند که برای هر نوع تصویری کلی هستند. جدای از آن، روشهای سطح پایینتری برای استفاده پیشرفته از تصاویر وجود دارد. این پشتیبانی از تصاویر JPG از طریق رمزگشای اصلی DCT، PNG از طریق رمزگشایی با LibPng و تصاویر TIFF از طریق رمزگذاری/رمزگشایی با کمک LibTiff است.
جاسازی تصویر در PDF از طریق C++
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 ترکیبی API، کاربران می توانند به سرعت چندین سند PDF را بدون هیچ گونه وابستگی خارجی تنها با استفاده از چند خط کد ترکیب کنند. PDF-Writer به توسعه دهندگان نرم افزار این قدرت را می دهد که یک سند PDF کاملاً جدید از فایل های PDF موجود تولید کنند. این به کاربران کمک می کند تا سند PDF را راحت تر ذخیره و مرور کنند.
ادغام محتوای صفحات 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);