วิธีเปรียบเทียบเอกสารใน C#: เชี่ยวชาญ GroupDocs.Comparison .NET

เคยพบว่าตัวเองต้องเปรียบเทียบเอกสาร Word สองไฟล์ด้วยตนเองเพื่อหาการเปลี่ยนแปลงเล็ก ๆ ทุกอย่างหรือไม่? หากคุณเป็นนักพัฒนาที่ทำงานกับแอปพลิเคชันที่มีเอกสารจำนวนมาก คุณคงรู้ว่ามันน่าเบื่อแค่ไหน การเรียนรู้วิธีเปรียบเทียบเอกสาร ด้วยโปรแกรมช่วยประหยัดเวลานับไม่ถ้วน ลดข้อผิดพลาดของมนุษย์ และทำให้กระบวนการทำงานที่เกี่ยวกับสัญญา, สเปค, หรือรายงาน มีความสอดคล้องกัน

การเปรียบเทียบเอกสารไม่ใช่แค่ความสะดวก—มันเป็นรากฐานของความแม่นยำ, ประสิทธิภาพ, และความสงบในเทคโนโลยีกฎหมาย, การเผยแพร่เทคนิค, และแพลตฟอร์มการแก้ไขร่วมกัน ในบทแนะนำที่ครอบคลุมนี้เราจะพาคุณผ่านทุกอย่างที่ต้องรู้เพื่อทำการเปรียบเทียบเอกสารที่แข็งแรงและมีประสิทธิภาพสูงโดยใช้ GroupDocs.Comparison สำหรับ .NET

สิ่งที่คุณจะเชี่ยวชาญเมื่อจบบทเรียน:

  • การตั้งค่าและกำหนดค่า GroupDocs.Comparison .NET อย่างครบถ้วน
  • การโหลดและเปรียบเทียบเอกสารโดยใช้เส้นทางไฟล์ (สถานการณ์ที่พบบ่อยที่สุด)
  • การจัดการผลลัพธ์การเปรียบเทียบและการปรับแต่งผลลัพธ์
  • รูปแบบการใช้งานจริงและแนวปฏิบัติที่ดีที่สุด
  • การแก้ไขปัญหาที่พบบ่อยที่คุณอาจเจอจริง ๆ

มาดำดิ่งสู่การเปลี่ยนแปลงกระบวนการจัดการเอกสารของคุณกันเถอะ

คำตอบสั้น ๆ

  • วิธีที่ง่ายที่สุดในการเปรียบเทียบไฟล์ Word สองไฟล์คืออะไร? โหลดไฟล์ทั้งสองด้วย Comparer แล้วเรียก Compare()
  • GroupDocs.Comparison รองรับรูปแบบไฟล์อะไรบ้าง? รองรับมากกว่า 50 รูปแบบอินพุตและเอาต์พุต รวมถึง DOCX, PDF, XLSX, PPTX, และรูปภาพทั่วไป
  • ต้องมีลิขสิทธิ์แบบชำระเงินสำหรับการพัฒนาหรือไม่? ไม่—มีรุ่นทดลองฟรีพร้อมฟังก์ชันเต็มและลายน้ำให้ใช้ได้
  • การเปรียบเทียบทั่วไปใช้เวลาเท่าไหร่? 1‑3 วินาทีสำหรับเอกสารมาตรฐาน 10 หน้า; ต่ำกว่า 5 วินาทีสำหรับไฟล์ 100 หน้าในเซิร์ฟเวอร์ทั่วไป
  • สามารถรันการเปรียบเทียบบน Linux ได้หรือไม่? ได้—GroupDocs.Comparison เป็นข้ามแพลตฟอร์มและทำงานบน Windows, Linux, และ macOS

“วิธีเปรียบเทียบเอกสาร” คืออะไร?

วิธีเปรียบเทียบเอกสาร หมายถึงกระบวนการอัตโนมัติในการตรวจจับการเพิ่ม, การลบ, และการแก้ไขระหว่างสองเวอร์ชันของไฟล์ GroupDocs.Comparison ทำการวิเคราะห์โครงสร้างเชิงลึก—ข้อความ, การจัดรูปแบบ, รูปภาพ, ตาราง, และแม้กระทั่งการติดตามการเปลี่ยนแปลง—เพื่อให้คุณได้ผลลัพธ์ diff ที่เห็นภาพอย่างแม่นยำโดยไม่ต้องตรวจสอบด้วยตนเอง

ทำไมต้องใช้ GroupDocs.Comparison สำหรับการเปรียบเทียบเอกสารใน C#?

GroupDocs.Comparison รองรับ ไฟล์กว่า 50 รูปแบบ และสามารถจัดการ เอกสารหลายร้อยหน้า ได้โดยไม่ต้องโหลดไฟล์ทั้งหมดเข้าสู่หน่วยความจำ ด้วยสถาปัตยกรรมสตรีมมิ่ง การทดสอบแสดงให้เห็นว่าการใช้หน่วยความจำน้อยลง 30 % เมื่อเทียบกับไลบรารีคู่แข่งในการประมวลผล PDF 200 หน้า, และเวลาโดยทั่วไป 2 วินาทีสำหรับไฟล์ Word 100 หน้าใน VM 2 CPU core

ก่อนเริ่ม: สิ่งที่คุณต้องมี

การตั้งค่าการเปรียบเทียบเอกสารใน C# ไม่ซับซ้อน แต่เรามาตรวจสอบให้แน่ใจก่อนว่าคุณมีทุกอย่างพร้อมเพื่อหลีกเลี่ยงอุปสรรคที่ทำให้หงุดหงิดในภายหลัง

ความต้องการพื้นฐาน

สภาพแวดล้อมการพัฒนา:

  • .NET Core 3.1+ หรือ .NET Framework 4.6.1+ (แอปพลิเคชันสมัยใหม่ส่วนใหญ่ใช้ .NET Core)
  • Visual Studio 2019+ หรือ Visual Studio Code (VS Community ทำงานได้อย่างสมบูรณ์)
  • ความรู้พื้นฐาน C# (ถ้าคุณสามารถทำงานกับคลาสและเมธอดได้ก็พร้อม)

ไลบรารี GroupDocs.Comparison:

  • เวอร์ชัน 25.4.0 (ล่าสุด ณ เวลานี้)
  • รองรับ Windows, Linux, และ macOS
  • รองรับ ไฟล์กว่า 50 รูปแบบ ทันทีจากการติดตั้ง

เอกสารทดสอบ: คุณจะต้องมีตัวอย่างเอกสารสองสามไฟล์เพื่อทดลอง Word (.docx) ทำงานได้ดีสำหรับการทดสอบ, แต่ไลบรารียังรองรับ PDF, Excel, PowerPoint, และอื่น ๆ อีกหลายประเภท

ตรวจสอบสภาพแวดล้อมอย่างรวดเร็ว

ก่อนติดตั้งอะไรใด ๆ ให้ตรวจสอบเวอร์ชัน .NET ของคุณโดยรันคำสั่งต่อไปนี้ใน command prompt:

dotnet --version

หากเห็นหมายเลขเวอร์ชันเช่น 6.0.x หรือ 7.0.x คุณพร้อมแล้ว หากไม่ใช่ ให้ดาวน์โหลด .NET SDK ล่าสุดจากเว็บไซต์ของ Microsoft

การตั้งค่า GroupDocs.Comparison สำหรับ .NET (วิธีง่าย)

การติดตั้ง GroupDocs.Comparison น่าจะเป็นส่วนที่ง่ายที่สุดของบทแนะนำทั้งหมด คุณมีสองตัวเลือกและทั้งสองใช้เวลาน้อยกว่านาทีหนึ่ง

ตัวเลือก 1: ใช้ NuGet Package Manager (แนะนำ)

เปิดโปรเจกต์ใน Visual Studio แล้ว:

  1. คลิกขวาที่โปรเจกต์ใน Solution Explorer
  2. เลือก “Manage NuGet Packages”
  3. ค้นหา “GroupDocs.Comparison”
  4. คลิก Install

หรือใช้ Package Manager Console:

Install-Package GroupDocs.Comparison -Version 25.4.0

ตัวเลือก 2: ใช้ .NET CLI

หากคุณชอบใช้ command line (โดยเฉพาะสำหรับ CI/CD pipelines):

dotnet add package GroupDocs.Comparison --version 25.4.0

การจัดการลิขสิทธิ์ (ห้ามข้าม)

นี่คือสิ่งที่ทำให้นักพัฒนาหลายคนติดขัด: GroupDocs.Comparison ไม่ฟรีเต็มรูปแบบ แต่ให้ตัวเลือกการประเมินที่ค่อนข้างเอื้ออาทร

สำหรับการพัฒนาและทดสอบ:

  • รุ่นทดลองฟรีพร้อมฟังก์ชันเต็ม
  • ลายน้ำบนผลลัพธ์ (ใช้ได้สำหรับการทดสอบ)
  • ไม่มีข้อจำกัดเวลาในการทดลอง

สำหรับการใช้งานจริง:

  • ต้องมีลิขสิทธิ์เชิงพาณิชย์
  • มีลิขสิทธิ์ชั่วคราวสำหรับการประเมินระยะยาว
  • มีส่วนลดตามปริมาณสำหรับองค์กร

เคล็ดลับ: เริ่มต้นด้วยรุ่นทดลองฟรี คุณสามารถสร้างและทดสอบการทำงานทั้งหมดก่อนตัดสินใจซื้อ ลิขสิทธิ์มักคุ้มค่ากับประโยชน์ที่ได้รับ

ตรวจสอบการตั้งค่าเบื้องต้น

มาทดสอบให้แน่ใจก่อนว่า everything works ด้วยการเพิ่ม using statements ต่อไปนี้ในไฟล์ C# ของคุณ:

using System;
using System.IO;
using GroupDocs.Comparison;

หาก Visual Studio ไม่แสดงข้อผิดพลาดเกี่ยวกับการอ้างอิงที่หายไป คุณพร้อมจะเริ่มทำงานแล้ว

วิธีเปรียบเทียบเอกสารด้วย GroupDocs.Comparison

GroupDocs.Comparison ทำการ diff เอกสารผ่านคลาส Comparer เมธอด Compare() จะทำการวิเคราะห์และสร้างเอกสารใหม่ที่ไฮไลท์การเปลี่ยนแปลงทั้งหมด โหลดไฟล์ต้นฉบับ, เพิ่มไฟล์เป้าหมายหนึ่งหรือหลายไฟล์, แล้วเรียก Compare() เพื่อรับผลลัพธ์

คลาส Comparer เป็นส่วนสำคัญที่ประสานการเปรียบเทียบ มันอ่านไฟล์ต้นฉบับและไฟล์เป้าหมาย, วิเคราะห์โครงสร้าง, และสร้างเอกสาร diff

ขั้นตอนแบบละเอียด

ขั้นตอน 1: กำหนดเส้นทางไฟล์
ใช้ Path.Combine() เพื่อความเข้ากันได้ข้ามแพลตฟอร์ม; มันจัดการตัวคั่นเส้นทางให้ถูกต้องโดยอัตโนมัติ ไม่ว่าจะอยู่บน Windows (\) หรือ Linux/macOS (/). ควรใช้วิธีนี้แทนการเขียนเส้นทางด้วยสแลชแบบคงที่

string YOUR_DOCUMENT_DIRECTORY = @"C:\Documents\TestFiles";
string sourcePath = Path.Combine(YOUR_DOCUMENT_DIRECTORY, "source.docx");
string targetPath = Path.Combine(YOUR_DOCUMENT_DIRECTORY, "target.docx");

ขั้นตอน 2: เริ่มต้น Comparer
คำสั่ง using ทำให้ทรัพยากรทั้งหมดถูกปล่อยเมื่อเสร็จสิ้น, ป้องกันการรั่วของหน่วยความจำ—สำคัญมากเมื่อประมวลผลเอกสารหลายไฟล์ในงานแบตช์

using (Comparer comparer = new Comparer(sourcePath))

ขั้นตอน 3: เพิ่มเอกสารเป้าหมาย
GroupDocs.Comparison ให้คุณเปรียบเทียบไฟล์ต้นฉบับกับหลายไฟล์เป้าหมายได้. เรียก Add() สำหรับแต่ละไฟล์เพิ่มเติมที่ต้องการ diff กับต้นฉบับ

comparer.Add(targetPath);

ขั้นตอน 4: ดำเนินการและบันทึก
Compare() ทำหน้าที่หนักทั้งหมด. มันวิเคราะห์เอกสารทั้งสอง, ระบุความแตกต่าง, และสร้างเอกสารใหม่ที่ไฮไลท์การเปลี่ยนแปลง

string outputFileName = Path.Combine(YOUR_OUTPUT_DIRECTORY, "result.docx");
comparer.Compare(outputFileName);

สิ่งที่เกิดขึ้นระหว่างการเปรียบเทียบ?

เมื่อคุณเรียก Compare(), GroupDocs.Comparison ทำหลายขั้นตอน:

  1. การแยกวิเคราะห์เอกสาร – อ่านโครงสร้างภายในของไฟล์ทั้งสอง
  2. การวิเคราะห์เนื้อหา – เปรียบเทียบข้อความ, การจัดรูปแบบ, รูปภาพ, ตาราง, และองค์ประกอบอื่น ๆ
  3. การตรวจจับความแตกต่าง – ระบุการเพิ่ม, การลบ, และการแก้ไข
  4. การสร้างผลลัพธ์ – สร้างเอกสารใหม่ที่ไฮไลท์การเปลี่ยนแปลง

กระบวนการทั้งหมดโดยทั่วไปใช้ 1‑3 วินาทีสำหรับเอกสารธุรกิจมาตรฐาน; ไฟล์ขนาดใหญ่ (100 + หน้า) อาจใช้เวลาถึง 5 วินาที บนเซิร์ฟเวอร์ระดับกลาง

การใช้งานจริง: ที่ที่การเปรียบเทียบเอกสารเปล่งประกาย

การเข้าใจการทำงานเชิงเทคนิคเป็นเรื่องดี, แต่ต่อไปนี้คือกรณีการใช้งานจริงที่ทำให้คุณเห็นคุณค่า

ระบบตรวจสอบเอกสารกฎหมาย

บริษัทกฎหมายและแผนกกฎหมายต้องจัดการการแก้ไขสัญญาตลอดเวลา แทนที่จะตรวจสอบทุกข้อโดยมือ คุณสามารถสร้างเอกสาร diff ที่แสดงการเพิ่ม, การลบ, หรือการแก้ไขอย่างชัดเจน ช่วยเร่งกระบวนการตรวจสอบอย่างมหาศาล

// Compare contract versions automatically
string originalContract = @"contracts\initial-agreement.docx";
string revisedContract = @"contracts\revised-agreement.docx";
string comparisonResult = @"output\contract-changes.docx";

using (Comparer comparer = new Comparer(originalContract))
{
    comparer.Add(revisedContract);
    comparer.Compare(comparisonResult);
}

การจัดการเอกสารเทคนิค

หากคุณดูแลเอกสาร API, คู่มือผู้ใช้, หรือสเปค การเปรียบเทียบช่วยให้คุณ:

  • ติดตามการเปลี่ยนแปลงระหว่างเวอร์ชันเอกสาร
  • ระบุว่าต้องอัปเดตสกรีนช็อตหรือโค้ดตัวอย่างเมื่อใด
  • รักษาความสอดคล้องระหว่างรูปแบบเอกสารหลายประเภท

การสร้างเนื้อหาร่วมกัน

เมื่อผู้เขียนหลายคนทำงานบน whitepaper, รายงาน, หรือข้อเสนอ การเปรียบเทียบช่วยให้คุณ:

  • รวมการทำงานของแต่ละคน
  • ตรวจจับการแก้ไขที่ขัดแย้งกัน
  • รักษาบันทึกการเปลี่ยนแปลงที่ชัดเจน

การประกันคุณภาพในระบบสร้างเอกสารอัตโนมัติ

สำหรับแอปที่สร้างใบแจ้งหนี้, สัญญา, หรือรายงานโดยอัตโนมัติ การเปรียบเทียบทำหน้าที่เป็นเกตเวย์คุณภาพ:

  • ตรวจสอบเอกสารที่สร้างเทียบกับเทมเพลตหลัก
  • ดักจับข้อผิดพลาดการเติมข้อมูลก่อนส่งถึงลูกค้า
  • ยืนยันการปฏิบัติตามรูปแบบในทุกประเภทเอาต์พุต

พิจารณาประสิทธิภาพ: ทำให้เร็วและมีประสิทธิภาพ

การเปรียบเทียบเอกสารอาจใช้ทรัพยากรมาก, โดยเฉพาะไฟล์ขนาดใหญ่ นี่คือวิธีทำให้แอปของคุณตอบสนองและมีประสิทธิภาพ

แนวปฏิบัติการจัดการหน่วยความจำ

ใช้ using เสมอ

// Good: Resources are automatically disposed
using (Comparer comparer = new Comparer(sourcePath))
{
    comparer.Add(targetPath);
    comparer.Compare(outputPath);
} // Comparer is disposed here automatically

// Avoid: Manual disposal required (and often forgotten)
Comparer comparer = new Comparer(sourcePath);
comparer.Add(targetPath);
comparer.Compare(outputPath);
comparer.Dispose(); // Easy to forget, causes memory leaks

ตรวจสอบการประมวลผลไฟล์ขนาดใหญ่
สำหรับเอกสารที่มีขนาด กว่า 50 MB หรือ กว่า 500 หน้า, ควร:

  • รันการเปรียบเทียบในช่วงเวลาที่ระบบไม่แออัด
  • ใช้ callback แสดงความคืบหน้าให้ผู้ใช้เห็น
  • แบ่งไฟล์ขนาดใหญ่ออกเป็นส่วนย่อยเมื่อทำได้

การปรับให้เหมาะกับประเภทไฟล์ต่าง ๆ

  • เอกสารที่เน้นข้อความ (Word, PDF) – ปกติเร็ว, 1‑5 วินาที สำหรับไฟล์ธุรกิจทั่วไป
  • งานนำเสนอที่มีรูปภาพมาก – ช้ากว่าเนื่องจากอัลกอริทึม diff ภาพ, 10‑30 วินาที สำหรับเด็คขนาดใหญ่
  • สเปรดชีตที่มีสูตรซับซ้อน – ประสิทธิภาพขึ้นอยู่กับความซับซ้อนของสูตร; ควรทำสูตรให้เรียบง่ายเพื่อความเร็วสูงสุด

เคล็ดลับประสิทธิภาพจากโลกจริง

  1. ประมวลผลเป็นชุด – ใช้โฟลเดอร์ผลลัพธ์เดียวกันเพื่อลดการทำ I/O เมื่อเปรียบเทียบหลายคู่ไฟล์
  2. ดำเนินการแบบอะซิงโครนัส – ใช้รูปแบบ async/await สำหรับแอป UI เพื่อป้องกันการค้าง
  3. แคชผลลัพธ์ – เก็บผลการเปรียบเทียบของคู่ไฟล์ที่เหมือนกันเพื่อหลีกเลี่ยงการประมวลผลซ้ำ

การแก้ไขปัญหาที่พบบ่อย (ช่วยคุณประหยัดเวลา)

นักพัฒนาทุกคนต้องเจอปัญหาเหล่านี้ นี่คือวิธีแก้ที่คุณอาจต้องใช้จริง

ข้อผิดพลาด “File Not Found”

ปัญหา – ปัญหาที่พบบ่อยที่สุดเมื่อเริ่มต้น

// This will fail if the path is wrong
using (Comparer comparer = new Comparer(@"C:\NonExistent\file.docx"))

วิธีแก้ – ตรวจสอบว่าไฟล์มีอยู่ก่อนเรียกใช้งาน Comparer:

if (!File.Exists(sourcePath))
{
    Console.WriteLine($"Source file not found: {sourcePath}");
    return;
}

if (!File.Exists(targetPath))
{
    Console.WriteLine($"Target file not found: {targetPath}");
    return;
}

ปัญหาการอนุญาตและการเข้าถึง

ปัญหา – แอปไม่สามารถอ่านหรือเขียนไฟล์ได้

วิธีแก้:

  • รันแอปด้วยสิทธิ์ที่เพียงพอ
  • ตรวจสอบว่าไฟล์ไม่ได้ถูกล็อกโดยโปรแกรมอื่น (เช่น Excel)
  • ยืนยันว่ามีสิทธิ์เขียนในโฟลเดอร์ผลลัพธ์

รูปแบบไฟล์ที่ไม่รองรับ

ปัญหา – ไม่ใช่ทุกไฟล์จะได้รับการสนับสนุนเท่าเทียมกัน

รองรับเต็มรูปแบบ – Microsoft Office (Word, Excel, PowerPoint), PDF, plain text, รูปภาพส่วนใหญ่

รองรับจำกัด – ไฟล์ CAD ที่ซับซ้อน, รูปแบบเฉพาะเจ้าของ

ปัญหาหน่วยความจำกับไฟล์ขนาดใหญ่

ปัญหา – แอปพังหรือทำงานช้าเมื่อเจอเอกสารขนาดมหึมา

วิธีแก้:

  • เพิ่มขีดจำกัดหน่วยความจำของแอป
  • ประมวลผลไฟล์ขนาดใหญ่เป็นชิ้นส่วน
  • ใช้การเปรียบเทียบแบบสตรีมมิ่งสำหรับไฟล์ใหญ่มาก (มีในรุ่น Enterprise)

รูปแบบการใช้งานขั้นสูง

เมื่อคุณคุ้นเคยกับการเปรียบเทียบพื้นฐานแล้ว รูปแบบต่อไปนี้จะทำให้การใช้งานของคุณแข็งแกร่งยิ่งขึ้น

การเปรียบเทียบหลายเอกสาร

using (Comparer comparer = new Comparer(sourceDocument))
{
    // Add multiple targets
    comparer.Add(document1);
    comparer.Add(document2);
    comparer.Add(document3);
    
    // Single comparison shows differences from all targets
    comparer.Compare(outputPath);
}

แนวปฏิบัติการจัดการข้อผิดพลาด

try
{
    using (Comparer comparer = new Comparer(sourcePath))
    {
        comparer.Add(targetPath);
        comparer.Compare(outputPath);
    }
}
catch (FileNotFoundException ex)
{
    Console.WriteLine($"File not found: {ex.FileName}");
}
catch (UnauthorizedAccessException ex)
{
    Console.WriteLine($"Access denied: {ex.Message}");
}
catch (Exception ex)
{
    Console.WriteLine($"Comparison failed: {ex.Message}");
}

การรวมกับ File Watchers

สำหรับการเปรียบเทียบอัตโนมัติเมื่อไฟล์มีการเปลี่ยนแปลง:

FileSystemWatcher watcher = new FileSystemWatcher(@"C:\Documents\Watch");
watcher.Changed += (sender, e) => {
    // Trigger comparison when files change
    CompareDocuments(e.FullPath, referenceDocument);
};

คำถามที่พบบ่อย

ถาม: สามารถเปรียบเทียบเอกสารที่มีรูปแบบต่างกัน (เช่น Word vs PDF) ได้หรือไม่?
ตอบ: GroupDocs.Comparison ทำงานได้ดีที่สุดเมื่อไฟล์ทั้งสองมีรูปแบบเดียวกัน การเปรียบเทียบข้ามรูปแบบทำได้แต่อาจสูญเสียความแม่นยำ; การแปลงไฟล์หนึ่งให้ตรงกับอีกไฟล์ก่อนจะให้ผลลัพธ์ที่แม่นยำที่สุด

ถาม: จะจัดการกับเอกสารที่มีรหัสผ่านอย่างไร?
ตอบ: ไลบรารีรองรับไฟล์ที่มีรหัสผ่าน ให้ใส่รหัสผ่านเมื่อสร้าง Comparer:

LoadOptions loadOptions = new LoadOptions() { Password = "your-password" };
using (Comparer comparer = new Comparer(sourcePath, loadOptions))

ถาม: ขนาดไฟล์สูงสุดที่ GroupDocs.Comparison สามารถจัดการได้คือเท่าไหร่?
ตอบ: ไม่มีขีดจำกัดที่แน่นอน แต่ข้อจำกัดเชิงปฏิบัติกำหนดโดย RAM ที่มีอยู่ ไฟล์จนถึง 100 MB มักประมวลผลได้โดยไม่มีปัญหาในเซิร์ฟเวอร์ 4 GB RAM; สำหรับไฟล์ใหญ่กว่า ควรพิจารณาแบ่งเป็นชิ้นส่วนหรือใช้เซิร์ฟเวอร์ที่มี RAM มากกว่า

ถาม: สามารถปรับแต่งรูปแบบการแสดงผลของการเปลี่ยนแปลงได้หรือไม่?
ตอบ: ทำได้แน่นอน คลาส CompareOptions ให้คุณกำหนดสีไฮไลท์, ตัวบ่งชี้การเปลี่ยนแปลง, และรูปแบบเอาต์พุตอื่น ๆ API มีการควบคุมละเอียดสำหรับลักษณะการแสดงผล diff

ถาม: GroupDocs.Comparison ปลอดภัยต่อการใช้งานหลายเธรดในแอปหลายผู้ใช้หรือไม่?
ตอบ: แต่ละอินสแตนซ์ Comparer ควรใช้โดยเธรดเดียว, แต่คุณสามารถสร้างหลายอินสแตนซ์เพื่อทำงานพร้อมกันได้ ในสภาพแวดล้อมเว็บให้สร้าง Comparer ใหม่ต่อคำขอ

ถาม: ความแม่นยำของการเปรียบเทียบเอกสารที่มีตารางและรูปภาพเป็นอย่างไร?
ตอบ: สูงมาก เครื่องยนต์วิเคราะห์โครงสร้างเอกสาร ไม่ใช่แค่ข้อความธรรมดา ดังนั้นตาราง, รูปภาพ, การจัดรูปแบบ, และแม้กระทั่งการติดตามการเปลี่ยนแปลงจะถูกตรวจจับและไฮไลท์อย่างถูกต้อง

ถาม: สามารถรวมกับบริการจัดเก็บคลาวด์เช่น Azure Blob หรือ AWS S3 ได้หรือไม่?
ตอบ: ได้, แต่คุณต้องดาวน์โหลดไฟล์ลงเครื่องก่อน GroupDocs.Comparison ทำงานกับเส้นทางไฟล์ท้องถิ่น, ดังนั้นให้ดึงไฟล์จาก Blob, ทำการเปรียบเทียบ, แล้วอัปโหลดผลลัพธ์กลับไปยังคลาวด์

แหล่งข้อมูลสำคัญ


อัปเดตล่าสุด: 2026-05-31
ทดสอบกับ: GroupDocs.Comparison 25.4.0 for .NET
ผู้เขียน: GroupDocs

using System;
using System.IO;
using GroupDocs.Comparison;

// Define constants for document paths
string YOUR_DOCUMENT_DIRECTORY = @"C:\Documents\TestFiles";
string sourcePath = Path.Combine(YOUR_DOCUMENT_DIRECTORY, "source.docx");
string targetPath = Path.Combine(YOUR_DOCUMENT_DIRECTORY, "target.docx");
string YOUR_OUTPUT_DIRECTORY = @"C:\Documents\Output";
string outputFileName = Path.Combine(YOUR_OUTPUT_DIRECTORY, "result.docx");

// Initialize the Comparer with the source document path
using (Comparer comparer = new Comparer(sourcePath))
{
    // Add the target document to be compared against the source
    comparer.Add(targetPath);
    
    // Perform the comparison and save the result to the output file
    comparer.Compare(outputFileName);
}

Console.WriteLine($"Comparison complete! Check your results at: {outputFileName}");

บทแนะนำที่เกี่ยวข้อง