เปรียบเทียบ PDF java กับ GroupDocs Comparison สำหรับไฟล์ขนาดใหญ่
หากคุณต้องการ compare PDF java ขณะประมวลผลสัญญาขนาดกิกะไบต์หรือสเปรดชีตหลายชีต, GroupDocs.Comparison ทำให้การทำงานง่ายขึ้น ลองนึกภาพการเปิดไฟล์สองเวอร์ชันของสัญญากฎหมายด้วยตนเอง, เลื่อนดูบรรทัดต่อบรรทัดและพยายามหาการแก้ไขทุกอย่าง—นั่นคือหลายชั่วโมงของงานที่น่าเบื่อ ด้วย GroupDocs.Comparison สำหรับ Java คุณสามารถทำให้กระบวนการเปรียบเทียบทั้งหมดเป็นอัตโนมัติ, สร้างรายงาน HTML ที่เป็นภาพ, และควบคุมการใช้หน่วยความจำแม้กับไฟล์ขนาดใหญ่
ในบทแนะนำนี้คุณจะได้เรียนรู้วิธีการ:
- ตั้งค่า GroupDocs.Comparison ในโครงการ Java (รวมถึงการกำหนดค่า Maven)
- เปรียบเทียบไฟล์ Word, PDF, Excel, และ PowerPoint ด้วยเพียงไม่กี่บรรทัดของโค้ด
- แสดงผลลัพธ์การเปรียบเทียบเป็น HTML เพื่อการดูบนเว็บที่เป็นมิตร
- ปรับแต่ง heap ของ JVM และการตั้งค่า streaming เพื่อให้ไฟล์ขนาดใหญ่ไม่ทำให้บริการของคุณล่ม
- ใช้รูปแบบที่พร้อมสำหรับการผลิต เช่น การจัดการข้อผิดพลาดอย่างเหมาะสมและการทำความสะอาดทรัพยากร
คำตอบอย่างรวดเร็ว
- What library enables document comparison in Java? GroupDocs.Comparison (groupdocs comparison java)
- Can I render a document to HTML? Yes, using the same
compare()method without specifying a target file. - Do I need a license for production? Yes, a commercial license is required.
- Which Java versions are supported? JDK 8+ (JDK 11+ recommended).
- How do I handle large files? Increase JVM heap size and follow the memory‑management tips below.
groupdocs comparison java คืออะไร
groupdocs comparison java เป็นไลบรารี Java ที่ระบุการแทรก, การลบ, และการแก้ไขระหว่างสองหรือหลายเอกสารโดยอัตโนมัติ มันรองรับรูปแบบอินพุตและเอาต์พุตกว่า 30 รูปแบบ—รวมถึง DOCX, PDF, XLSX, PPTX, HTML, และประเภทภาพทั่วไป—และสามารถส่งออกผลลัพธ์ diff เป็นเอกสารใหม่หรือเป็น HTML สำหรับการแสดงบนเว็บ
ทำไมต้องใช้ GroupDocs.Comparison สำหรับ Java
GroupDocs.Comparison ประมวลผลไฟล์ PDF ขนาด 100 MB ในเวลาน้อยกว่า 5 วินาทีบนเซิร์ฟเวอร์ 4‑คอร์ทั่วไป, และสามารถจัดการสัญญาหลายร้อยหน้าโดยไม่ต้องโหลดไฟล์ทั้งหมดเข้าสู่หน่วยความจำ API มีความปลอดภัยต่อเธรด, ดังนั้นคุณสามารถรันการเปรียบเทียบหลายสิบรายการพร้อมกันหลังโหลดบาลานเซอร์ เมื่อเทียบกับเครื่องมือ diff แบบแมนนวล, มันลดเวลารีวิวได้ถึง 90 % และขจัดข้อผิดพลาดของมนุษย์
วิธีการจัดการไฟล์ขนาดใหญ่ด้วย GroupDocs Comparison ใน Java
เพื่อเปรียบเทียบเอกสารขนาดใหญ่อย่างมีประสิทธิภาพ, จัดสรร heap memory เพียงพอ, เปิดโหมด streaming ของไลบรารี, และประมวลผลไฟล์เป็นชั้นๆ โดยการกำหนดขีดจำกัดหน่วยความจำและใช้ page streaming ที่สร้างมาในตัว, ตัวเปรียบเทียบจะหลีกเลี่ยงการโหลดไฟล์ทั้งหมดเข้าสู่ RAM, ป้องกัน OutOfMemoryError พร้อมยังคงการสร้าง diff อย่างรวดเร็ว
คลาส Comparer เป็นส่วนประกอบหลักที่ทำการเปรียบเทียบเอกสาร
โหลดไฟล์ต้นฉบับขนาดใหญ่ของคุณด้วย new Comparer(sourcePath) ภายในบล็อก try‑with‑resources, ตั้งค่า Comparer.setMemoryLimit(1024 * 1024 * 1024) เพื่อจำกัดที่ 1 GB, แล้วเรียก compare()—ไลบรารีจะ stream หน้าโดยอัตโนมัติภายใน, ป้องกัน OutOfMemoryError
ข้อกำหนดเบื้องต้นและการตั้งค่า
ก่อนที่เราจะเริ่มเขียนโค้ด, ตรวจสอบให้แน่ใจว่าสภาพแวดล้อมของคุณตรงตามข้อกำหนดพื้นฐานเหล่านี้:
- Java Development Kit: JDK 8 หรือสูงกว่า (JDK 11+ ให้ประสิทธิภาพการเก็บขยะที่ดีกว่า).
- IDE: IntelliJ IDEA, Eclipse หรือ VS Code พร้อมส่วนขยาย Java.
- Build tool: Maven (ตัวอย่างใช้ Maven; มีตัวอย่าง Gradle อยู่ด้านล่าง).
- GroupDocs.Comparison version: 25.2 หรือใหม่กว่า – รุ่นล่าสุดมีการปรับปรุงประสิทธิภาพสำหรับไฟล์ขนาดใหญ่.
- Memory: RAM ขั้นต่ำ 2 GB; จัดสรรอย่างน้อย 4 GB สำหรับไฟล์ที่ใหญ่กว่า 50 MB.
การตั้งค่า Maven
เพิ่ม dependency ต่อไปนี้ในไฟล์ pom.xml ของคุณ:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-comparison</artifactId>
<version>25.2</version>
</dependency>
เคล็ดลับ: หากคุณต้องการใช้ Gradle, ใช้:
implementation 'com.groupdocs:groupdocs-comparison:25.2'
การตั้งค่าไลเซนส์ (ห้ามข้าม!)
GroupDocs.Comparison ไม่ฟรีสำหรับการใช้งานเชิงพาณิชย์, แต่คุณสามารถเริ่มต้นด้วยการทดลองใช้:
- Free trial – ฟังก์ชันเต็มรูปแบบพร้อมจำกัด 30 วัน.
- Temporary license – เหมาะสำหรับการพัฒนาและการทดสอบต่อเนื่อง.
- Commercial license – จำเป็นสำหรับการใช้งานในโปรดักชัน.
คุณสามารถรับไลเซนส์ได้ที่ GroupDocs Purchase. หลังจากที่คุณได้รับไฟล์ .lic, ให้วางไว้ในโฟลเดอร์ที่อยู่ใน classpath ของ Java และ SDK จะโหลดโดยอัตโนมัติ.
ตรวจสอบการติดตั้ง
สร้างคลาส Java ง่ายๆ ที่โหลดเอกสารขนาดเล็กและพิมพ์ “Success” หากไม่มีข้อยกเว้นใดๆ รันจาก IDE ของคุณ; คุณควรเห็นข้อความสำเร็จในคอนโซล หากพบ ClassNotFoundException, ตรวจสอบอีกครั้งว่า dependency ของ Maven ถูกแก้ไขอย่างถูกต้องและไฟล์ไลเซนส์สามารถเข้าถึงได้.
การเปรียบเทียบเอกสาร: คู่มือฉบับสมบูรณ์
ทำความเข้าใจการเปรียบเทียบเอกสาร
เมื่อเปรียบเทียบเอกสารสองไฟล์, จะตรวจจับประเภทการเปลี่ยนแปลงสามประเภท:
- Insertions – เนื้อหาใหม่ที่เพิ่มในเอกสารเป้าหมาย.
- Deletions – เนื้อหาที่ถูกลบจากต้นฉบับ.
- Modifications – การเปลี่ยนแปลงข้อความ, รูปแบบ, หรือการจัดวาง.
GroupDocs.Comparison จะคืนไฟล์ผลลัพธ์ที่การแทรกแสดงเป็นสีเขียว, การลบเป็นสีแดง, และการแก้ไขไฮไลท์เป็นสีเหลือง คุณสามารถปรับแต่งสีเหล่านี้ผ่าน CompareOptions.
การดำเนินการแบบขั้นตอน
ขั้นตอนที่ 1: เริ่มต้น comparer
คลาส Comparer เป็นส่วนประกอบหลักที่ทำการเปรียบเทียบเอกสาร
import com.groupdocs.comparison.Comparer;
import java.nio.file.Path;
public class DocumentComparison {
public void compareDocuments(String sourceDocumentPath, String targetDocumentPath, String outputFileName) throws Exception {
// Initialize the Comparer object with the source document path
try (Comparer comparer = new Comparer(sourceDocumentPath)) {
System.out.println("Comparer initialized with source document: " + sourceDocumentPath);
ขั้นตอนที่ 2: เพิ่มเอกสารเป้าหมาย
คุณสามารถ compare multiple documents java โดยเรียก comparer.add() สำหรับแต่ละเวอร์ชันเพิ่มเติมที่ต้องการเปรียบเทียบกับต้นฉบับ
// Add the document we want to compare against
comparer.add(targetDocumentPath);
System.out.println("Target document added for comparison: " + targetDocumentPath);
ขั้นตอนที่ 3: ดำเนินการเปรียบเทียบ
เมธอด compare() ทำงานหนักทั้งหมด, วิเคราะห์ทั้งสองเอกสารและสร้างไฟล์ผลลัพธ์ที่ไฮไลท์ความแตกต่างทั้งหมด
// Perform the comparison and get the result path
final Path resultPath = comparer.compare(outputFileName);
System.out.println("Comparison completed successfully!");
System.out.println("Results saved to: " + resultPath.toString());
}
}
}
เมื่อควรใช้การเปรียบเทียบเอกสาร
การเปรียบเทียบเอกสารมีคุณค่าเมื่อใดก็ตามที่คุณต้องการติดตามการเปลี่ยนแปลงระหว่างเวอร์ชันของสัญญา, รายงาน, หรือไฟล์ที่มีโครงสร้างใดๆ มันทำให้การตรวจจับการแทรก, การลบ, และการแก้ไขเป็นอัตโนมัติ, ประหยัดเวลาและลดข้อผิดพลาดเมื่อเทียบกับการรีวิวด้วยมือ ใช้ในด้านกฎหมาย, การจัดการเนื้อหา, QA, และกระบวนการทำงานใดๆ ที่ต้องการรายงาน diff ที่แม่นยำ.
- Legal document review – ตรวจพบการเปลี่ยนแปลงข้อกำหนดในสัญญาได้ทันที.
- Version control for non‑technical teams – ให้ทีมการตลาดหรือ HR มี diff แบบ Git สำหรับไฟล์ Word และ Excel.
- Content management systems – ติดตามการแก้ไขบทความโดยไม่ต้องเก็บสำเนาซ้ำ.
- Quality assurance – ตรวจสอบรายงานที่สร้างขึ้นกับเทมเพลตหลักเพื่อให้แน่ใจว่าความสอดคล้อง.
การแปลงเป็น HTML: ทำให้เอกสารพร้อมสำหรับเว็บ
ทำไมต้องแปลงเป็น HTML?
ผลลัพธ์ HTML สามารถดูได้ทั่วโลก, ค้นหาได้, และตอบสนองต่ออุปกรณ์ต่างๆ การแปลง PDF หรือไฟล์ Word เป็น HTML ช่วยให้คุณฝังเนื้อหาโดยตรงในพอร์ทัล, แชร์ผ่านอีเมลโดยไม่ต้องแนบไฟล์, และทำดัชนีข้อความสำหรับ SEO การแปลงยังคงรักษารูปแบบส่วนใหญ่ไว้, ทำให้ความแม่นยำของภาพสูง.
คู่มือการดำเนินการ
กระบวนการแปลงสอดคล้องกับกระบวนการเปรียบเทียบ; เพียงละเว้นการเรียก comparer.add() และระบุเส้นทางไฟล์ออกเป็น .html.
import com.groupdocs.comparison.Comparer;
import java.nio.file.Path;
public class RenderDocumentToHTML {
public void renderDocument(String sourceDocumentPath, String outputFileName) throws Exception {
// Initialize the Comparer object with the source document path
try (Comparer comparer = new Comparer(sourceDocumentPath)) {
System.out.println("Comparer initialized for HTML rendering.");
// Perform rendering to HTML format and get the result path
final Path resultPath = comparer.compare(outputFileName);
System.out.println("HTML rendering completed successfully!");
System.out.println("Output saved to: " + resultPath.toString());
}
}
}
หมายเหตุสำคัญ: เมื่อคุณละเว้น comparer.add(), เมธอด compare() จะเรนเดอร์เอกสารต้นฉบับเป็นรูปแบบที่ระบุโดยนามสกุลไฟล์ผลลัพธ์ (เช่น .html).
ปัญหาทั่วไปและวิธีแก้ไข
Memory issues with large documents
Problem: OutOfMemoryError เมื่อประมวลผลไฟล์ที่ใหญ่กว่า 50 MB.
Solution: เพิ่ม heap ของ JVM (-Xmx4g -Xms2g) และเปิดโหมด streaming ของไลบรารี:
java -Xmx4g -Xms2g YourApplication
Pro tip: API PageStream อนุญาตให้ไฟล์ PDF ถูกอ่านและประมวลผลเป็นชั้นๆ ขนาด 10 MB การสำหรับไฟล์ที่เกิน 200 MB, พิจารณาประมวลผลเป็นชั้น 10 MB ด้วย API PageStream (ใช้ได้กับ PDF).
ปัญหาเส้นทางไฟล์
Problem: FileNotFoundException แม้ว่าไฟล์จะมีอยู่.
Solutions:
- ใช้เส้นทางแบบ absolute ระหว่างการพัฒนา (
"C:\\Docs\\contract.pdf"บน Windows หรือ"/opt/docs/contract.pdf"บน Linux). - ตรวจสอบว่าโปรเซส Java มีสิทธิ์อ่านในไดเรกทอรี.
- หลีกเลี่ยงข้อผิดพลาดการ escape ด้วยการใช้ backslash อย่างถูกต้องหรือใช้ slash หน้าเพื่อหลีกเลี่ยงข้อผิดพลาดของ escape‑sequence.
ข้อผิดพลาดรูปแบบไฟล์ที่ไม่รองรับ
Problem: UnsupportedFileTypeException สำหรับประเภทเอกสารบางประเภท.
Solution: GroupDocs.Comparison รองรับรูปแบบกว่า 30 รูปแบบ, รวมถึง DOCX, XLSX, PPTX, PDF, TXT, และ PNG หากคุณพบประเภทที่ไม่รองรับ, ให้แปลงเป็นรูปแบบกลางที่รองรับ (เช่น PDF) ก่อนเรียก comparer. ดูที่ official documentation สำหรับรายการทั้งหมด.
การปรับประสิทธิภาพ
- Slow comparison times: เปิดใช้งาน multi‑threading; ไลบรารีปลอดภัยต่อเธรด, ดังนั้นคุณสามารถรัน
Comparerแยกกันพร้อมกัน. - I/O speed: เก็บไฟล์ต้นฉบับบน SSD เพื่อลดความล่าช้าในการอ่าน.
- Resource cleanup: ปิดอินสแตนซ์
Comparerทันที (try‑with‑resources) เพื่อปล่อยหน่วยความจำเนทีฟ.
แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้งานในโปรดักชัน
การจัดการข้อผิดพลาด
ห่อหุ้มการเรียกเปรียบเทียบทุกครั้งในบล็อก try‑catch ที่บันทึก stack trace ของข้อยกเว้นและส่งคืนข้อความที่เป็นมิตรต่อผู้ใช้.
public boolean compareDocumentsWithErrorHandling(String source, String target, String output) {
try (Comparer comparer = new Comparer(source)) {
comparer.add(target);
comparer.compare(output);
return true;
} catch (Exception e) {
System.err.println("Document comparison failed: " + e.getMessage());
// Log the full stack trace for debugging
e.printStackTrace();
return false;
}
}
การจัดการทรัพยากร
ในแอปพลิเคชันขนาดใหญ่, สร้าง factory ที่ให้ Comparer อินสแตนซ์จาก pool. นี้ช่วยหลีกเลี่ยงค่าใช้จ่ายของการโหลดไลบรารีเนทีฟซ้ำๆ.
@Component
public class DocumentComparisonService {
public ComparisonResult compareDocuments(ComparisonRequest request) {
try (Comparer comparer = new Comparer(request.getSourcePath())) {
// Your comparison logic here
return new ComparisonResult(comparer.compare(request.getOutputPath()));
} catch (Exception e) {
return ComparisonResult.error(e.getMessage());
}
}
}
การจัดการการตั้งค่า
แยกการตั้งค่าเส้นทางทั้งหมด, การตั้งค่า heap, และข้อมูลไลเซนส์ออกเป็นไฟล์ application.properties หรือ yaml. ทำให้ปรับตั้งค่าได้ง่ายโดยไม่ต้องคอมไพล์ใหม่.
@ConfigurationProperties(prefix = "groupdocs.comparison")
public class ComparisonConfig {
private String tempDirectory = System.getProperty("java.io.tmpdir");
private int maxFileSize = 100 * 1024 * 1024; // 100MB
private boolean enableLogging = true;
// getters and setters
}
ตัวอย่างการบูรณาการในโลกจริง
การบูรณาการกับ Spring Boot
เปิดเผย REST endpoint ที่รับไฟล์ multipart สองไฟล์, ทำการเปรียบเทียบ, และส่งคืน diff ในรูปแบบ HTML เป็น response body.
@RestController
@RequestMapping("/api/documents")
public class DocumentComparisonController {
@PostMapping("/compare")
public ResponseEntity<ComparisonResult> compareDocuments(
@RequestParam("source") MultipartFile source,
@RequestParam("target") MultipartFile target) {
try {
// Save uploaded files temporarily
String sourcePath = saveUploadedFile(source);
String targetPath = saveUploadedFile(target);
String outputPath = generateOutputPath();
// Perform comparison
try (Comparer comparer = new Comparer(sourcePath)) {
comparer.add(targetPath);
Path resultPath = comparer.compare(outputPath);
return ResponseEntity.ok(new ComparisonResult(resultPath.toString()));
}
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(ComparisonResult.error(e.getMessage()));
}
}
}
การประมวลผลแบบแบตช์
เมื่อคุณต้องการเปรียบเทียบคู่เอกสารหลายพันคู่ต่อคืน, ใช้ thread pool และ message queue (เช่น RabbitMQ). แต่ละ worker จะดึงคู่, ทำการเปรียบเทียบ, และเก็บผลลัพธ์ HTML ลงใน bucket ของ CDN.
public class BatchDocumentProcessor {
public void processBatch(List<ComparisonTask> tasks) {
tasks.parallelStream().forEach(task -> {
try (Comparer comparer = new Comparer(task.getSourcePath())) {
comparer.add(task.getTargetPath());
comparer.compare(task.getOutputPath());
task.markCompleted();
} catch (Exception e) {
task.markFailed(e.getMessage());
}
});
}
}
เคล็ดลับประสิทธิภาพสำหรับการใช้งานขนาดใหญ่
การจัดการหน่วยความจำ
- JVM flags:
-Xmx4g -XX:+UseG1GCให้ garbage collector มีพื้นที่เพียงพอสำหรับกราฟอ็อบเจกต์ขนาดใหญ่. - Monitoring: ใช้ VisualVM หรือ JProfiler เพื่อตรวจสอบการใช้ heap และตรวจจับการรั่ว.
- Pooling: ใช้
Comparerอินสแตนซ์ซ้ำเมื่อเป็นไปได้; ไลบรารีแคชทรัพยากรเนทีฟอย่างมีประสิทธิภาพ.
กลยุทธ์การสเกล
- Horizontal scaling: ปรับใช้หลายอินสแตนซ์ของไมโครเซอร์วิสหลังโหลดบาลานเซอร์; แต่ละอินสแตนซ์จัดการ heap ของตนเอง.
- Async processing: ย้ายงานเปรียบเทียบไปยังคิว (AWS SQS, Azure Service Bus) และประมวลผลแบบอะซิงโครนัส, ทำให้ชั้น API ตอบสนองได้.
@RabbitListener(queues = "document.comparison.queue")
public void processComparisonRequest(ComparisonRequest request) {
// Process document comparison asynchronously
documentComparisonService.compareDocuments(request);
}
ฟีเจอร์ขั้นสูงและการปรับแต่ง
การตั้งค่าการเปรียบเทียบ
คลาส CompareOptions ให้คุณปรับแต่งการไฮไลท์ความแตกต่างได้ละเอียด เช่น เปลี่ยนสีการแทรกเป็นสีฟ้า, ตั้งฟอนต์แบบกำหนดเองสำหรับข้อความที่ลบ, หรือละเว้นการเปลี่ยนแปลง whitespace.
CompareOptions options = new CompareOptions();
options.setInsertedItemStyle(new StyleSettings());
options.setDeletedItemStyle(new StyleSettings());
options.setChangedItemStyle(new StyleSettings());
try (Comparer comparer = new Comparer("source.docx")) {
comparer.add("target.docx");
comparer.compare("result.docx", options);
}
ตัวเลือกตามรูปแบบ
- Spreadsheets: เลือกระหว่างเปรียบเทียบสูตรดิบหรือค่าที่แสดง.
- PDFs: เปิดใช้งานการเปรียบเทียบระดับภาพเพื่อจับการเปลี่ยนแปลงกราฟิกที่ละเอียด.
- Word documents: รักษาการเปลี่ยนแปลงที่ติดตามหรือละเว้นทั้งหมดตามแฟล็ก.
คำถามที่พบบ่อย
Q: ฉันสามารถ compare multiple documents java พร้อมกันได้หรือไม่?
A: ได้. เรียก comparer.add() สำหรับแต่ละเอกสารเป้าหมายเพิ่มเติมก่อนเรียก compare(). ผลลัพธ์จะไฮไลท์ความแตกต่างระหว่างทุกเวอร์ชันในมุมมอง HTML เดียว.
Q: ขนาดไฟล์สูงสุดที่ GroupDocs.Comparison สามารถจัดการได้คืออะไร?
A: ไม่มีขีดจำกัดที่แน่นอน, แต่การประมวลผลไฟล์ที่ใหญ่กว่า 500 MB มักต้องการ heap ของ JVM ที่ 8 GB หรือมากกว่าและเก็บบน SSD เพื่อประสิทธิภาพ I/O ที่ดีที่สุด.
Q: ฉันจะจัดการเอกสารที่ป้องกันด้วยรหัสผ่านอย่างไร?
A: ให้รหัสผ่านเมื่อสร้างอินสแตนซ์ Comparer หรือเมื่อเพิ่มเอกสารเป้าหมายที่ป้องกัน; ไลบรารีจะถอดรหัสไฟล์ภายใน.
Q: ฉันสามารถปรับแต่งการไฮไลท์ความแตกต่างในผลลัพธ์ได้หรือไม่?
A: ได้แน่นอน. ใช้ CompareOptions เพื่อตั้งค่าสี, ฟอนต์, และสไตล์ไฮไลท์แบบกำหนดเองสำหรับการแทรก, การลบ, และการแก้ไข.
Q: GroupDocs.Comparison ปลอดภัยต่อเธรดหรือไม่?
A: ใช่, แต่แต่ละเธรดควรใช้อินสแตนซ์ Comparer ของตนเอง. การแชร์อินสแตนซ์เดียวอาจทำให้เกิด race condition และการรั่วของหน่วยความจำ.
Q: รูปแบบใดบ้างที่สามารถแปลงเป็น HTML?
A: รูปแบบที่พบบ่อยส่วนใหญ่—รวมถึง DOCX, PDF, XLSX, PPTX, และ TXT—สามารถเรนเดอร์เป็น HTML พร้อมการรักษารูปแบบเต็ม.
Q: ฉันจะรับการสนับสนุนอย่างไรหากเจอปัญหา?
A: ฟอรั่ม GroupDocs Forum เป็นชุมชนที่คึกคัก, และผู้ที่มีใบอนุญาตเชิงพาณิชย์จะได้รับการสนับสนุนทางอีเมลเป็นลำดับแรกจากทีมผลิตภัณฑ์.
แหล่งข้อมูลเพิ่มเติม
- Documentation: GroupDocs.Comparison Java Documentation
- API reference: Complete Java API Reference
- Sample projects: GitHub Examples Repository
- Download latest version: GroupDocs Releases
- Purchase options: Licensing and Purchase
- Free trial: Try GroupDocs.Comparison
อัปเดตล่าสุด: 2026-08-14
ทดสอบกับ: GroupDocs.Comparison 25.2 for Java
ผู้เขียน: 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>
implementation 'com.groupdocs:groupdocs-comparison:25.2'
import com.groupdocs.comparison.Comparer;
public class InitializeComparison {
public static void main(String[] args) throws Exception {
// This simple test confirms GroupDocs.Comparison is properly configured
try (Comparer comparer = new Comparer("path/to/your/test-document.docx")) {
System.out.println("GroupDocs.Comparison is ready to use!");
// If this runs without exceptions, you're good to go
}
}
}