Java के साथ GroupDocs.Metadata में OpenType फ़ॉन्ट सिग्नेचर कैसे निकालें
आधुनिक अनुप्रयोगों में, OpenType फ़ॉन्ट सिग्नेचर डेटा निकालना फ़ॉन्ट की प्रामाणिकता की पुष्टि करने और आपके डिजिटल एसेट्स की सुरक्षा के लिए आवश्यक है। यह ट्यूटोरियल आपको चरण दर चरण दिखाता है कि GroupDocs.Metadata for Java का उपयोग करके OpenType फ़ॉन्ट से सिग्नेचर फ़्लैग्स और पूर्ण क्रिप्टोग्राफ़िक विवरण कैसे प्राप्त करें। चाहे आप सुरक्षा‑केंद्रित कंटेंट पाइपलाइन बना रहे हों या केवल फ़ॉन्ट लाइब्रेरी का ऑडिट करना चाहते हों, नीचे दी गई तकनीकें आपके कार्यप्रवाह को विश्वसनीय और तेज़ बनाती हैं।
त्वरित उत्तर
- मुझे कौन सी लाइब्रेरी चाहिए? GroupDocs.Metadata for Java (v24.12)
- कौन सा Java संस्करण आवश्यक है? JDK 8 या नया
- क्या मुझे लाइसेंस चाहिए? मूल्यांकन के लिए मुफ्त ट्रायल काम करता है; प्रोडक्शन के लिए पूर्ण लाइसेंस आवश्यक है
- क्या मैं कई फ़ॉन्ट्स प्रोसेस कर सकता हूँ? हाँ – बैच या समवर्ती प्रोसेसिंग समर्थित है
- क्या कोड थ्रेड‑सेफ़ है? प्रत्येक थ्रेड के लिए एक नया
Metadataइंस्टेंस बनाएं; ऑब्जेक्ट स्वयं थ्रेड‑सेफ़ नहीं है
OpenType फ़ॉन्ट सिग्नेचर क्या है?
OpenType फ़ॉन्ट सिग्नेचर फ़ॉन्ट के भीतर एम्बेडेड एक क्रिप्टोग्राफ़िक ब्लॉक है जो यह सिद्ध करता है कि फ़ाइल पर साइन किए जाने के बाद से इसमें कोई परिवर्तन नहीं हुआ है। इसमें साइनिंग समय, प्रमाणपत्र श्रृंखला, हैश एल्गोरिदम पहचानकर्ता, और वैकल्पिक रिवोकेशन जानकारी शामिल होती है। इसमें सिग्नेचर एल्गोरिदम पहचानकर्ता, साइनर का प्रमाणपत्र श्रृंखला, और वैकल्पिक रिवोकेशन सूची भी शामिल होती है, जिससे फ़ॉन्ट की अखंडता और मूल की व्यापक सत्यापन संभव होता है।
Java के लिए GroupDocs.Metadata क्यों उपयोग करें?
GroupDocs.Metadata 50+ इनपुट और आउटपुट फ़ॉर्मेट (जैसे DOCX, PDF, PPTX, HTML, और कई इमेज प्रकार) को सपोर्ट करता है और पूरी फ़ाइल को मेमोरी में लोड किए बिना OpenType सिग्नेचर पढ़ सकता है, जिससे आप कई‑सौ‑पृष्ठ फ़ॉन्ट संग्रहों को कुशलतापूर्वक प्रोसेस कर सकते हैं।
पूर्वापेक्षाएँ
- Java Development Kit (JDK): Version 8 या नया।
- IDE: कोई भी Java‑संगत IDE (IntelliJ IDEA, Eclipse, VS Code, आदि)।
- Maven: डिपेंडेंसी मैनेजमेंट के लिए।
आवश्यक लाइब्रेरी और डिपेंडेंसीज़
pom.xml में GroupDocs.Metadata Maven कोऑर्डिनेट्स जोड़ें। यह उदाहरणों के लिए आवश्यक सटीक पैकेज को खींचता है।
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/metadata/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-metadata</artifactId>
<version>24.12</version>
</dependency>
</dependencies>
सीधे डाउनलोड
वैकल्पिक रूप से, नवीनतम संस्करण GroupDocs.Metadata for Java releases से डाउनलोड करें।
लाइसेंस प्राप्ति
- Free Trial: फीचर्स का पता लगाने के लिए मुफ्त ट्रायल से शुरू करें।
- Temporary License: GroupDocs licensing page के माध्यम से एक टेम्पररी लाइसेंस प्राप्त करें।
- Purchase: प्रोडक्शन उपयोग के लिए पूर्ण लाइसेंस खरीदें।
GroupDocs.Metadata का उपयोग करके OpenType फ़ॉन्ट सिग्नेचर कैसे निकालें
Metadata क्लास GroupDocs.Metadata का कोर API है जो पूरी फ़ाइल लोड किए बिना दस्तावेज़ मेटाडेटा तक पहुंच प्रदान करता है।
फ़ॉन्ट का सिग्नेचर पढ़ने के लिए, .otf फ़ाइल के पाथ के साथ एक Metadata ऑब्जेक्ट बनाएं और फिर उसके DigitalSignaturePackage तक पहुंचें। यह तरीका केवल आवश्यक मेटाडेटा स्ट्रक्चर लोड करता है, पूरी फ़ॉन्ट पार्सिंग से बचता है और मेमोरी उपयोग कम रखता है। Metadata इंस्टेंस को सही डिस्पोज़ल सुनिश्चित करने के लिए try‑with‑resources ब्लॉक के भीतर उपयोग किया जाना चाहिए।
new Metadata("font.otf") के साथ अपने फ़ॉन्ट फ़ाइल को try‑with‑resources ब्लॉक के अंदर लोड करें। Metadata क्लास GroupDocs.Metadata का एंट्री पॉइंट है जो किसी भी समर्थित दस्तावेज़ प्रकार को पढ़ता है, जिसमें OpenType फ़ॉन्ट भी शामिल है। ऑब्जेक्ट स्वचालित रूप से बंद हो जाता है, जिससे संसाधन लीक नहीं होते।
डिजिटल सिग्नेचर फ़्लैग्स कैसे निकालें
DigitalSignaturePackage ऑब्जेक्ट फ़ॉन्ट के सभी सिग्नेचर‑संबंधित जानकारी को एकत्रित करता है, जिसमें फ़्लैग्स और व्यक्तिगत सिग्नेचर शामिल हैं।
सीधा उत्तर: फ़ॉन्ट खोलने के बाद metadata.getDigitalSignaturePackage().getFlags() कॉल करें; लौटाया गया फ़्लैग सेट बताता है कि सिग्नेचर वैध है, रद्द किया गया है, या विशेष शर्तें हैं। यह एकल कॉल आपको गहरी जानकारी में जाने से पहले एक त्वरित स्वास्थ्य जांच देता है। फ़्लैग्स को एक एनेमरेशन के रूप में दर्शाया जाता है जिसे साइनिंग स्थिति, टाइमस्टैम्प की उपस्थिति, और साइनिंग के दौरान लागू किसी भी नीति प्रतिबंध को निर्धारित करने के लिए निरीक्षण किया जा सकता है।
- अपने फ़ॉन्ट फ़ाइल की ओर इशारा करने वाला
Metadataइंस्टेंस इनिशियलाइज़ करें। DigitalSignaturePackageप्राप्त करें।- फ़्लैग मानों को प्रिंट या लॉग करें।
String documentPath = "YOUR_DOCUMENT_DIRECTORY"; // Replace with your input file path
try (Metadata metadata = new Metadata(documentPath)) {
OpenTypeRootPackage root = metadata.getRootPackageGeneric();
if (root.getDigitalSignaturePackage() != null) {
System.out.println(root.getDigitalSignaturePackage().getFlags());
}
}
व्याख्या
documentPath– OpenType फ़ॉन्ट का absolute या relative पाथ।- try‑with‑resources ब्लॉक सुनिश्चित करता है कि
Metadataऑब्जेक्ट स्वचालित रूप से बंद हो जाए, जिससे मेमोरी लीक नहीं होते।
विस्तृत डिजिटल सिग्नेचर जानकारी कैसे निकालें
CmsSignature फ़ॉन्ट में एम्बेडेड एक व्यक्तिगत CMS/PKCS#7 सिग्नेचर को दर्शाता है, जो उसकी क्रिप्टोग्राफ़िक प्रॉपर्टीज़ तक पहुंच प्रदान करता है।
सीधा उत्तर: metadata.getDigitalSignaturePackage().getSignatures() पर इटररेट करें; प्रत्येक CmsSignature ऑब्जेक्ट साइनिंग समय, डाइजेस्ट एल्गोरिदम, एन्कैप्सुलेटेड कंटेंट, और प्रमाणपत्र विवरण उजागर करता है, जिससे आप एक पूर्ण ऑडिट रिपोर्ट बना सकते हैं। प्रत्येक सिग्नेचर के लिए आप साइनर का प्रमाणपत्र श्रृंखला प्राप्त कर सकते हैं, हैश एल्गोरिदम को सत्यापित कर सकते हैं, और टाइमस्टैम्प टोकन निकाल सकते हैं ताकि यह पुष्टि हो सके कि सिग्नेचर कब लागू किया गया था।
- ऊपर की तरह ही
Metadataइनिशियलाइज़ेशन को पुनः उपयोग करें। - पैकेज में प्रत्येक
CmsSignatureपर लूप करें। getSignTime(),getDigestAlgorithms(),getCertificates(), औरgetSignerInfo()जैसी प्रॉपर्टीज़ निकालें।
String documentPath = "YOUR_DOCUMENT_DIRECTORY"; // Replace with your input file path
try (Metadata metadata = new Metadata(documentPath)) {
OpenTypeRootPackage root = metadata.getRootPackageGeneric();
if (root.getDigitalSignaturePackage() != null) {
for (CmsSignature signature : root.getDigitalSignaturePackage().getSignatures()) {
System.out.println(signature.getSignTime());
if (signature.getDigestAlgorithms() != null) {
for (com.groupdocs.metadata.core.Oid signatureDigestAlgorithm : signature.getDigestAlgorithms()) {
printOid(signatureDigestAlgorithm);
}
}
if (signature.getEncapsulatedContent() != null) {
System.out.println(signature.getEncapsulatedContent().getContentType());
System.out.println(signature.getEncapsulatedContent().getContentRawData().length);
}
if (signature.getCertificates() != null) {
for (com.groupdocs.metadata.core.CmsCertificate certificate : signature.getCertificates()) {
System.out.println(certificate.getNotAfter());
System.out.println(certificate.getNotBefore());
System.out.println(certificate.getRawData().length);
}
}
if (signature.getSigners() != null) {
for (com.groupdocs.metadata.core.CmsSigner signerInfoEntry : signature.getSigners()) {
System.out.println(signerInfoEntry.getSignatureValue());
printOid(signerInfoEntry.getDigestAlgorithm());
printOid(signerInfoEntry.getSignatureAlgorithm());
System.out.println(signerInfoEntry.getSigningTime());
}
}
}
}
}
मुख्य अनुभागों की व्याख्या
- Sign Time: सिग्नेचर लागू होने का टाइमस्टैम्प।
- Digest Algorithms & OIDs: उपयोग किए गए हैशिंग एल्गोरिदम (जैसे, SHA‑256)।
- Encapsulated Content: सिग्नेचर के भीतर लिपटे अतिरिक्त डेटा।
- Certificates: वैधता तिथियां और कच्चा डेटा आकार साइनर की पहचान सत्यापित करने में मदद करता है।
- Signers: प्रत्येक साइनर के एल्गोरिदम विकल्प और साइनिंग टाइमस्टैम्प प्रदान करता है।
समस्या निवारण टिप्स
- यदि फ़ॉन्ट में डिजिटल सिग्नेचर नहीं है, तो
getDigitalSignaturePackage()nullलौटाता है। फ़्लैग्स या सिग्नेचर तक पहुंचने से पहले हमेशाnullकी जाँच करें। - संगतता समस्याओं से बचने के लिए सुनिश्चित करें कि आप Maven डिपेंडेंसी में परिभाषित वही GroupDocs.Metadata संस्करण उपयोग कर रहे हैं।
व्यावहारिक अनुप्रयोग
OpenType फ़ॉन्ट सिग्नेचर निकालना कई वास्तविक‑दुनिया परिदृश्यों में मूल्यवान है:
- Document Verification: कंटेंट‑मैनेजमेंट सिस्टम में साइन किए गए फ़ॉन्ट फ़ाइलों की जांच को स्वचालित करें।
- Digital Asset Management: ब्रांडिंग प्रोजेक्ट्स में डिप्लॉय करने से पहले फ़ॉन्ट की प्रामाणिकता सत्यापित करें।
- Security Audits: सिग्नेचर विवरण की समीक्षा करें ताकि आंतरिक सुरक्षा नीतियों के अनुपालन को सुनिश्चित किया जा सके।
प्रदर्शन विचार
- Resource Management:
Metadataऑब्जेक्ट्स को तुरंत बंद करने के लिए try‑with‑resources का उपयोग करें। - Batch Processing: I/O ओवरहेड को कम करने के लिए फ़ॉन्ट्स को समूहों में प्रोसेस करें; GroupDocs.Metadata प्रत्येक फ़ॉन्ट को पूरी तरह मेमोरी में लोड किए बिना हजारों फ़ाइलों को संभाल सकता है।
- Concurrency: बड़े‑पैमाने के कार्यभार के लिए समानांतर थ्रेड्स में अलग-अलग
Metadataइंस्टेंस चलाएँ; लाइब्रेरी स्वयं प्रति इंस्टेंस थ्रेड‑सेफ़ नहीं है, इसलिए प्रत्येक थ्रेड के लिए इंस्टेंस अलग रखें।
अक्सर पूछे जाने वाले प्रश्न
Q: क्या मैं ऐसे फ़ॉन्ट से सिग्नेचर निकाल सकता हूँ जिसमें डिजिटल सिग्नेचर नहीं है?
A: DigitalSignaturePackage null होगा; फ़्लैग्स या विवरण तक पहुंचने से पहले हमेशा इस स्थिति की जाँच करें।
Q: GroupDocs.Metadata का कौन सा संस्करण आवश्यक है?
A: उदाहरण 24.12 संस्करण को लक्षित करते हैं, लेकिन नए रिलीज़ OpenType फ़ॉन्ट्स के लिए पिछली संगतता बनाए रखते हैं।
Q: सिग्नेचर पढ़ने के लिए क्या मुझे विशेष लाइसेंस चाहिए?
A: मूल्यांकन के लिए ट्रायल लाइसेंस काम करता है; प्रोडक्शन उपयोग के लिए पूर्ण लाइसेंस आवश्यक है।
Q: क्लाउड बकेट में संग्रहीत फ़ॉन्ट्स को कैसे संभालें?
A: फ़ॉन्ट को एक अस्थायी स्थानीय फ़ाइल में डाउनलोड करें, फिर उसका पाथ Metadata को पास करें। लाइब्रेरी किसी भी स्थानीय पाथ से पहुंच योग्य फ़ाइल के साथ काम करती है।
Q: क्या सिग्नेचर की क्रिप्टोग्राफ़िक वैधता सत्यापित करना संभव है?
A: GroupDocs.Metadata कच्चा सिग्नेचर डेटा प्रदान करता है; आप प्रमाणपत्र श्रृंखला और हैश मानों को एक अलग क्रिप्टो लाइब्रेरी में फीड करके पूर्ण सत्यापन कर सकते हैं।
निष्कर्ष
इस गाइड का पालन करके, आप अब Java के लिए GroupDocs.Metadata का उपयोग करके OpenType फ़ॉन्ट सिग्नेचर जानकारी और विस्तृत डिजिटल सिग्नेचर डेटा कैसे निकालें, जानते हैं। इन चरणों को अपने अनुप्रयोगों में एकीकृत करने से दस्तावेज़ सुरक्षा मजबूत होती है, एसेट वैलिडेशन सुगम होता है, और अनुपालन पहलों का समर्थन मिलता है।
अगले कदम
- बड़े फ़ॉन्ट लाइब्रेरी को कुशलतापूर्वक संभालने के लिए बैच प्रोसेसिंग के साथ प्रयोग करें।
- निकाले गए डेटा को अपने सुरक्षा‑ऑडिट टूल्स के साथ मिलाकर स्वचालित अनुपालन रिपोर्टिंग बनाएं।
- GroupDocs.Metadata की अन्य मेटाडेटा क्षमताओं का अन्वेषण करें, जैसे आवश्यक होने पर सिग्नेचर को संपादित या हटाना।
अंतिम अपडेट: 2026-06-22
परीक्षण किया गया: GroupDocs.Metadata 24.12
लेखक: GroupDocs