फ़्री C++ API PDF फ़ाइलें बनाना, संशोधित करना और पार्स करने के लिए।

एक प्रमुख ओपन सोर्स PDF मैनिपुलेशन लाइब्रेरी C++ डेवलपर्स को C++ एप्लिकेशन्स के भीतर आसानी से PDF दस्तावेज़ बनाना, संशोधित करना, एन्क्रिप्ट करना, फ़ॉन्ट प्रबंधित करना और पार्स करने में सक्षम बनाती है।

PoDoFo लाइब्रेरी क्या है?

C++ विकास की दुनिया में, PDF फ़ाइलों को प्रोग्रामेटिक रूप से बनाना, संशोधित करना और डेटा निकालना एक सामान्य आवश्यकता है। PoDoFo लाइब्रेरी, एक ओपन‑सोर्स और पोर्टेबल C++17 लाइब्रेरी, PDF से संबंधित सभी कार्यों के लिए एक शक्तिशाली और बहुमुखी समाधान के रूप में उभरती है। PoDoFo मुफ्त में उपलब्ध है और PDF फ़ाइल फ़ॉर्मेट के साथ काम करने के लिए डिज़ाइन की गई है। यह सॉफ़्टवेयर डेवलपर्स को PDF फ़ाइलों को पार्स करने, उच्च‑स्तरीय PDF इकाइयों (जैसे एनोटेशन और फ़ॉर्म फ़ील्ड) की जांच करने, उन्हें मेमोरी में संशोधित करने, और अपने एप्लिकेशन के भीतर बदलावों को डिस्क पर लिखने में सक्षम बनाती है। यह लाइब्रेरी बाहरी निर्भरताओं के बिना शून्य से नई PDF फ़ाइलें बनाने को भी आसान बनाती है।

PoDoFo एक मजबूत C++ लाइब्रेरी है जो सॉफ़्टवेयर डेवलपर्स को पोर्टेबल डॉक्यूमेंट फ़ॉर्मेट (PDF) के साथ प्रोग्रामेटिक रूप से काम करने में सक्षम बनाती है। लाइब्रेरी के लिए LGPL v2.0 या बाद का लाइसेंस, और इसके साथ आने वाले टूल्स के लिए GPL v2.0 या बाद का लाइसेंस है, जिससे PoDoFo लाइब्रेरी व्यावसायिक और ओपन‑सोर्स दोनों प्रोजेक्ट्स के लिए लचीलापन और खुलापन सुनिश्चित करती है। यह PDF दस्तावेज़ों को शून्य से पार्स, मैनिपुलेट और जेनरेट करने के लिए टूल्स का समृद्ध सेट प्रदान करती है। चाहे आपको रिपोर्ट जनरेशन को ऑटोमेट करना हो, डेटा विश्लेषण के लिए टेक्स्ट निकालना हो, या सुरक्षा के लिए डिजिटल सिग्नेचर जोड़ना हो, PoDoFo आपकी आवश्यकताओं को पूरा करने के लिए एक व्यापक और लचीला API प्रदान करती है।

Previous Next

PoDoFo के साथ शुरुआत

PoDoFo को स्थापित करने का अनुशंसित तरीका CMake का उपयोग करना है। सुगम स्थापना के लिए कृपया निम्नलिखित कमांड का उपयोग करें।

GitHub से PPTXTemplater स्थापित करें

 vcpkg install fontconfig freetype libxml2 openssl libjpeg-turbo libpng tiff zlib
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build . --config Debug

GitHub से PPTXTemplater स्थापित करें

 git clone https://github.com/podofo/podofo.git

आप इसे मैन्युअली भी स्थापित कर सकते हैं; नवीनतम रिलीज़ फ़ाइलें सीधे GitHub रिपॉज़िटरी से डाउनलोड करें।

PDF निर्माण और संशोधन

ओपन सोर्स PoDoFo लाइब्रेरी ने C++ लाइब्रेरी के भीतर PDF दस्तावेज़ निर्माण और हेरफेर के लिए पूर्ण समर्थन शामिल किया है। अपने मूल में, PoDoFo नई PDF दस्तावेज़ बनाने और मौजूदा दस्तावेज़ों को संशोधित करने में उत्कृष्ट है। सॉफ़्टवेयर डेवलपर्स नई पृष्ठ जोड़ सकते हैं, टेक्स्ट ड्रॉ कर सकते हैं, विभिन्न ग्राफ़िकल तत्व सम्मिलित कर सकते हैं, और एन्क्रिप्टेड दस्तावेज़ को आसानी से खोल सकते हैं। निम्नलिखित सरल उदाहरण दर्शाता है कि सॉफ़्टवेयर डेवलपर्स C++ अनुप्रयोगों के भीतर एक सरल PDF दस्तावेज़ कैसे बना सकते हैं

C++ लाइब्रेरी के माध्यम से एक सरल PDF कैसे बनाएं?

#include 

using namespace PoDoFo;

int main() {
    PdfStreamedDocument document("HelloWorld.pdf");
    PdfPainter painter;
    PdfPage* pPage;

    try {
        pPage = document.CreatePage(PdfPage::CreateStandardPageSize(ePdfPageSize_A4));
        painter.SetPage(pPage);
        PdfFont* pFont = document.CreateFont("Arial");
        pFont->SetFontSize(18.0);
        painter.SetFont(pFont);
        painter.DrawText(56.69, pPage->GetPageSize().GetHeight() - 56.69, "Hello World!");
        painter.FinishPage();
        document.Close();
    } catch (const PdfError & e) {
        e.PrintErrorMsg();
        return e.GetCode();
    }

    return 0;
}
 

C++ के माध्यम से PDF फ़ाइलों से टेक्स्ट निष्कर्षण

PoDoFo लाइब्रेरी ने केवल कुछ ही C++ कोड लाइनों के साथ PDF दस्तावेज़ों से टेक्स्ट लोड करने और निकालने के लिए एक शक्तिशाली तंत्र शामिल किया है। यह सुविधा उन अनुप्रयोगों के लिए अमूल्य है जिन्हें सामग्री अनुक्रमण, डेटा माइनिंग, या दस्तावेज़ विश्लेषण की आवश्यकता होती है। निम्नलिखित कोड उदाहरण में, डेवलपर्स एक PDF को PdfMemDocument में लोड कर सकते हैं, उसके पृष्ठों के माध्यम से इटररेट कर सकते हैं, और टेक्स्ट सामग्री प्राप्त करने के लिए ExtractTextTo मेथड का उपयोग कर सकते हैं।

C++ API के माध्यम से PDF फ़ाइलों को लोड और टेक्स्ट निकालने का तरीका?

#include 
using namespace PoDoFo;

PdfMemDocument pdf("document.pdf");
int pageCount = pdf.GetPageCount();
for (int i = 0; i < pageCount; ++i) {
    PdfPage* page = pdf.GetPage(i);
    PdfContentsTokenizer tokenizer(page);

    const char* token = nullptr;
    PdfVariant var;
    EPdfContentsType type;

    while (tokenizer.ReadNext(type, token, var)) {
        if (type == ePdfContentsType_Keyword) {
            printf("Operator: %s\n", token);
        } else if (type == ePdfContentsType_Variant) {
            // Examine var as needed
        }
    }
}

 

C++ API के माध्यम से PDF में डिजिटल हस्ताक्षर जोड़ें?

आधिकारिक दस्तावेज़ों से निपटते समय सुरक्षा सर्वोपरि है। PoDoFo लाइब्रेरी PDF फ़ाइलों में डिजिटल हस्ताक्षर जोड़ने का समर्थन करती है, जिससे आपके दस्तावेज़ों की प्रामाणिकता और अखंडता सुनिश्चित होती है। यह विशेष रूप से अनुबंधों, चालानों और अन्य कानूनी दस्तावेज़ों के लिए उपयोगी है। जबकि पूर्ण डिजिटल हस्ताक्षर उदाहरण जटिल है और वैध प्रमाणपत्र की आवश्यकता होती है, निम्नलिखित अवधारणात्मक कोड प्रक्रिया को दर्शाता है।

C++ के माध्यम से PDF में डिजिटल हस्ताक्षर कैसे जोड़ें?

 // Conceptual Code - Not a complete working example
#include 

using namespace PoDoFo;

int main() {
    PdfMemDocument document("unsigned.pdf");
    PdfPage* pPage = document.GetPage(0);

    // Create a signature field
    PdfSignatureField sigField(pPage,
        PdfRect(100, pPage->GetPageSize().GetHeight() - 100, 200, 50),
        &document);

    // Set signature properties
    // ...

    // Sign the document using a custom signer implementation
    // MySigner signer("my_certificate.pfx", "password");
    // document.Sign(sigField, signer);

    document.Write("signed.pdf");

    return 0;
}
 

फ़ॉन्ट हैंडलिंग और यूनिकोड समर्थन

नि:शुल्क PoDoFo लाइब्रेरी विभिन्न फ़ॉन्ट प्रकारों, जैसे TrueType और Type1 फ़ॉन्ट्स, के लिए मजबूत समर्थन प्रदान करती है। लाइब्रेरी फ़ॉन्ट सबसेटिंग को भी संभालती है, जिससे उत्पन्न PDFs का फ़ाइल आकार कम करने में मदद मिलती है। इसके अलावा, इसका उत्कृष्ट Unicode समर्थन सुनिश्चित करता है कि आप विभिन्न भाषाओं और अक्षर सेटों के साथ काम कर सकें। PDF साइनिंग (PAdES-B अनुपालन), RSA/ECDSA एन्क्रिप्शन, और असिंक्रोनस या डिफर्ड साइनिंग वर्कफ़्लो के लिए पूर्ण समर्थन उपलब्ध है।

 हिन्दी