HIBC का उपयोग करके जावा में बारकोड के साथ PDF पर हस्ताक्षर करें
यदि आप फ़ार्मास्यूटिकल या हेल्थकेयर लॉजिस्टिक्स सॉफ़्टवेयर बना रहे हैं, तो संभवतः आप कागज़‑आधारित ट्रैकिंग, खोए हुए हस्ताक्षर, और ऑडिट की दुविधाओं की समस्या का सामना कर चुके हैं। बारकोड के साथ PDF पर हस्ताक्षर—विशेष रूप से HIBC डेटा मैट्रिक्स या QR कोड—एक छेड़छाड़‑प्रमाणित, मशीन‑पठनीय ट्रेल बनाता है जो प्रिंटिंग, स्कैनिंग और नियामक समीक्षा को सहन करता है। इस ट्यूटोरियल में आप देखेंगे कि GroupDocs.Signature for Java का उपयोग करके PDF में डेटा मैट्रिक्स और QR दोनों बारकोड कैसे जोड़ें।
त्वरित उत्तर
- Java में HIBC बारकोड को संभालने वाली लाइब्रेरी कौन सी है? GroupDocs.Signature for Java.
- कौन सा बारकोड फ़ॉर्मेट सबसे छोटा है? Data Matrix – छोटे लेबल के लिए आदर्श।
- क्या मैं एक ही PDF में QR और Data Matrix दोनों जोड़ सकता हूँ? हाँ, बस अलग-अलग
QrCodeSignOptionsबनाएँ। - क्या रनटाइम पर इंटरनेट कनेक्शन की आवश्यकता है? नहीं, लाइब्रेरी इंस्टॉलेशन के बाद पूरी तरह ऑफ़लाइन काम करती है।
- सिफ़ारिश किया गया Java संस्करण कौन सा है? उत्पादन‑स्तर के प्रदर्शन के लिए Java 11+।
HIBC बारकोड PDF साइनिंग क्या है?
Signature GroupDocs.Signature की कोर क्लास है जो PDF दस्तावेज़ का प्रतिनिधित्व करती है और डिजिटल हस्ताक्षर एम्बेड करने की सुविधा देती है। GroupDocs.Signature for Java में Signature क्लास HIBC बारकोड को डिजिटल हस्ताक्षर के रूप में एम्बेड करने के मेथड प्रदान करती है। HIBC बारकोड के साथ PDF पर हस्ताक्षर करके आप एक सत्यापन योग्य, छेड़छाड़‑प्रमाणित रिकॉर्ड बनाते हैं जिसे आपूर्ति श्रृंखला के किसी भी बिंदु पर स्कैन किया जा सकता है।
डेटा मैट्रिक्स और QR कोड को साथ में क्यों उपयोग करें?
डेटा मैट्रिक्स सबसे छोटा फुटप्रिंट प्रदान करता है जबकि अभी भी 2,335 अल्फ़ान्यूमेरिक अक्षर रख सकता है, जिससे यह घने लेबल क्षेत्रों के लिए उपयुक्त है। दूसरी ओर, QR कोड 4,296 अक्षरों तक का समर्थन करता है और स्मार्टफ़ोन द्वारा सार्वभौमिक रूप से पढ़ा जा सकता है। दोनों को मिलाकर आपको स्थान दक्षता और डेटा क्षमता का सर्वोत्तम संतुलन मिलता है, जिससे प्रत्येक स्टेकहोल्डर—वेयरहाउस स्कैनर से मोबाइल ऐप तक—को आवश्यक जानकारी पढ़ने में सक्षम बनाता है।
आवश्यकताएँ
- JDK 11 या उससे ऊपर (Java 8 भी काम करता है लेकिन इष्टतम प्रदर्शन के लिए Java 11+ की सिफ़ारिश की जाती है)।
- IDE जैसे IntelliJ IDEA, Eclipse, या Java एक्सटेंशन वाले VS Code।
- Maven या Gradle निर्भरता प्रबंधन के लिए (नीचे उदाहरण)।
- Sample PDF (उदा.,
sample.pdf) कार्यान्वयन का परीक्षण करने के लिए। - वैध GroupDocs.Signature लाइसेंस (विकास के लिए मुफ्त ट्रायल, उत्पादन के लिए पेड लाइसेंस)।
GroupDocs.Signature for Java सेटअप करना
Maven कॉन्फ़िगरेशन
अपने pom.xml में डिपेंडेंसी जोड़ें:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-signature</artifactId>
<version>23.12</version>
</dependency>
Gradle कॉन्फ़िगरेशन
Gradle प्रोजेक्ट्स के लिए, इसे अपने build.gradle में जोड़ें:
implementation 'com.groupdocs:groupdocs-signature:23.12'
सीधे डाउनलोड विकल्प
आप GroupDocs.Signature for Java releases से JAR फ़ाइल को सीधे डाउनलोड करके अपने प्रोजेक्ट की क्लासपाथ में मैन्युअली जोड़ सकते हैं। यह तरीका प्रतिबंधित‑नेटवर्क वातावरण में अच्छी तरह काम करता है।
लाइसेंस प्राप्त करना
GroupDocs से मुफ्त ट्रायल या अस्थायी लाइसेंस का अनुरोध करें ताकि वॉटरमार्क हटाए जा सकें और सभी फीचर अनलॉक हों। उत्पादन डिप्लॉयमेंट के लिए खरीदा हुआ लाइसेंस आवश्यक है।
बेसिक इनिशियलाइज़ेशन
Signature सभी साइनिंग ऑपरेशन्स का एंट्री पॉइंट है। यह PDF लोड करता है, बारकोड लागू करता है, और साइन किया हुआ फ़ाइल लिखता है।
import com.groupdocs.signature.Signature;
class InitializeSignature {
public static void main(String[] args) {
Signature signature = new Signature("sample.pdf");
// Proceed with signing operations...
}
}
HIBC बारकोड के साथ Data Matrix PDF कैसे बनाएं?
Signature को अपने स्रोत PDF के साथ इंस्टैंशिएट करें, QrCodeSignOptions को Data Matrix फ़ॉर्मेट पर सेट करें, सही फ़ॉर्मेटेड HIBC स्ट्रिंग प्रदान करें, और sign() कॉल करें। लाइब्रेरी साइन किया हुआ PDF गंतव्य पर लिखती है, लेआउट को संरक्षित रखती है और बारकोड को छेड़छाड़‑प्रमाणित हस्ताक्षर के रूप में एम्बेड करती है।
QrCodeSignOptions हस्ताक्षर के लिए बारकोड प्रकार, सामग्री, आकार, और प्लेसमेंट निर्दिष्ट करता है।
- आवश्यक क्लासेस इम्पोर्ट करें – ये आपको सिग्नेचर इंजन और Data Matrix विकल्पों तक पहुँच प्रदान करती हैं।
import com.groupdocs.signature.Signature;
import com.groupdocs.signature.options.sign.QrCodeSignOptions;
import com.groupdocs.signature.domain.qrcodes.QrCodeTypes;
Signatureऑब्जेक्ट को इंस्टैंशिएट करें स्रोत और गंतव्य फ़ाइलों के पूर्ण पाथ के साथ।
String sourceFilePath = "YOUR_DOCUMENT_DIRECTORY";
String destinFilePath = "YOUR_OUTPUT_DIRECTORY/SignWithHIBCLICQR.pdf";
final Signature signature = new Signature(sourceFilePath);
- Data Matrix विकल्पों को कॉन्फ़िगर करें – HIBC स्ट्रिंग सेट करें,
QrCodeTypes.HIBCLICDataMatrixचुनें, और प्लेसमेंट कोऑर्डिनेट्स निर्धारित करें।QrCodeTypesHIBC हस्ताक्षरों के लिए समर्थित बारकोड फ़ॉर्मेट को सूचीबद्ध करता है।
QrCodeSignOptions hibcLic_QR = new QrCodeSignOptions("A123PROD30917/75#422011907#GP293", QrCodeTypes.HIBCLICQR);
hibcLic_QR.setLeft(1); // Set the position from left
hibcLic_QR.setTop(1); // Set the position from top
hibcLic_QR.setReturnContent(true); // Return content after signing
hibcLic_QR.setReturnContentType(FileType.PNG); // Specify return content type as PNG
- PDF पर हस्ताक्षर लागू करें।
signature.sign(destinFilePath, hibcLic_QR);
- संसाधनों को डिस्पोज़ करें ताकि फ़ाइल हैंडल मुक्त हों और मेमोरी लीक न हो।
finally {
if (signature != null) signature.dispose();
}
पूर्ण कार्यशील उदाहरण
यहाँ एकल ब्लॉक में पूरा फ्लो दिया गया है (प्लेसहोल्डर पहले के स्निपेट्स से आप जो कोड पेस्ट करेंगे, वही दर्शाते हैं):
import com.groupdocs.signature.Signature;
import com.groupdocs.signature.options.sign.QrCodeSignOptions;
import com.groupdocs.signature.domain.qrcodes.QrCodeTypes;
public class HibcQrSigning {
public static void main(String[] args) {
String sourceFilePath = "sample.pdf";
String destinFilePath = "output/SignWithHIBCLICQR.pdf";
Signature signature = null;
try {
signature = new Signature(sourceFilePath);
QrCodeSignOptions hibcLic_QR = new QrCodeSignOptions(
"A123PROD30917/75#422011907#GP293",
QrCodeTypes.HIBCLICQR
);
hibcLic_QR.setLeft(1);
hibcLic_QR.setTop(1);
hibcLic_QR.setReturnContent(true);
hibcLic_QR.setReturnContentType(FileType.PNG);
signature.sign(destinFilePath, hibcLic_QR);
System.out.println("PDF signed successfully with HIBC QR code");
} catch (Exception e) {
System.err.println("Error signing PDF: " + e.getMessage());
e.printStackTrace();
} finally {
if (signature != null) signature.dispose();
}
}
}
संक्षिप्त उत्तर (40–70 शब्द)
Data Matrix PDF बनाने के लिए, Signature को अपने स्रोत PDF के साथ इंस्टैंशिएट करें, QrCodeSignOptions को QrCodeTypes.HIBCLICDataMatrix पर सेट करें और सही फ़ॉर्मेटेड HIBC स्ट्रिंग प्रदान करें, फिर signature.sign(outputPath, options) कॉल करें। लाइब्रेरी साइन किया हुआ PDF गंतव्य पर लिखती है, लेआउट को संरक्षित रखती है और बारकोड को छेड़छाड़‑प्रमाणित हस्ताक्षर के रूप में एम्बेड करती है।
GroupDocs.Signature का उपयोग करके QR कोड PDF कैसे जोड़ें?
PDF लोड करें, QR फ़ॉर्मेट के लिए QrCodeSignOptions कॉन्फ़िगर करें, और sign() कॉल करें। लाइब्रेरी QR इमेज को पठनीयता के लिए स्केल करती है और आपके सेट किए गए कोऑर्डिनेट्स के आधार पर स्थित करती है, जिससे मौजूदा सामग्री के साथ ओवरलैप न हो। यह सुनिश्चित करता है कि प्रिंटिंग के बाद बारकोड स्कैन योग्य बना रहे और HIBC मानकों के अनुरूप हो।
QrCodeSignOptions QR बारकोड की सामग्री, आकार, और स्थिति को परिभाषित करता है।
- QR‑विशिष्ट क्लासेस इम्पोर्ट करें
QrCodeSignOptions hibcLic_AZ = new QrCodeSignOptions("A123PROD30917/75#422011907#GP293", QrCodeTypes.HIBCLICAztec);
hibcLic_AZ.setLeft(1); // Set the position from left
hibcLic_AZ.setTop(200); // Set the position from top
hibcLic_AZ.setReturnContent(true); // Return content after signing
hibcLic_AZ.setReturnContentType(FileType.PNG); // Specify return content type as PNG
- QR विकल्प बनाएं और कॉन्फ़िगर करें –
QrCodeTypes.HIBCLICQRके उपयोग पर ध्यान दें।
signature.sign(destinFilePath, hibcLic_AZ);
- दस्तावेज़ पर हस्ताक्षर करें
QrCodeSignOptions hibcLic_DM = new QrCodeSignOptions("A123PROD30917/75#422011907#GP293", QrCodeTypes.HIBCLICDataMatrix);
hibcLic_DM.setLeft(1); // Set the position from left
hibcLic_DM.setTop(400); // Set the position from top
hibcLic_DM.setReturnContent(true); // Return content after signing
hibcLic_DM.setReturnContentType(FileType.PNG); // Specify return content type as PNG
Direct answer:
QrCodeSignOptionsमेंQrCodeTypes.HIBCLICQRका उपयोग करें, HIBC कंटेंट स्ट्रिंग सेट करें, कोड कोsetLeft()औरsetTop()से पोज़िशन करें, फिरsignature.sign(outputPath, options)कॉल करें। QR बारकोड तुरंत एम्बेड हो जाता है, स्मार्टफ़ोन या स्कैनर कैप्चर के लिए तैयार।
सामान्य गलतियों से बचें
1. संसाधन डिस्पोज़ करना भूलना
Wrong:
Signature signature = new Signature("sample.pdf");
signature.sign(destinFilePath, options);
// Oops, no dispose() call
Fix: Signature उपयोग को try‑with‑resources ब्लॉक में रैप करें या finally क्लॉज़ में स्पष्ट रूप से close() कॉल करें।
2. गलत HIBC फ़ॉर्मेट स्ट्रिंग्स का उपयोग
Wrong: “12345” जैसी सामान्य स्ट्रिंग्स का उपयोग।
Fix: HIBCC मानक का पालन करें (उदा., A123PROD30917/75#422011907#GP293)। HIBCC online validator से वैधता जांचें।
3. फ़ाइल पाथ को हार्ड‑कोड करना
Wrong:
String sourceFilePath = "C:/Users/John/Documents/test.pdf";
Fix: पाथ को कॉन्फ़िगरेशन फ़ाइल या एनवायरनमेंट वैरिएबल में रखें और रनटाइम पर पढ़ें।
4. बारकोड पोज़िशन कॉन्फ्लिक्ट को अनदेखा करना
बारकोड को मौजूदा टेक्स्ट या हस्ताक्षरों से दूर रखें। PDF कोऑर्डिनेट्स (origin नीचे‑बाएँ) का उपयोग करें और प्रिंटेड सैंपल से टेस्ट करें।
5. वास्तविक स्कैनरों के साथ टेस्ट न करना
साइन किया हुआ PDF प्रिंट करें और अपने वर्कफ़्लो में उपयोग किए जाने वाले सटीक हार्डवेयर से स्कैन करें। विभिन्न प्रिंट क्वालिटी पर पठनीयता की जाँच करें।
हेल्थकेयर में व्यावहारिक अनुप्रयोग
| परिदृश्य | सिफ़ारिश किया गया बारकोड | क्यों उपयुक्त है |
|---|---|---|
| फ़ार्मास्यूटिकल वितरण | QR Code | उच्च डेटा क्षमता, स्मार्टफ़ोन द्वारा व्यापक रूप से स्कैन किया जाता है। |
| इन्वेंटरी प्रबंधन | Data Matrix | छोटा फुटप्रिंट, घने शेल्फ लेबल के लिए आदर्श। |
| नियामक अनुपालन (FDA 21 CFR Part 11) | QR + Data Matrix | ड्यूल‑फ़ॉर्मेट रिडंडेंसी और ऑडिटेबिलिटी प्रदान करता है। |
| मेडिकल डिवाइस ट्रैकिंग | Aztec Code | सीमित‑स्पेस पैकेजिंग पर काम करने वाला कॉम्पैक्ट आकार। |
प्रदर्शन संबंधी विचार और सर्वोत्तम प्रथाएँ
बैच प्रोसेसिंग पैटर्न
List<String> filesToSign = getFileList();
for (String filePath : filesToSign) {
Signature signature = null;
try {
signature = new Signature(filePath);
// Sign and save
} finally {
if (signature != null) signature.dispose();
}
}
- प्रति फ़ाइल एक नया
Signatureइंस्टेंस बनाएं ताकि मेमोरी उपयोग कम रहे। - पैरेलल प्रोसेसिंग के लिए फिक्स्ड थ्रेड पूल (
Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() - 1)) का उपयोग करें, लेकिन हीप साइज मॉनिटर करें क्योंकि प्रत्येकSignatureपूरी PDF को मेमोरी में रखता है।
लाइब्रेरीज़ को अपडेट रखें
GroupDocs रिलीज़ प्रोसेसिंग स्पीड को 20 % तक बढ़ाते हैं और नए HIBC अनुपालन फीचर जोड़ते हैं। त्रैमासिक डिपेंडेंसी चेक शेड्यूल करें।
टेम्प्लेट्स को कैश करना
PDF टेम्प्लेट को एक बार लोड करें, प्रत्येक बारकोड वैरिएंट के लिए क्लोन बनाएं, और क्लोन पर साइन करें। इससे I/O कम होता है और हाई‑वॉल्यूम वर्कफ़्लो तेज़ होते हैं।
अक्सर पूछे जाने वाले प्रश्न
Q: क्या GroupDocs.Signature PDF के अलावा अन्य फ़ाइल प्रकारों पर साइन कर सकता है?
A: हाँ, यह समान बारकोड‑साइनिंग API के साथ DOCX, XLSX, PPTX, PNG, JPEG, और TIFF को भी सपोर्ट करता है।
Q: “Invalid barcode content” त्रुटियों को कैसे ट्रबलशूट करें?
A: सुनिश्चित करें कि आपका HIBC स्ट्रिंग सटीक HIBCC सिंटैक्स का पालन करता है, ऑनलाइन वैलिडेटर का उपयोग करें, और चुने हुए फ़ॉर्मेट के लिए सही QrCodeTypes कॉन्स्टेंट उपयोग कर रहे हैं।
Q: प्रत्येक HIBC फ़ॉर्मेट की अधिकतम डेटा क्षमता क्या है?
A: QR ≈ 4,296 अल्फ़ान्यूमेरिक अक्षर, Aztec ≈ 3,832 न्यूमेरिक / 3,067 अल्फ़ान्यूमेरिक, Data Matrix ≈ 3,116 न्यूमेरिक / 2,335 अल्फ़ान्यूमेरिक। स्कैन विश्वसनीयता के लिए कोड को 200 अक्षरों से कम रखें।
Q: क्या एक ही PDF में कई बारकोड प्रकार एम्बेड करना संभव है?
A: बिल्कुल। विभिन्न पोज़िशन के साथ अलग-अलग QrCodeSignOptions ऑब्जेक्ट बनाएं और प्रत्येक के लिए signature.sign() कॉल करें। बस यह सुनिश्चित करें कि वे ओवरलैप न करें।
Q: रनटाइम पर साइन करने के लिए इंटरनेट कनेक्शन की आवश्यकता है?
A: नहीं। JAR क्लासपाथ में होने और लाइसेंस एक्टिवेट होने के बाद सभी ऑपरेशन्स लोकली किए जाते हैं।
अतिरिक्त संसाधन
- GroupDocs.Signature for Java दस्तावेज़ीकरण
- API रेफ़रेंस गाइड
- नवीनतम रिलीज़ डाउनलोड्स
- लाइसेंस खरीदें
- मुफ़्त ट्रायल प्राप्त करें
- अस्थायी लाइसेंस का अनुरोध करें
- GroupDocs फ़ोरम
अंतिम अपडेट: 2026-09-15
परीक्षित संस्करण: GroupDocs.Signature 23.12 for Java
लेखक: GroupDocs