ใช้ C++ ตัวตรวจสอบความแตกต่างของไฟล์ เปรียบเทียบเอกสารสองฉบับ และดูความแตกต่างระหว่างเอกสารที่แสดงอย่างชัดเจนในผลลัพธ์ คุณไม่จำเป็นต้องเปรียบเทียบเอกสารของคุณด้วยตนเองอีกต่อไป นอกจากนี้ โปรดทราบด้วยว่าผลการเปรียบเทียบสามารถส่งออกเป็น DOCX, PDF, DOC และอื่นๆ
โซลูชัน C++ ของเราได้รับการออกแบบมาเพื่อให้คุณได้รับผลลัพธ์ที่ดีที่สุดเท่าที่จะเป็นไปได้เมื่อใช้อัลกอริธึมการเปรียบเทียบที่ซับซ้อน ดังนั้น คุณไม่จำเป็นต้องค้นหาความแตกต่างในเอกสารด้วยตนเองอีกต่อไป คุณสามารถใช้ API ของเราเพื่อแยกความแตกต่างระหว่างสองไฟล์ได้
เครื่องมือเปรียบเทียบของเราจะค้นหาความแตกต่างในระดับตัวอักษรหรือทั้งคำ และหากเปลี่ยนตัวอักษรเพียงตัวเดียวทั้งคำจะถูกเน้นว่าเปลี่ยนแล้ว การเปลี่ยนแปลงที่พบทั้งหมดสามารถดูได้อย่างชัดเจนในเอาต์พุตและส่งออกในรูปแบบที่สะดวก
การเปรียบเทียบประเภทที่ได้รับความนิยมมากที่สุดคือการเปรียบเทียบไฟล์ PDF และ Word ดังนั้น เราจะเรียนรู้เครื่องมือ C++ diff และฟังก์ชันการเปรียบเทียบโดยใช้ตัวอย่างเหล่านี้
บางครั้งคุณต้องตรวจสอบให้แน่ใจว่าเอกสาร PDF ของคุณไม่ได้รับการแก้ไข และเปรียบเทียบกับเวอร์ชันต้นฉบับ หรือคุณรู้อยู่แล้วว่า PDF ของคุณเปลี่ยนไปมาก และคุณต้องดูว่าที่ไหนและอย่างไร จากนั้นคุณสามารถเปรียบเทียบไฟล์ PDF สองเวอร์ชันและดูความแตกต่างได้ และเพื่อหลีกเลี่ยงการดำเนินการด้วยตนเอง เพียงใช้ C++ diff checker API ของเรา
ด้วยโซลูชัน C++ ของเรา คุณจะเห็นแม้แต่การเปลี่ยนแปลงเล็กๆ น้อยๆ ที่คุณอาจพลาดได้ง่ายๆ เมื่อเปรียบเทียบด้วยตนเอง
เอกสาร Word เปลี่ยนแปลงได้ง่ายพอสมควร ดังนั้นจึงควรเปรียบเทียบไฟล์ Word เพื่อให้แน่ใจว่าส่วนต่างๆ หรือเอกสารทั้งหมดไม่มีการเปลี่ยนแปลง
หากต้องการเปรียบเทียบไฟล์ Word ให้ใช้โซลูชัน C++ ของเรา เช่นเดียวกับ PDF คุณสามารถทำได้ในตัวอย่างด้านล่าง
หากต้องการดูว่าเอกสาร C++ ของเราเปรียบเทียบทำงานอย่างไร ให้โหลดไฟล์สองไฟล์ที่คุณต้องการเปรียบเทียบ และเลือกรูปแบบไฟล์ส่งออก
หลังจากการเปรียบเทียบเสร็จสิ้น เอกสารที่มีความแตกต่างจะถูกดาวน์โหลดโดยอัตโนมัติในรูปแบบที่คุณเลือก
สิ่งสำคัญคือเอกสารที่จะเปรียบเทียบจะต้องไม่มีการแก้ไขก่อนการเปรียบเทียบ ดังนั้นเราจำเป็นต้องยอมรับการแก้ไขทั้งหมดก่อนที่จะเริ่มการเปรียบเทียบ ไม่ต้องกังวล เราได้จัดการเรื่องนี้ตามตัวอย่างของเราแล้ว:
using namespace aspose::words::cloud;
auto config =
std::make_shared<ApiConfiguration>(L"####-####-####-####-####", L"##################");
auto wordsApi = std::make_shared<WordsApi>(config);
std::wstring fileName1 = L"Input1.docx";
std::wstring fileName2 = L"Input2.docx";
std::wstring fileResult = L"Output.docx";
// อัปโหลดเอกสารไปยังที่เก็บข้อมูลบนคลาวด์
auto firstDocumentContent =
std::shared_ptr<std::istream>(
new std::ifstream(std::filesystem::path(fileName1), std::istream::binary));
std::shared_ptr<requests::UploadFileRequest> uploadFirstFileRequest(
new requests::UploadFileRequest(
firstDocumentContent, std::make_shared<std::wstring>(fileName1)
)
);
wordsApi->uploadFile(uploadFirstFileRequest);
auto secondDocumentContent =
std::shared_ptr<std::istream>(
new std::ifstream(std::filesystem::path(fileName2), std::istream::binary));
std::shared_ptr<requests::UploadFileRequest> uploadSecondFileRequest(
new requests::UploadFileRequest(
secondDocumentContent, std::make_shared<std::wstring>(fileName2)
)
);
wordsApi->uploadFile(uploadSecondFileRequest);
// เปรียบเทียบเอกสารในระบบคลาวด์
auto compareDataOptions = std::make_shared<aspose::words::cloud::models::CompareData>();
compareDataOptions->setAuthor(std::make_shared<std::wstring>(L"author"));
compareDataOptions->setFileReference(
std::make_shared<aspose::words::cloud::models::FileReference>(
std::make_shared<std::wstring>(fileName2));
std::shared_ptr<requests::CompareDocumentRequest> compareDocumentRequest(
new requests::CompareDocumentRequest(
std::make_shared<std::wstring>(fileName1),
compareDataOptions, std::make_shared<std::wstring>(fileResult)
)
);
wordsApi->compareDocument(compareDocumentRequest);
// ดาวน์โหลดเอกสารผลลัพธ์จากที่เก็บข้อมูลบนคลาวด์
std::shared_ptr<requests::DownloadFileRequest> downloadFileRequest(
new requests::DownloadFileRequest(
std::make_shared<std::wstring>(fileResult)
)
);
auto downloadFileResult = wordsApi->downloadFile(downloadFileRequest);
{
char buffer[1024];
std::ofstream fileWriter(fileResult, std::ofstream::binary);
const auto& fileData = *downloadFileResult->begin();
while(fileData.second->read(buffer, sizeof(buffer))) {
fileWriter.write(buffer, sizeof(buffer));
}
fileWriter.write(buffer, fileData.second->gcount());
fileWriter.close();
}
Clone Aspose.Words Cloud SDK for C++ จาก GitHub คุณสามารถค้นหาข้อมูลโดยละเอียดเกี่ยวกับการสร้างและกำหนดค่า SDK ได้ในส่วน "How to use the SDK"
หากต้องการรับข้อมูลรับรองความปลอดภัยที่จำเป็นอย่างรวดเร็วและเข้าถึง REST API ของเรา โปรดปฏิบัติตาม Instructions เหล่านี้ในเอกสารประกอบ
อ้างถึง Repository Documentation เพื่อดูรายละเอียด