नए PDF बनाने और इमेज/बारकोड जोड़ने के लिए मुफ्त C PDF API।
PDF दस्तावेज़ बनाने और प्रबंधित करने के लिए एक शक्तिशाली ओपन-सोर्स हल्की C PDF प्रोसेसिंग लाइब्रेरी। यह मुफ्त में PDF दस्तावेज़ों में टेक्स्ट, इमेज, बारकोड और आकार जोड़ने का समर्थन करती है।
PDFGen लाइब्रेरी क्या है?
प्रोग्रामेटिक रूप से PDF दस्तावेज़ बनाना और प्रबंधित करना सॉफ़्टवेयर विकास के क्षेत्र में एक सामान्य आवश्यकता है। इनवॉइस और रिपोर्ट बनाने से लेकर जटिल दस्तावेज़ बनाने तक, एक विश्वसनीय PDF जनरेशन लाइब्रेरी सॉफ़्टवेयर डेवलपर के टूलकिट में एक महत्वपूर्ण उपकरण है। जबकि कई फीचर‑समृद्ध लाइब्रेरी मौजूद हैं, वे अक्सर जटिल निर्भरताओं और कठिन सीखने की प्रक्रिया के साथ आती हैं। यहीं पर PDFGen C लाइब्रेरी चमकती है। यह एक छोटा, स्व-निहित, ओपन सोर्स C लाइब्रेरी है जो PDF जनरेशन और प्रबंधन के लिए डिज़ाइन किया गया है। न्यूनतम फ़ुटप्रिंट और शून्य बाहरी निर्भरताओं के साथ, यह सरल अनुप्रयोगों, एम्बेडेड सिस्टमों, या उन मामलों के लिए आदर्श है जहाँ आप भारी PDF लाइब्रेरी को शामिल करने से बचना चाहते हैं। PDFGen अपने संक्षिप्त कोडबेस के बावजूद एक ठोस फीचर सेट प्रदान करता है, जैसे PDF में टेक्स्ट जोड़ना, PDF में बुनियादी वेक्टर ग्राफ़िक्स के साथ काम करना, बारकोड एम्बेड करना, इमेज एम्बेड करना, बुकमार्क जोड़ना, नए पेज जोड़ना आदि।
एक पारिस्थितिकी तंत्र में जहाँ लाइब्रेरीज़ अत्यधिक जटिल हो सकती हैं, PDFGen एक ताज़ा दृष्टिकोण अपनाता है। पूरी लाइब्रेरी एक ही C फ़ाइल और उसकी संबंधित हेडर फ़ाइल में समाहित है। इससे किसी भी प्रोजेक्ट में एकीकरण अत्यंत सरल हो जाता है। DFGen स्व-निर्भर है और किसी बाहरी लाइब्रेरी पर निर्भर नहीं करता। यह निर्भरताओं के प्रबंधन की झंझट को समाप्त करता है और एक सुगम संकलन प्रक्रिया सुनिश्चित करता है। अपने छोटे आकार और एकल‑फ़ाइल प्रकृति के कारण, यह बड़े अनुप्रयोगों में एम्बेड करने के लिए आदर्श है जहाँ आपको बुनियादी PDF आउटपुट की आवश्यकता है बिना बड़े ओवरहेड के। लाइब्रेरी Unlicense के तहत जारी की गई है, जो सार्वजनिक डोमेन के समान लाइसेंस है। इसका अर्थ है कि आप कोड को किसी भी उद्देश्य के लिए, व्यावसायिक या गैर‑व्यावसायिक, बिना किसी प्रतिबंध के उपयोग, संशोधित और वितरित कर सकते हैं।
PDFGen के साथ शुरुआत
PDFGen को स्थापित करने का अनुशंसित तरीका GitHub का उपयोग करना है। सुगम स्थापना के लिए कृपया निम्नलिखित कमांड का उपयोग करें।
GitHub के माध्यम से PDFGen इंस्टॉल करें
Git clone https://github.com/AndreRenaud/PDFGen.git
आप इसे मैन्युअल रूप से भी स्थापित कर सकते हैं; नवीनतम रिलीज़ फ़ाइलें सीधे GitHub रिपॉज़िटरी से डाउनलोड करें।
C API के माध्यम से बेसिक PDF फ़ाइल बनाएं
PDFGen एक ओपन-सोर्स, हल्का C लाइब्रेरी है जो विशेष रूप से PDF दस्तावेज़ों को आसानी से उत्पन्न करने और प्रबंधित करने के लिए डिज़ाइन की गई है। यह PDF दस्तावेज़ों के साथ काम करने के लिए विभिन्न सुविधाएँ समर्थन करता है, जैसे टेक्स्ट और छवियों को सम्मिलित करना, नए पृष्ठ जोड़ना, फ़ॉन्ट प्रबंधित करना, और कई अन्य। निम्नलिखित उदाहरण दिखाता है कि सॉफ़्टवेयर डेवलपर्स C अनुप्रयोगों के भीतर शीर्षक और टेक्स्ट बॉडी के साथ एक सिंगल-पेज PDF कैसे बना सकते हैं।
C लाइब्रेरी के माध्यम से एक सरल PDF कैसे बनाएं?
#include
#include "pdfgen.h"
int main(void) {
// 1. Create a new PDF document with A4 page size
struct pdf_info info = {
.creator = "My App",
.producer = "My App",
.title = "My First PDF",
.author = "John Doe",
};
struct pdf_doc *pdf = pdf_create(PDF_A4_WIDTH, PDF_A4_HEIGHT, &info);
// 2. Set up a font
const int font_size = 20;
// 3. Add a new page
pdf_append_page(pdf);
// 6. Save the PDF to a file
pdf_save(pdf, "hello_world.pdf");
// 7. Free the allocated memory
pdf_destroy(pdf);
printf("PDF generated successfully!\n");
return 0;
}
C लाइब्रेरी के माध्यम से PDF टेक्स्ट हेरफेर
ओपन-सोर्स PDFGen लाइब्रेरी ने C++ लाइब्रेरी के माध्यम से PDF दस्तावेज़ों के भीतर टेक्स्ट को संभालने के लिए पूर्ण समर्थन शामिल किया है। यह लाइब्रेरी मजबूत टेक्स्ट हैंडलिंग क्षमताएँ प्रदान करती है, जिससे आप Times-Roman, Helvetica, और Courier जैसे मानक PDF फ़ॉन्ट का उपयोग कर सकते हैं और फ़ॉन्ट आकार, रंग, तथा टेक्स्ट के घूर्णन को सेट करके टेक्स्ट की उपस्थिति को नियंत्रित कर सकते हैं। लाइब्रेरी पृष्ठ पर विशिष्ट निर्देशांक पर टेक्स्ट जोड़ने का भी समर्थन करती है। निम्नलिखित उदाहरण दिखाता है कि C कमांड्स का उपयोग करके PDF दस्तावेज़ के भीतर टेक्स्ट कैसे जोड़ें।
C लाइब्रेरी के माध्यम से PDF फ़ाइल में टेक्स्ट कैसे जोड़ें?
#include "pdfgen.h"
int main(void) {
struct pdf_info info = {
.creator = "My Application",
.title = "My First PDF",
.author = "Me"
};
struct pdf_doc *pdf = pdf_create(PDF_A4_WIDTH, PDF_A4_HEIGHT, &info);
pdf_set_font(pdf, "Times-Roman");
pdf_append_page(pdf);
pdf_add_text(pdf, NULL, "Hello, PDFGen!", 12, 50, 20, PDF_BLACK);
pdf_save(pdf, "hello.pdf");
pdf_destroy(pdf);
return 0;
}
PDF में आकृतियों को ड्रॉ करना और छवियों को एम्बेड करना
ओपन सोर्स PDFGen लाइब्रेरी ने PDF दस्तावेज़ों के भीतर आकार बनाना और छवियां जोड़ना आसान बना दिया है। उन दस्तावेज़ों के लिए जो केवल पाठ से अधिक की आवश्यकता रखते हैं, PDFGen बुनियादी आकार और रेखाएँ बनाने के लिए फ़ंक्शनों का एक सूट प्रदान करता है। केवल कुछ पंक्तियों के कोड से सॉफ़्टवेयर डेवलपर्स अपनी एप्लिकेशन में रेखाएँ, आयतें और वृत्त बनाकर आकार, चार्ट या बॉर्डर बना सकते हैं। निम्नलिखित उदाहरण दर्शाता है कि सॉफ़्टवेयर डेवलपर्स C Apps के भीतर ग्राफ़िक्स कैसे बना सकते हैं और JPEG छवि कैसे जोड़ सकते हैं।
C लाइब्रेरी के माध्यम से PDF दस्तावेज़ों में आकार कैसे बनाएं?
#include "pdfgen.h"
int main(void) {
// ... (PDF creation boilerplate as above) ...
pdf_append_page(pdf);
// Draw a red line
pdf_add_line(pdf, NULL, 50, 50, 200, 50, 3, PDF_RED);
// Draw a blue-filled rectangle
pdf_add_filled_rect(pdf, NULL, 50, 100, 150, 50, PDF_BLUE);
// ... (Save and destroy PDF) ...
return 0;
}
C लाइब्रेरी के माध्यम से PDF के अंदर बारकोड जेनरेशन
PDFGen की एक प्रमुख विशेषता इसका अंतर्निहित समर्थन है जो PDF दस्तावेज़ों के भीतर बारकोड उत्पन्न करता है। यह विशेष रूप से उन अनुप्रयोगों के लिए उपयोगी है जिन्हें चालान, शिपिंग लेबल या इन्वेंट्री टैग बनाना होता है। लाइब्रेरी दो सामान्य बारकोड मानकों का समर्थन करती है। Code-128, जो एक उच्च-घनत्व रैखिक बारकोड सिम्बोलॉजी है, और Code-39, जो एक परिवर्तनीय-लंबाई, डिस्क्रीट बारकोड सिम्बोलॉजी है। यहाँ एक उपयोगी उदाहरण है जो दिखाता है कि C अनुप्रयोगों में PDF फ़ाइल में बारकोड कैसे जोड़ें।
C एप्लिकेशन में PDF फ़ाइल के भीतर बारकोड कैसे जोड़ें?
#include "pdfgen.h"
int main(void) {
// ... (PDF creation boilerplate) ...
pdf_append_page(pdf);
pdf_add_barcode(pdf, NULL, PDF_BARCODE_128, 50, 200, 200, 50, "PDFGen-12345", PDF_BLACK);
// ... (Save and destroy PDF) ...
return 0;
}