เปรียบเทียบเอกสาร Word java – GroupDocs Advanced Comparison
หากคุณต้องการ compare word docs java อย่างรวดเร็วและแม่นยำ คุณมาถูกที่แล้ว คู่มือนี้จะพาคุณผ่านการใช้ GroupDocs.Comparison for Java เพื่อทำให้การเปรียบเทียบเอกสารอัตโนมัติ สร้างรายงานที่สมบูรณ์แบบ และขยายกระบวนการสำหรับหลายสิบไฟล์ — ทั้งนี้ยังคงใช้หน่วยความจำน้อยและประสิทธิภาพสูง
ใน 100 คำแรกเราได้แนะนำคีย์เวิร์ดหลัก ตั้งบริบทของปัญหา และสัญญาว่าจะมีโซลูชันครบถ้วน มาเริ่มกันเลย
คำตอบด่วน
- ไลบรารีหลักคืออะไร? GroupDocs.Comparison for Java.
- รูปแบบที่รองรับคืออะไร? Word, PDF, text, email, and 50+ other file types.
- ฉันต้องการไลเซนส์หรือไม่? A trial works with watermarks; production requires a purchased license.
- ฉันสามารถเปรียบเทียบหลายไฟล์พร้อมกันได้หรือไม่? Yes – add multiple target documents to a single comparer.
- จะจัดการไฟล์ขนาดใหญ่อย่างไร? Use streams and increase the JVM heap size for optimal memory usage.
compare word docs java คืออะไร?
compare word docs java หมายถึงการตรวจจับความแตกต่างระหว่างเอกสาร Word อย่างโปรแกรมโดยใช้ Java API. GroupDocs.Comparison แยกการแยกวิเคราะห์ระดับต่ำและให้รายงาน diff ที่ไฮไลท์การแทรก, การลบ, และการเปลี่ยนแปลงรูปแบบ วิธีนี้ช่วยลดการตรวจสอบด้วยตนเอง, ลดข้อผิดพลาด, และเร่งการวิเคราะห์เวอร์ชันสัญญาหรือเอกสารสำหรับทีมทุกขนาด
ทำไมต้องใช้ GroupDocs สำหรับ Java เพื่อเปรียบเทียบหลายไฟล์?
GroupDocs.Comparison ประมวลผลได้ถึง 100 + documents per minute บนเซิร์ฟเวอร์ 8‑core ปกติ, รองรับ 50+ input and output formats, และให้การตรวจจับการเปลี่ยนแปลงระดับอักขระพร้อมรับรู้สไตล์ ผลประโยชน์เชิงปริมาณเหล่านี้ทำให้เป็นตัวเลือกอันดับต้น ๆ สำหรับการตรวจสอบเอกสารระดับองค์กร
ข้อกำหนดเบื้องต้น: สิ่งที่คุณต้องการเพื่อเริ่มต้น
- Java Development Kit (JDK) 8+ – จำเป็นสำหรับฟีเจอร์ภาษาใหม่.
- Maven or Gradle – เราจะสาธิตด้วย Maven.
- Basic Java knowledge – คุ้นเคยกับ try‑with‑resources และ streams.
- Sample documents – ไฟล์
.docx,.pdf,.txt, หรือ.emlบางไฟล์สำหรับการทดสอบ.
Pro tip: ตรวจสอบให้แน่ใจว่าเครือข่ายของคุณอนุญาตการเข้าถึง GroupDocs Maven repository; หากไม่จะทำให้การสร้างล้มเหลว
เริ่มต้นอย่างรวดเร็ว: การตั้งค่า GroupDocs.Comparison สำหรับ Java
การนำไลบรารีเข้ามาในโปรเจกต์ของคุณทำได้ง่าย แต่ต้องระวังข้อผิดพลาดทั่วไปเช่น URL ของรีโพซิทอรีที่หายไป
การกำหนดค่า Maven
เพิ่มรีโพซิทอรีและ dependency ลงใน pom.xml ของคุณ การใช้ URL ของรีโพซิทอรีที่ถูกต้องจะป้องกันข้อผิดพลาด “artifact not found” ที่ผู้เริ่มต้นหลายคนเจอ:
<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>
การให้สิทธิ์: ทดลอง vs การผลิต
เวอร์ชันทดลองทำงานได้โดยไม่มีคีย์ไลเซนส์แต่จะเพิ่มลายน้ำที่มองเห็นได้ในทุกรายงานที่สร้างขึ้น สำหรับการผลิตให้รับไลเซนส์ชั่วคราวหรือเต็มรูปแบบและวางไฟล์ GroupDocs.Comparison.lic ไว้ใน classpath
วิธีการ compare word docs java ด้วย GroupDocs
คำตอบโดยตรง
โหลดเอกสารต้นฉบับด้วย new Comparer(sourcePath) แล้วเรียก add สำหรับไฟล์เป้าหมายแต่ละไฟล์ จากนั้นเรียก compare เพื่อสร้างรายงาน diff — ทั้งหมดในไม่กี่บรรทัดโค้ด Java สั้น ๆ ลำดับนี้อ่านไฟล์ต้นฉบับ, ลงทะเบียนเวอร์ชันเพิ่มเติมที่ต้องการเปรียบเทียบ, และสุดท้ายสร้างรายงานที่ครอบคลุมซึ่งไฮไลท์การเปลี่ยนแปลงข้อความและรูปแบบทั้งหมดในเอกสาร
Definition anchor: คลาส Comparer เป็นส่วนประกอบหลักของ API ที่ประสานการโหลดเอกสาร, การเปรียบเทียบ, และการสร้างรายงาน
Important: ใช้เส้นทางแบบ absolute หรือแก้ไขเส้นทาง relative อย่างถูกต้องตาม working directory ของ JVM เพื่อหลีกเลี่ยง FileNotFoundException
ขั้นตอนที่ 1: เริ่มต้น Document Comparer ของคุณ
คลาส Comparer เป็นจุดเริ่มต้นหลักของคุณ ใช้ try‑with‑resources เสมอเพื่อให้ทำความสะอาดอย่างเหมาะสม:
try (Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_word_document.docx")) {
// Your comparison logic goes here
}
Tip: การส่ง FileInputStream แทนเส้นทางไฟล์สามารถลดความกดดันของหน่วยความจำสำหรับเอกสารขนาดใหญ่
ขั้นตอนที่ 2: เพิ่มเอกสารเป้าหมายสำหรับการเปรียบเทียบ
คุณสามารถเพิ่มเอกสารเป้าหมายหลายไฟล์เพื่อเปรียบเทียบกับต้นฉบับ ความสามารถแบบ batch นี้ช่วยขจัดความจำเป็นในการเรียกไฟล์เดี่ยวซ้ำ ๆ:
comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_word_document.docx");
comparer.add("YOUR_DOCUMENT_DIRECTORY/target2_word_document.docx");
comparer.add("YOUR_DOCUMENT_DIRECTORY/target3_word_document.docx");
ขั้นตอนที่ 3: สร้างรายงานการเปรียบเทียบของคุณ
ดำเนินการเปรียบเทียบและระบุที่ที่จะบันทึกผลลัพธ์ รูปแบบผลลัพธ์สามารถเป็น DOCX, PDF, หรือ HTML ขึ้นอยู่กับความต้องการ downstream ของคุณ:
final Path resultPath = comparer.compare("YOUR_OUTPUT_DIRECTORY/compare_multiple_word_documents_result.docx");
ไฟล์ที่สร้างขึ้นจะไฮไลท์การเปลี่ยนแปลงทุกอย่าง ทำให้การตรวจสอบเร็วและเชื่อถือได้
วิธีการ java compare multiple files – ตัวอย่างไฟล์ข้อความ
คำตอบโดยตรง
สำหรับไฟล์ข้อความธรรมดา ให้สร้าง Comparer ด้วย InputStream สำหรับต้นฉบับ, เพิ่มเป้าหมายแต่ละไฟล์ผ่าน add, แล้วเรียก compare ระบุ OutputStream สำหรับผลลัพธ์ วิธีนี้สตรีมเนื้อหา, หลีกเลี่ยงการโหลดไฟล์เต็ม, และสร้างรายงาน diff ที่ชัดเจนแสดงการเพิ่มและลบบรรทัด‑บรรทัด ซึ่งเหมาะสำหรับไฟล์ล็อกหรือสคริปต์การกำหนดค่า
Definition anchor: InputStream และ OutputStream เป็น abstraction ของ Java I/O ที่ช่วยสตรีมไฟล์ขนาดใหญ่โดยไม่ต้องโหลดทั้งหมดเข้าสู่หน่วยความจำ
การตั้งค่าการเปรียบเทียบแบบสตรีม
การใช้ OutputStream ให้การควบคุมผลลัพธ์มากขึ้นและมีประสิทธิภาพหน่วยความจำดีกว่าสำหรับการดำเนินการขนาดใหญ่:
try (OutputStream resultStream = new FileOutputStream("YOUR_OUTPUT_DIRECTORY/compare_multiple_txt_documents_result.txt");
Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_text_document.txt")) {
// Add your target text files
comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_txt_document.txt");
comparer.add("YOUR_DOCUMENT_DIRECTORY/target2_txt_document.txt");
comparer.add("YOUR_DOCUMENT_DIRECTORY/target3_txt_document.txt");
// Execute with advanced options
final Path resultPath = comparer.compare(resultStream, new SaveOptions(), new CompareOptions());
}
Performance tip: แบ่งไฟล์ที่ใหญ่กว่า 100 MB เป็นชิ้นส่วน 10 MB เพื่อให้ heap ของ JVM คงที่
วิธีการ compare multiple pdfs java – การเปรียบเทียบเอกสารอีเมล
คำตอบโดยตรง
โหลดอีเมลแต่ละไฟล์ (.eml หรือ .msg) ด้วย new Comparer(emailPath), เพิ่มไฟล์อีเมลเพิ่มเติม, แล้วเรียก compare เพื่อสร้างรายงาน diff รวมที่คงรักษา header, body, และ attachment ไว้เอกสารที่ได้จะคง metadata ของอีเมลเดิมไว้ครบถ้วน ทำให้ง่ายต่อการตรวจสอบเส้นทางการสื่อสารและยืนยันว่าไม่มีข้อมูลสำคัญถูกเปลี่ยนแปลงระหว่างการแก้ไข
Definition anchor: การเปรียบเทียบอีเมลคง metadata เช่น ผู้ส่ง, ผู้รับ, และ timestamp ซึ่งสำคัญต่อการตรวจสอบทางกฎหมายและการปฏิบัติตามข้อกำหนด
การจัดการรูปแบบไฟล์อีเมล
ไฟล์อีเมลมี metadata ที่ต้องคงไว้ระหว่างการเปรียบเทียบ:
try (OutputStream resultStream = new FileOutputStream("YOUR_OUTPUT_DIRECTORY/compare_multiple_email_documents_result.eml");
Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_email_document.eml")) {
comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_email_document.eml");
comparer.add("YOUR_DOCUMENT_DIRECTORY/target2_email_document.eml");
comparer.add("YOUR_DOCUMENT_DIRECTORY/target3_email_document.eml");
final Path resultPath = comparer.compare(resultStream, new SaveOptions(), new CompareOptions());
}
วิธีการ handle large files java – การเปรียบเทียบเอกสาร PDF
คำตอบโดยตรง
เมื่อเปรียบเทียบ PDF ขนาดใหญ่ ให้ใช้เมธอด compare พร้อม CompareOptions ที่เปิดการประมวลผลแบบสตรีมและตั้งค่า maxMemoryUsage เพื่อจำกัดการใช้ heap การกำหนดค่านี้จะอ่าน PDF เป็นชิ้นส่วน, ป้องกัน JVM จากการโหลดเอกสารทั้งหมดเข้าสู่หน่วยความจำ, และยังคงสร้างรายงาน diff ที่แม่นยำโดยไฮไลท์ข้อความ, รูปภาพ, และการเปลี่ยนแปลง annotation
Definition anchor: CompareOptions ให้คุณปรับความละเอียด, เพิกเฉย metadata, และเลือกรูปแบบผลลัพธ์, ให้การควบคุมละเอียดของอัลกอริทึม diff
การเปรียบเทียบ PDF อย่างแข็งแรงพร้อมการจัดการข้อผิดพลาด
PDF อาจซับซ้อน – อาจมีการเข้ารหัสต่างกัน, ฟอนต์ฝัง, หรือการตั้งค่าความปลอดภัย นี่คือวิธีจัดการกับกรณีขอบเหล่านี้:
try (OutputStream resultStream = new FileOutputStream("YOUR_OUTPUT_DIRECTORY/compare_multiple_pdf_documents_result.pdf");
Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_pdf_document.pdf")) {
comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_pdf_document.pdf");
comparer.add("YOUR_DOCUMENT_DIRECTORY/target2_pdf_document.pdf");
comparer.add("YOUR_DOCUMENT_DIRECTORY/target3_pdf_document.pdf");
try {
final Path resultPath = comparer.compare(resultStream, new SaveOptions(), new CompareOptions());
} catch (ComparisonException e) {
System.err.println("PDF comparison failed: " + e.getMessage());
// Log the error and handle gracefully
}
}
การใช้เครื่องมือเปรียบเทียบไฟล์ java สำหรับสถานการณ์ขั้นสูง
GroupDocs.Comparison ทำหน้าที่เป็น java file diff tool ที่สามารถขยายด้วยการรายงานแบบกำหนดเอง, การรวม CI, หรือการแจ้งเตือนอัตโนมัติเมื่อพบการเปลี่ยนแปลงสำคัญ
ตัวเลือกการกำหนดค่าขั้นสูง
ปรับความละเอียดของการเปรียบเทียบ
บางครั้งคุณต้องการควบคุมมากขึ้นว่าอะไรถือเป็น “ความแตกต่าง” GroupDocs.Comparison มีตัวเลือกการกำหนดค่าหลายอย่าง:
CompareOptions options = new CompareOptions();
options.setGenerateSummaryPage(true); // Include a summary of all changes
options.setDetectStyleChanges(true); // Catch formatting changes
options.setInsertedItemStyle(new StyleSettings()); // Customize how insertions look
ปรับแต่งรูปแบบผลลัพธ์
คุณสามารถควบคุมวิธีที่ความแตกต่างแสดงในเอกสารผลลัพธ์, เลือกระหว่างคอมเมนต์ในบรรทัด, มุมมอง side‑by‑side, หรือโหมด change‑track:
SaveOptions saveOptions = new SaveOptions();
saveOptions.setCloneMetadataType(MetadataType.SOURCE); // Preserve original metadata
ปัญหาทั่วไปและการแก้ไขข้อผิดพลาด
ข้อผิดพลาด “File Not Found”
ปัญหาที่พบบ่อยที่สุดคือเส้นทางไฟล์ไม่ถูกต้อง ตรวจสอบ working directory เสมอหรือใช้เส้นทางแบบ absolute:
// Instead of this:
Comparer comparer = new Comparer("document.docx");
// Use this:
String absolutePath = System.getProperty("user.dir") + "/documents/document.docx";
Comparer comparer = new Comparer(absolutePath);
ปัญหาหน่วยความจำกับไฟล์ขนาดใหญ่
หากคุณกำลังเปรียบเทียบเอกสารขนาดใหญ่มาก (50 MB+), อาจเจอ OutOfMemoryError เพิ่มขนาด heap ของ JVM (-Xmx4g) หรือสลับไปใช้การเปรียบเทียบแบบสตรีม
java -Xmx4g -jar your-application.jar
ปัญหาการเปิดใช้งานไลเซนส์
วางไฟล์ GroupDocs.Comparison.lic ไว้ในโฟลเดอร์ที่อยู่บน classpath (เช่น src/main/resources). ไลบรารีจะโหลดไลเซนส์แรกที่พบโดยอัตโนมัติ
// Set license before any comparison operations
License license = new License();
license.setLicense("path/to/your/license.lic");
แนวทางปฏิบัติที่ดีที่สุดสำหรับการเพิ่มประสิทธิภาพ
การจัดการหน่วยความจำสำหรับการดำเนินการขนาดใหญ่
เมื่อเปรียบเทียบเอกสารหลายไฟล์ขนาดใหญ่ การจัดการหน่วยความจำเป็นสิ่งสำคัญ:
- Use streams แทนเส้นทางไฟล์ wherever possible.
- Batch process เอกสารเป็นกลุ่ม 10–20 เพื่อให้การใช้หน่วยความจำคาดเดาได้.
- Dispose of
Comparerobjects ทันทีด้วย try‑with‑resources.
การเพิ่มประสิทธิภาพเพื่อความเร็ว
การเพิ่มความเร็วมักทำได้โดยการปรับ I/O:
- Pre‑sort files by size แล้วเปรียบเทียบไฟล์เล็กก่อน.
- Store temporary files on SSDs เพื่อลด latency ของการอ่าน/เขียน.
- Leverage parallel streams สำหรับการเปรียบเทียบที่เป็นอิสระ:
// Example of parallel processing multiple comparison operations
List<ComparisonTask> tasks = createComparisonTasks();
tasks.parallelStream().forEach(task -> {
try (Comparer comparer = new Comparer(task.getSourcePath())) {
task.getTargetPaths().forEach(comparer::add);
comparer.compare(task.getOutputPath());
}
});
การประยุกต์ใช้ในโลกจริงและกรณีการใช้งาน
การตรวจสอบเอกสารทางกฎหมาย
สำนักงานกฎหมายใช้การเปรียบเทียบเอกสารเพื่อ:
- ติดตามการแก้ไขสัญญาในระหว่างการเจรจา.
- เปรียบเทียบหลายเวอร์ชันของ briefs เพื่อความสอดคล้อง.
- ตรวจสอบให้ metadata (author, timestamps) คงที่
Pro tip: เปิดใช้ CompareOptions ที่คงข้อมูลสไตล์เพื่อให้เลย์เอาต์ภาพเหมือนต้นฉบับ
งานวิจัยและการตีพิมพ์ทางวิชาการ
นักวิจัยได้รับประโยชน์จาก:
- ตรวจจับการคัดลอกผลงานในหลายต้นฉบับ.
- จัดการเวอร์ชันสำหรับงานเขียนร่วม.
- เปรียบเทียบรายการอ้างอิงเพื่อความสอดคล้อง
การจัดการเอกสารองค์กร
ธุรกิจใช้การเปรียบเทียบเอกสารเพื่อ:
- ปรับปรุงนโยบายในสำนักงานทั่วโลก.
- ตรวจสอบความสอดคล้องของสื่อการตลาด.
- ตรวจสอบ manual ทางเทคนิคเพื่อป้องกันการเปลี่ยนแปลงเวอร์ชัน
กระบวนการทำงานของการพัฒนาซอฟต์แวร์
ทีมพัฒนานำการเปรียบเทียบเข้ากับ:
- Pipeline ตรวจสอบเอกสาร (
README.md,CHANGELOG.txt). - การจัดการคอนฟิก (
application.propertiesหรือyaml). - การซิงค์เอกสาร API ระหว่าง microservices
การรวมเข้ากับระบบที่มีอยู่
การรวม Spring Boot
หากคุณสร้างบริการ Spring Boot, เปิด bean ที่ห่อหุ้มตรรกะ Comparer:
@Service
public class DocumentComparisonService {
public ComparisonResult compareDocuments(List<String> documentPaths) {
// Your comparison logic here
// Return structured results for your web API
}
}
การทำ REST API
สร้าง endpoint REST ที่รับอัปโหลดไฟล์แบบ multipart, รันการเปรียบเทียบ, และคืนรายงาน diff เป็นสตรีมที่ดาวน์โหลดได้:
@RestController
@RequestMapping("/api/compare")
public class ComparisonController {
@PostMapping("/documents")
public ResponseEntity<ComparisonResult> compareDocuments(
@RequestBody ComparisonRequest request) {
// Handle file uploads and return comparison results
}
}
ขั้นตอนต่อไป: ขยายความสามารถการประมวลผลเอกสารของคุณ
ตอนนี้คุณเชี่ยวชาญ compare word docs java แล้ว, พิจารณาขั้นตอนต่อไปนี้:
- Document conversion – แปลงไฟล์เป็นรูปแบบทั่วไปก่อน diff เพื่อเพิ่มความแม่นยำ.
- Automated workflows – เชื่อมเปรียบเทียบกับ pipeline CI/CD เพื่อเช็คคุณภาพเอกสารอย่างต่อเนื่อง.
- Cloud scaling – ปรับใช้บริการเปรียบเทียบบน Kubernetes หรือแพลตฟอร์ม serverless เพื่อประมวลผลแบบยืดหยุ่น.
- Machine‑learning integration – ใช้โมเดล ML เพื่อจัดระดับความสำคัญของการเปลี่ยนแปลง (เช่น การแก้ไขข้อกำหนดสำคัญ vs การปรับรูปแบบ)
สรุป
คุณมีแผนที่ครบถ้วนและพร้อมผลิตสำหรับการนำการเปรียบเทียบเอกสารไปใช้ใน Java เริ่มจากไฟล์ Word เดียว, ตรวจสอบผล diff, แล้วขยายไปยัง PDF, อีเมล, และไฟล์ข้อความขนาดใหญ่ จำไว้ว่าต้องจัดการข้อยกเว้น, จัดการหน่วยความจำด้วย streams, และใช้ตัวเลือกการกำหนดค่าที่หลากหลายของ GroupDocs.Comparison
Ready to get started? ดาวน์โหลดไลบรารี, ตั้งค่า Maven, และรันโค้ดตัวอย่าง — ทีมของคุณจะขอบคุณคุณสำหรับเวลาที่ประหยัดได้
เข้าร่วมชุมชน
- ดูเอกสาร GroupDocs documentation เพื่อทำความเข้าใจฟีเจอร์ขั้นสูง
- มีส่วนร่วมในฟอรั่มนักพัฒนาเพื่อแลกเปลี่ยนเคล็ดลับและโซลูชัน
- ติดตาม GroupDocs บนโซเชียลมีเดียเพื่ออัปเดตผลิตภัณฑ์และคู่มือแนวปฏิบัติที่ดีที่สุด
คำถามที่พบบ่อย
Q: GroupDocs.Comparison รองรับรูปแบบไฟล์อะไรบ้างนอกจากที่กล่าวมา?
A: ไลบรารีรองรับ over 50 formats, รวมถึง Excel (.xlsx), PowerPoint (.pptx), HTML, PNG, JPG, ไฟล์ CAD, และอื่น ๆ อีกมาก ดูเอกสารอย่างเป็นทางการสำหรับรายการเต็ม
Q: ฉันสามารถเปรียบเทียบเอกสารที่มีรหัสผ่านได้หรือไม่?
A: ได้. ให้ใส่รหัสผ่านเมื่อสร้างอ็อบเจกต์ Comparer; API จะถอดรหัสไฟล์ภายในก่อนทำ diff
Q: ความแม่นยำของการเปรียบเทียบเป็นอย่างไร? จะจับการเปลี่ยนแปลงทุกอย่างหรือไม่?
A: GroupDocs.Comparison ตรวจจับการแทรก, การลบ, และการเปลี่ยนแปลงรูปแบบที่ character level, ทำให้ได้ความแม่นยำ >99 % กับเอกสารธุรกิจทั่วไป การจัดการเลย์เอาต์ซับซ้อน (เช่น ตารางซ้อน) ก็ทำได้อย่างราบรื่น
Q: มีขีดจำกัดจำนวนเอกสารที่สามารถเปรียบเทียบพร้อมกันหรือไม่?
A: ไม่มีขีดจำกัด API ที่แน่นอน, แต่ข้อจำกัดเชิงปฏิบัติก็ขึ้นกับ RAM และ CPU ที่มี สำหรับ batch มากกว่า 100 files ควรประมวลผลเป็นกลุ่มย่อยเพื่อหลีกเลี่ยง OutOfMemoryError
Q: ฉันสามารถใช้ไลบรารีนี้ในแอปพลิเคชันเชิงพาณิชย์ได้หรือไม่?
A: ได้, โดยต้องมีไลเซนส์เชิงพาณิชย์ที่ถูกต้อง เวอร์ชันทดลองใช้เพื่อประเมินเท่านั้น; การใช้งานใน production ต้องมีไลเซนส์ที่ซื้อ, มีการกำหนดราคาแบบ tiered เพื่อให้เหมาะกับขนาดโครงการต่าง ๆ
Last Updated: 2026-06-26
Tested With: GroupDocs.Comparison 25.2 for Java
Author: GroupDocs