Χρησιμοποιήστε τον έλεγχο διαφορών C++ αρχείων, συγκρίνετε δύο έγγραφα και δείτε τις διαφορές μεταξύ τους που εμφανίζονται καθαρά στην έξοδο. Δεν χρειάζεται πλέον να συγκρίνετε τα έγγραφά σας με μη αυτόματο τρόπο. Σημειώστε επίσης ότι το αποτέλεσμα σύγκρισης μπορεί να εξαχθεί σε DOCX, PDF, DOC και άλλα.
Η λύση μας C++ έχει σχεδιαστεί για να σας προσφέρει τα καλύτερα δυνατά αποτελέσματα όταν χρησιμοποιείτε έναν σύνθετο αλγόριθμο σύγκρισης. Επομένως, δεν χρειάζεται πλέον να αναζητάτε μη αυτόματα διαφορές στα έγγραφα – μη διστάσετε να χρησιμοποιήσετε το API μας για να διαφοροποιήσετε δύο αρχεία.
Η μηχανή σύγκρισης μας αναζητά διαφορές σε επίπεδο χαρακτήρων ή ολόκληρων λέξεων. Και αν άλλαξε μόνο ένας χαρακτήρας, ολόκληρη η λέξη θα επισημανθεί ως αλλαγμένη. Όλες οι αλλαγές που βρέθηκαν μπορούν να προβληθούν καθαρά στην έξοδο και να εξαχθούν σε μια βολική μορφή.
Οι πιο δημοφιλείς τύποι σύγκρισης είναι η σύγκριση PDF αρχείων και Word. Επομένως, θα μάθουμε το εργαλείο διαφοράς C++ και τη λειτουργία σύγκρισης χρησιμοποιώντας αυτά τα παραδείγματα.
Μερικές φορές χρειάζεται να βεβαιωθείτε ότι το 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";
// Μεταφόρτωση εγγράφων στο χώρο αποθήκευσης cloud.
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);
// Σύγκριση εγγράφων στο cloud.
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);
// Λήψη εγγράφου αποτελεσμάτων από την αποθήκευση cloud.
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();
}
Κλωνοποίηση Aspose.Words Cloud SDK for C++ από το GitHub. Μπορείτε να βρείτε αναλυτικές πληροφορίες σχετικά με τη δημιουργία και τη διαμόρφωση του SDK στην ενότητα "How to use the SDK".
Για να λάβετε γρήγορα τα απαραίτητα διαπιστευτήρια ασφαλείας και να αποκτήσετε πρόσβαση στο REST API, ακολουθήστε αυτές τις Instructions στην τεκμηρίωση.
Ανατρέξτε στην Repository Documentation για να δείτε τις λεπτομέρειες.