GroupDocs Document Comparison API के साथ Java में Excel फ़ाइलों की तुलना
क्या आपने कभी दस्तावेज़ों की मैन्युअल तुलना करने में घंटों बिताए हैं, लाइन दर लाइन बदलावों की खोज करते हुए? चाहे आप अनुबंध संशोधनों को ट्रैक कर रहे हों, कोड दस्तावेज़ीकरण की समीक्षा कर रहे हों, या वित्तीय रिपोर्टों के लिए compare excel files java की आवश्यकता हो, मैन्युअल दस्तावेज़ तुलना समय‑साध्य और त्रुटिपूर्ण है।
इस व्यापक गाइड में, आप जानेंगे कि कैसे एक मजबूत Java दस्तावेज़ तुलना API समाधान लागू किया जाए जो मैन्युअल कार्य के घंटों को बचाता है और यह सुनिश्चित करता है कि कुछ भी छूट न जाए। हम बुनियादी सेटअप से लेकर वास्तविक उत्पादन वातावरण में काम करने वाली उन्नत अनुकूलन तकनीकों तक सब कुछ कवर करेंगे।
त्वरित उत्तर
- क्या GroupDocs Java में Excel फ़ाइलों की तुलना कर सकता है? हाँ, सिर्फ
.xlsxफ़ाइलों कोComparerक्लास के साथ लोड करें। - हेडर/फ़ूटर को कैसे अनदेखा करें?
CompareOptionsमेंsetHeaderFootersComparison(false)सेट करें। - बड़ी PDF फ़ाइलों के बारे में क्या? JVM हीप बढ़ाएँ और मेमोरी ऑप्टिमाइज़ेशन सक्षम करें।
- क्या मैं पासवर्ड‑सुरक्षित PDF की तुलना कर सकता हूँ?
Comparerबनाते समय पासवर्ड प्रदान करें। - हाइलाइट रंग बदलने का कोई तरीका है? डाले गए, हटाए गए और बदले गए आइटम्स के लिए
StyleSettingsउपयोग करें।
compare excel files java क्या है?
compare excel files java दो Excel वर्कबुक्स के बीच अंतर को प्रोग्रामेटिकली जाँचने को दर्शाता है, Java कोड का उपयोग करके। GroupDocs.Comparison API स्प्रेडशीट सामग्री पढ़ता है, सेल‑स्तर के बदलावों का मूल्यांकन करता है, और एक डिफ़ रिपोर्ट बनाता है जो जोड़, हटाना और संशोधन को हाइलाइट करती है।
Java दस्तावेज़ तुलना API का उपयोग क्यों करें?
स्वचालन के लिए व्यावसायिक कारण
मैन्युअल दस्तावेज़ तुलना केवल थकाऊ नहीं है—यह जोखिमपूर्ण भी है। अध्ययनों से पता चलता है कि मानव मैनुअल तुलना करते समय लगभग 20 % महत्वपूर्ण बदलावों को मिस कर देते हैं। यही कारण है कि डेवलपर्स प्रोग्रामेटिक समाधान की ओर बढ़ रहे हैं:
सामान्य समस्याएँ:
- समय की बर्बादी: वरिष्ठ डेवलपर्स साप्ताहिक 3–4 घंटे दस्तावेज़ समीक्षाओं में खर्च करते हैं
- मानव त्रुटि: कानूनी अनुबंधों या तकनीकी विनिर्देशों में महत्वपूर्ण बदलावों को मिस करना
- असंगत मानक: विभिन्न टीम सदस्य बदलावों को अलग‑अलग हाइलाइट करते हैं
- स्केल समस्या: सैकड़ों दस्तावेज़ों की मैन्युअल तुलना असंभव हो जाती है
API समाधान प्रदान करते हैं:
- 99.9 % सटीकता: हर कैरेक्टर‑स्तर के बदलाव को स्वचालित रूप से पकड़ता है
- गति: 100+ पृष्ठ दस्तावेज़ों की तुलना 30 सेकंड से कम में
- संगतता: सभी तुलना में मानकीकृत हाइलाइटिंग और रिपोर्टिंग
- इंटीग्रेशन: मौजूदा Java वर्कफ़्लो और CI/CD पाइपलाइन में सहजता से फिट होता है
दस्तावेज़ तुलना API कब उपयोग करें
यह Java दस्तावेज़ तुलना API इन परिदृश्यों में उत्कृष्ट है:
कानूनी दस्तावेज़ समीक्षा – अनुबंध बदलावों और संशोधनों को स्वचालित रूप से ट्रैक करें
तकनीकी दस्तावेज़ीकरण – API दस्तावेज़ अपडेट और चेंजलॉग की निगरानी करें
सामग्री प्रबंधन – ब्लॉग पोस्ट, मार्केटिंग सामग्री या उपयोगकर्ता मैनुअल की तुलना करें
अनुपालन ऑडिट – सुनिश्चित करें कि नीति दस्तावेज़ नियामक आवश्यकताओं को पूरा करते हैं
वर्ज़न कंट्रोल – Git को मानव‑पठनीय दस्तावेज़ डिफ़ से पूरक करें
समर्थित फ़ाइल फ़ॉर्मेट और क्षमताएँ
GroupDocs.Comparison for Java बॉक्स से ही 50+ फ़ाइल फ़ॉर्मेट संभालता है:
लोकप्रिय फ़ॉर्मेट:
- डॉक्यूमेंट्स: Word (DOCX, DOC), PDF, RTF, ODT
- स्प्रेडशीट्स: Excel (XLSX, XLS), CSV, ODS
- प्रेजेंटेशन: PowerPoint (PPTX, PPT), ODP
- टेक्स्ट फ़ाइलें: TXT, HTML, XML, MD
- इमेजेज़: PNG, JPEG, BMP, GIF (विज़ुअल तुलना)
उन्नत सुविधाएँ:
- पासवर्ड‑सुरक्षित दस्तावेज़ तुलना
- बहु‑भाषा टेक्स्ट डिटेक्शन और तुलना
- विभिन्न दस्तावेज़ प्रकारों के लिए कस्टम संवेदनशीलता सेटिंग्स
- कई दस्तावेज़ जोड़ों के लिए बैच प्रोसेसिंग
- क्लाउड और ऑन‑प्रेमाइसेस डिप्लॉयमेंट विकल्प
पूर्वापेक्षाएँ और सेटअप
सिस्टम आवश्यकताएँ
कोड में डुबने से पहले, सुनिश्चित करें कि आपका विकास वातावरण इन आवश्यकताओं को पूरा करता है:
- Java Development Kit (JDK): संस्करण 8 या उससे ऊपर (JDK 11+ अनुशंसित)
- बिल्ड टूल: Maven 3.6+ या Gradle 6.0+
- मेमोरी: बड़े दस्तावेज़ों के प्रोसेसिंग के लिए न्यूनतम 4 GB RAM
- स्टोरेज: अस्थायी तुलना फ़ाइलों के लिए 500 MB+ खाली स्थान
Maven कॉन्फ़िगरेशन
pom.xml में GroupDocs रिपॉजिटरी और डिपेंडेंसी जोड़ें। यह सेटअप सुनिश्चित करता है कि आप आधिकारिक रिलीज़ चैनल से ले रहे हैं:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/comparison/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-comparison</artifactId>
<version>25.2</version>
</dependency>
</dependencies>
लाइसेंस सेटअप
विकास और परीक्षण के लिए:
- फ़्री ट्रायल: GroupDocs Downloads से डाउनलोड करें – वॉटरमार्क्ड आउटपुट शामिल है
- अस्थायी लाइसेंस: GroupDocs Support के माध्यम से 30‑दिन की पूर्ण पहुँच प्राप्त करें
प्रोडक्शन के लिए:
- पूर्ण लाइसेंस: अनलिमिटेड कमर्शियल उपयोग के लिए GroupDocs Purchase के माध्यम से खरीदें
एक बार जब आपके पास लाइसेंस फ़ाइल हो, तो इसे इस प्रकार इनिशियलाइज़ करें:
// License initialization - do this once at application startup
com.groupdocs.comparison.License license = new com.groupdocs.comparison.License();
license.setLicense("path/to/your/license/file.lic");
प्रो टिप: लाइसेंस फ़ाइल को अपने एप्लिकेशन के resources फ़ोल्डर में रखें और getClass().getResourceAsStream() का उपयोग करके लोड करें, जिससे विभिन्न वातावरणों में बेहतर पोर्टेबिलिटी मिलेगी।
कोर इम्प्लीमेंटेशन गाइड
फीचर 1: हेडर और फ़ूटर तुलना को अनदेखा करें
यह क्यों महत्वपूर्ण है: हेडर और फ़ूटर अक्सर टाइमस्टैम्प, पेज नंबर या लेखक जानकारी जैसी डायनेमिक सामग्री रखते हैं, जो दस्तावेज़ संस्करणों के बीच बदलती है लेकिन सामग्री तुलना के लिए प्रासंगिक नहीं होती। इन सेक्शन को अनदेखा करने से शोर कम होता है और महत्वपूर्ण बदलावों पर ध्यान केंद्रित होता है।
वास्तविक‑दुनिया परिदृश्य: आप अनुबंध संस्करणों की तुलना कर रहे हैं जहाँ प्रत्येक संशोधन में फ़ूटर में अलग‑अलग डेट स्टैम्प होते हैं, लेकिन आप मुख्य सामग्री में क्लॉज़ संशोधनों की परवाह करते हैं।
import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import java.io.FileOutputStream;
public class IgnoreHeaderFooterExample {
public static void main(String[] args) throws Exception {
String outputFileName = "YOUR_OUTPUT_DIRECTORY/IgnoreHeaderFooter_result.docx";
try (OutputStream resultStream = new FileOutputStream(outputFileName);
Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_with_footer.docx")) {
comparer.add("YOUR_DOCUMENT_DIRECTORY/target_with_footer.docx");
// Set comparison options to ignore headers and footers
CompareOptions compareOptions = new CompareOptions.Builder()
.setHeaderFootersComparison(false)
.build();
final Path resultPath = comparer.compare(resultStream, new SaveOptions(), compareOptions);
}
}
}
मुख्य लाभ:
- स्वच्छ परिणाम – फ़ॉर्मेटिंग अंतर के बजाय सामग्री बदलावों पर ध्यान दें
- कम फ़ॉल्स पॉज़िटिव – अप्रासंगिक बदलाव सूचनाओं को हटाएँ
- बेहतर प्रदर्शन – अनावश्यक तुलना ऑपरेशन्स को स्किप करें
फीचर 2: प्रोफेशनल रिपोर्ट्स के लिए आउटपुट पेपर साइज सेट करें
व्यावसायिक संदर्भ: प्रिंटिंग या PDF वितरण के लिए तुलना रिपोर्ट बनाते समय, पेपर साइज को नियंत्रित करने से विभिन्न व्यूइंग प्लेटफ़ॉर्म और प्रिंटिंग परिदृश्यों में फॉर्मेटिंग सुसंगत रहती है।
उपयोग मामला: कानूनी टीमों को अक्सर कोर्ट फ़ाइलिंग या क्लाइंट प्रेजेंटेशन के लिए विशिष्ट फ़ॉर्मेट में तुलना रिपोर्ट चाहिए होती है।
import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import com.groupdocs.comparison.options.enums.PaperSize;
public class SetOutputPaperSizeExample {
public static void main(String[] args) throws Exception {
String outputFileName = "YOUR_OUTPUT_DIRECTORY/SetOutputPaperSize_result.docx";
try (OutputStream resultStream = new FileOutputStream(outputFileName);
Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_word.docx")) {
comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");
// Set the paper size to A6
CompareOptions compareOptions = new CompareOptions.Builder()
.setPaperSize(PaperSize.A6)
.build();
final Path resultPath = comparer.compare(resultStream, compareOptions);
}
}
}
उपलब्ध पेपर साइज: A0‑A10, Letter, Legal, Tabloid, और कस्टम डाइमेंशन। अपने वितरण आवश्यकताओं के आधार पर चुनें—यूरोपीय क्लाइंट्स के लिए A4, US‑आधारित टीमों के लिए Letter।
फीचर 3: तुलना संवेदनशीलता को फाइन‑ट्यून करें
चुनौती: विभिन्न दस्तावेज़ प्रकारों को बदलाव पहचान के विभिन्न स्तरों की आवश्यकता होती है। कानूनी अनुबंधों को हर कॉमा का पता चलना चाहिए, जबकि मार्केटिंग सामग्री को केवल महत्वपूर्ण सामग्री बदलावों की परवाह हो सकती है।
संवेदनशीलता कैसे काम करती है: संवेदनशीलता स्केल 0‑100 तक है, जहाँ उच्च मान अधिक सूक्ष्म बदलावों को पहचानते हैं:
- 0‑25: केवल बड़े बदलाव (पैराग्राफ जोड़ना/हटाना)
- 26‑50: मध्यम बदलाव (वाक्य संशोधन)
- 51‑75: विस्तृत बदलाव (शब्द‑स्तर संशोधन)
- 76‑100: सूक्ष्म बदलाव (कैरेक्टर‑स्तर अंतर)
import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
public class AdjustComparisonSensitivityExample {
public static void main(String[] args) throws Exception {
String outputFileName = "YOUR_OUTPUT_DIRECTORY/AdjustComparisonSensitivity_result.docx";
try (OutputStream resultStream = new FileOutputStream(outputFileName);
Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_word.docx")) {
comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");
// Set sensitivity to 100 for maximum detail
CompareOptions compareOptions = new CompareOptions.Builder()
.setSensitivityOfComparison(100)
.build();
final Path resultPath = comparer.compare(resultStream, compareOptions);
}
}
}
संवेदनशीलता सेटिंग्स के लिए सर्वोत्तम प्रैक्टिस:
- कानूनी दस्तावेज़: व्यापक बदलाव पहचान के लिए 90‑100 उपयोग करें
- मार्केटिंग कंटेंट: महत्वपूर्ण संशोधनों पर फोकस करने के लिए 40‑60 उपयोग करें
- तकनीकी स्पेसिफ़िकेशन: महत्वपूर्ण विवरण पकड़ने के लिए 70‑80 उपयोग करें, जबकि छोटे फ़ॉर्मेटिंग को फ़िल्टर करें
फीचर 4: बेहतर विज़ुअल कम्युनिकेशन के लिए परिवर्तन शैलियों को कस्टमाइज़ करें
कस्टम शैलियों का महत्व: डिफ़ॉल्ट हाइलाइटिंग आपके टीम के रिव्यू मानकों या कॉर्पोरेट ब्रांडिंग से मेल नहीं खा सकती। कस्टम शैलियां दस्तावेज़ की पठनीयता बढ़ाती हैं और स्टेकहोल्डर्स को विभिन्न प्रकार के बदलाव जल्दी पहचानने में मदद करती हैं।
प्रोफेशनल अप्रोच: रंग मनोविज्ञान का उपयोग करें—डिलीशन के लिए लाल रंग तात्कालिकता पैदा करता है, जोड़ के लिए हरा सकारात्मक बदलाव दर्शाता है, और संशोधन के लिए नीला समीक्षा की आवश्यकता दर्शाता है।
import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import com.groupdocs.comparison.options.save.SaveOptions;
import com.groupdocs.comparison.options.style.StyleSettings;
import java.awt.Color;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class CustomizeChangesStylesStreamExample {
public static void main(String[] args) throws Exception {
String outputFileName = "YOUR_OUTPUT_DIRECTORY/CustomizeChangesStylesStream_result.docx";
try (InputStream sourceFile = new FileInputStream("YOUR_DOCUMENT_DIRECTORY/source_word.docx");
InputStream targetFile = new FileInputStream("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");
OutputStream resultStream = new FileOutputStream(outputFileName);
Comparer comparer = new Comparer(sourceFile)) {
comparer.add(targetFile);
// Customize change styles for professional appearance
StyleSettings insertedStyle = new StyleSettings();
insertedStyle.setHighlightColor(Color.GREEN); // Green for additions
StyleSettings deletedStyle = new StyleSettings();
deletedStyle.setHighlightColor(Color.RED); // Red for deletions
StyleSettings changedStyle = new StyleSettings();
changedStyle.setHighlightColor(Color.BLUE); // Blue for modifications
CompareOptions compareOptions = new CompareOptions.Builder()
.setInsertedItemStyle(insertedStyle)
.setDeletedItemStyle(deletedStyle)
.setChangedItemStyle(changedStyle)
.build();
final Path resultPath = comparer.compare(resultStream, compareOptions);
}
}
}
उन्नत शैली विकल्प (StyleSettings में उपलब्ध):
- फ़ॉन्ट वजन, आकार, और फ़ैमिली संशोधन
- बैकग्राउंड रंग और ट्रांसपेरेंसी
- विभिन्न परिवर्तन प्रकारों के लिए बॉर्डर शैलियां
- हटाए गए कंटेंट के लिए स्ट्राइक‑थ्रू विकल्प
तुलना रिपोर्ट में Java के लिए पेपर साइज कैसे सेट करें
यदि आपको प्रोग्रामेटिकली set paper size java करने की आवश्यकता है, तो CompareOptions में PaperSize एन्नुम पूरी नियंत्रण देता है। ऊपर का उदाहरण पहले से ही PaperSize.A6 सेट करने को दर्शाता है। बस A6 को किसी अन्य समर्थित साइज (जैसे PaperSize.LETTER) से बदलें ताकि आपके क्षेत्रीय प्रिंटिंग मानकों से मेल खाए।
सामान्य समस्याएँ और ट्रबलशूटिंग
बड़े दस्तावेज़ों के लिए मेमोरी प्रबंधन
समस्या: 50 MB से बड़े दस्तावेज़ों की तुलना करते समय OutOfMemoryError
समाधान: JVM हीप साइज बढ़ाएँ और स्ट्रीमिंग लागू करें
# Increase heap size for large document processing
java -Xmx4g -XX:MaxMetaspaceSize=512m YourComparisonApp
कोड ऑप्टिमाइज़ेशन:
// Use streaming for memory efficiency
try (Comparer comparer = new Comparer(sourceStream)) {
// Process in chunks for very large documents
CompareOptions options = new CompareOptions.Builder()
.setMemoryOptimization(true) // Enable memory optimization
.build();
}
भ्रष्ट या पासवर्ड‑सुरक्षित फ़ाइलों को संभालना
समस्या: लॉक्ड दस्तावेज़ों के साथ तुलना विफल होती है
रोकथाम रणनीति:
// Check document accessibility before comparison
try {
Comparer comparer = new Comparer(sourceFile, "password123");
// Document loaded successfully, proceed with comparison
} catch (PasswordRequiredException ex) {
// Handle password‑protected documents
log.error("Document requires password: " + sourceFile);
} catch (CorruptedFileException ex) {
// Handle corrupted files gracefully
log.error("File corruption detected: " + sourceFile);
}
बैच प्रोसेसिंग के लिए प्रदर्शन अनुकूलन
चुनौती: 100+ दस्तावेज़ जोड़ों को कुशलता से प्रोसेस करना
समाधान: थ्रेड पूल के साथ पैरलल प्रोसेसिंग लागू करें
ExecutorService executor = Executors.newFixedThreadPool(4);
List<Future<ComparisonResult>> futures = new ArrayList<>();
for (DocumentPair pair : documentPairs) {
futures.add(executor.submit(() -> compareDocuments(pair)));
}
// Wait for all comparisons to complete
for (Future<ComparisonResult> future : futures) {
ComparisonResult result = future.get();
// Process results
}
executor.shutdown();
फ़ॉर्मेट‑विशिष्ट समस्याएँ
PDF तुलना चुनौतियाँ:
- स्कैन्ड PDF: टेक्स्ट एक्सट्रैक्शन के लिए OCR प्री‑प्रोसेसिंग उपयोग करें
- जटिल लेआउट: मैन्युअल संवेदनशीलता समायोजन की आवश्यकता हो सकती है
- एम्बेडेड फ़ॉन्ट्स: विभिन्न वातावरणों में सुसंगत फ़ॉन्ट रेंडरिंग सुनिश्चित करें
Word दस्तावेज़ समस्याएँ:
- ट्रैक चेंजेज: तुलना से पहले मौजूदा ट्रैक चेंजेज को डिसेबल करें
- एम्बेडेड ऑब्जेक्ट्स: सही से तुलना नहीं हो सकते, अलग से एक्सट्रैक्ट करके तुलना करें
- वर्ज़न कम्पैटिबिलिटी: विभिन्न Word फ़ॉर्मेट वर्ज़न के साथ टेस्ट करें
सर्वोत्तम प्रैक्टिस और प्रदर्शन टिप्स
1. दस्तावेज़ प्री‑प्रोसेसिंग
इनपुट साफ़ करें: तुलना से पहले अनावश्यक मेटाडाटा और फ़ॉर्मेटिंग हटाएँ ताकि सटीकता और गति में सुधार हो।
// Example preprocessing workflow
public void preprocessDocument(String filePath) {
// Remove comments and tracked changes
// Standardize formatting
// Extract text‑only version for pure content comparison
}
2. विभिन्न दस्तावेज़ प्रकारों के लिए इष्टतम कॉन्फ़िगरेशन
कॉन्फ़िगरेशन प्रोफ़ाइल:
public class ComparisonProfiles {
public static CompareOptions getLegalDocumentProfile() {
return new CompareOptions.Builder()
.setSensitivityOfComparison(95)
.setHeaderFootersComparison(false)
.setShowRevisions(true)
.build();
}
public static CompareOptions getMarketingContentProfile() {
return new CompareOptions.Builder()
.setSensitivityOfComparison(45)
.setIgnoreFormatting(true)
.setFocusOnContent(true)
.build();
}
}
3. एरर हैंडलिंग और लॉगिंग
मजबूत एरर मैनेजमेंट:
public ComparisonResult safeCompareDocuments(String source, String target) {
try {
return performComparison(source, target);
} catch (Exception ex) {
logger.error("Comparison failed for {} vs {}: {}", source, target, ex.getMessage());
return ComparisonResult.failure(ex.getMessage());
}
}
4. कैशिंग और प्रदर्शन अनुकूलन
स्मार्ट कैशिंग लागू करें:
- समान फ़ाइल जोड़ों के लिए तुलना परिणाम कैश करें
- दस्तावेज़ फ़िंगरप्रिंट स्टोर करें ताकि अपरिवर्तित फ़ाइलों को पुनः प्रोसेस न करना पड़े
- गैर‑क्रिटिकल तुलना के लिए असिंक्रोनस प्रोसेसिंग उपयोग करें
वास्तविक‑दुनिया इंटीग्रेशन परिदृश्य
परिदृश्य 1: स्वचालित अनुबंध समीक्षा पाइपलाइन
@Service
public class ContractReviewService {
public void processContractRevision(String originalContract, String revisedContract) {
CompareOptions legalOptions = ComparisonProfiles.getLegalDocumentProfile();
try (Comparer comparer = new Comparer(originalContract)) {
comparer.add(revisedContract);
Path result = comparer.compare(generateOutputPath(), legalOptions);
// Send comparison report to legal team
emailService.sendComparisonReport(result, legalTeamEmails);
// Log changes for audit trail
auditService.logDocumentChanges(extractChanges(result));
}
}
}
परिदृश्य 2: कंटेंट मैनेजमेंट सिस्टम इंटीग्रेशन
@RestController
public class DocumentComparisonController {
@PostMapping("/api/documents/compare")
public ResponseEntity<ComparisonReport> compareDocuments(
@RequestParam("source") MultipartFile source,
@RequestParam("target") MultipartFile target,
@RequestParam(value = "sensitivity", defaultValue = "75") int sensitivity) {
CompareOptions options = new CompareOptions.Builder()
.setSensitivityOfComparison(sensitivity)
.build();
ComparisonReport report = documentComparisonService.compare(source, target, options);
return ResponseEntity.ok(report);
}
}
अक्सर पूछे जाने वाले प्रश्न
प्र.: क्या मैं GroupDocs for Java में तुलना के दौरान हेडर और फ़ूटर को अनदेखा कर सकता हूँ?
उ.: हाँ, अपने CompareOptions में setHeaderFootersComparison(false) उपयोग करें। यह तब उपयोगी है जब हेडर में टाइमस्टैम्प जैसी डायनेमिक सामग्री हो जो मुख्य बदलावों के लिए प्रासंगिक नहीं होती।
प्र.: Java में GroupDocs का उपयोग करके आउटपुट पेपर साइज कैसे सेट करें?
उ.: CompareOptions में setPaperSize(PaperSize.A6) (या कोई अन्य कॉन्स्टेंट) लागू करें। यह प्रिंट‑रेडी रिपोर्ट बनाता है। उपलब्ध साइज में A0‑A10, Letter, Legal, और Tabloid शामिल हैं।
प्र.: क्या विभिन्न दस्तावेज़ प्रकारों के लिए तुलना संवेदनशीलता को फाइन‑ट्यून करना संभव है?
उ.: बिल्कुल। setSensitivityOfComparison() को 0‑100 के मान के साथ उपयोग करें। उच्च मान अधिक सूक्ष्म बदलाव पहचानते हैं—कानूनी दस्तावेज़ों के लिए आदर्श; कम मान मार्केटिंग कंटेंट के लिए उपयुक्त हैं।
प्र.: क्या मैं तुलना के दौरान डाले गए, हटाए गए और बदले गए टेक्स्ट की स्टाइलिंग कस्टमाइज़ कर सकता हूँ?
उ.: हाँ। प्रत्येक परिवर्तन प्रकार के लिए कस्टम StyleSettings बनाएँ और उन्हें CompareOptions के माध्यम से लागू करें। आप हाइलाइट रंग, फ़ॉन्ट, बॉर्डर आदि को अपने ब्रांडिंग के अनुसार समायोजित कर सकते हैं।
प्र.: Java में GroupDocs Comparison शुरू करने के लिए क्या पूर्वापेक्षाएँ हैं?
उ.: आपको JDK 8+ (JDK 11+ अनुशंसित), Maven 3.6+ या Gradle 6.0+, बड़े दस्तावेज़ों के लिए कम से कम 4 GB RAM, और GroupDocs लाइसेंस (फ़्री ट्रायल उपलब्ध) चाहिए। रिपॉजिटरी और डिपेंडेंसी को अपने प्रोजेक्ट में जोड़ें, फिर स्टार्टअप पर लाइसेंस इनिशियलाइज़ करें।
प्र.: GroupDocs.Comparison में पासवर्ड‑सुरक्षित दस्तावेज़ों को कैसे संभालें?
उ.: Comparer बनाते समय पासवर्ड को दूसरा आर्ग्यूमेंट पास करें: new Comparer(sourceFile, "password123")। PasswordRequiredException को सुगमता से संभालने के लिए कॉल को try‑catch ब्लॉक में रैप करें।
प्र.: GroupDocs.Comparison for Java कौन से फ़ाइल फ़ॉर्मेट सपोर्ट करता है?
उ.: 50 से अधिक फ़ॉर्मेट, जिसमें Word (DOCX, DOC), PDF, Excel (XLSX, XLS), PowerPoint (PPTX, PPT), टेक्स्ट फ़ाइलें (TXT, HTML, XML), और विज़ुअल तुलना के लिए इमेजेज़ (PNG, JPEG) शामिल हैं। API प्रकारों को ऑटो‑डिटेक्ट करता है, लेकिन आप बैच प्रदर्शन सुधार के लिए फ़ॉर्मेट निर्दिष्ट कर सकते हैं।
अंतिम अपडेट: 2026-03-03
टेस्ट किया गया: GroupDocs.Comparison 25.2 for Java
लेखक: GroupDocs