Compare Word arquivos ou PDF usando C++ SDK

Poderosa C++ biblioteca para comparar arquivos em PDF, Word, HTML, TXT, MD e outros formatos

Use nosso verificador de diferenças de C++ arquivo, compare dois documentos e veja as diferenças entre eles claramente mostradas na saída. Você não precisa mais comparar seus documentos manualmente. Observe também que o resultado da comparação pode ser exportado para um DOCX, PDF, DOC e outros.

Ver trecho de código

Comparando dois arquivos em C++

Nossa solução C++ foi projetada para fornecer os melhores resultados possíveis ao usar um algoritmo de comparação complexo. Assim, você não precisa mais procurar diferenças manualmente em documentos – sinta-se à vontade para usar nossa API para diferenciar dois arquivos.

Nosso mecanismo de comparação procura diferenças no nível de caracteres ou palavras inteiras. E se apenas um caractere for alterado, a palavra inteira será destacada como alterada. Todas as alterações encontradas podem ser visualizadas claramente na saída e exportadas em um formato conveniente.

Os tipos de comparação mais populares são comparar PDF arquivos e Word. Portanto, aprenderemos nossa ferramenta de comparação C++ e sua função de comparação usando estes exemplos.

Compare PDF em C++

Às vezes você precisa ter certeza de que seu PDF documento não foi modificado e compará-lo com a versão original. Ou você já sabe que seu PDF realmente mudou e precisa ver onde e como. Depois você pode comparar duas versões de PDF arquivos e ver as diferenças. E para evitar fazer isso manualmente, basta usar nossa API de verificação de diferenças C++.

Com nossa solução C++, você verá até mesmo pequenas alterações que poderiam facilmente perder em uma comparação manual.

Compare dois Word documentos usando C++

Os Word documentos são bastante fáceis de alterar, por isso é importante comparar os arquivos do Word para garantir que partes ou todo o documento não foram alterados.

Para comparar Word arquivos, use nossa solução C++, assim como acontece com PDF. Você pode fazer isso no exemplo abaixo.

Сompare dois documentos

Para ver como funciona nossa comparação de documentos C++, carregue dois arquivos que deseja comparar e escolha um formato de arquivo de exportação.

Após a conclusão da comparação, o documento com a comparação será baixado automaticamente no formato que você selecionou.

É importante que os documentos que estão sendo comparados não tenham nenhuma revisão antes da comparação, por isso precisamos aceitar todas as revisões antes do início da comparação. Não se preocupe, cuidamos disso em nosso exemplo:

Carregar o arquivo comparado
Código de execução
Carregue o segundo arquivo para comparar
Selecione o formato de destino na lista
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";

//  Carregar documentos para armazenamento em nuvem.
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);

//  Comparar documentos na nuvem.
auto compareDataOptions = std::make_shared<aspose::words::cloud::models::CompareData>();
compareDataOptions->setAuthor(std::make_shared<std::wstring>(L"author"));
compareDataOptions->setComparingWithDocument(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);

//  Baixe o documento de resultado do armazenamento em nuvem.
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();
}
Código de execução
  
Copie o código C++ para a área de transferência

Como comparar duas versões de um arquivo

  1. Instale Aspose.Words Cloud for C++
  2. Adicione uma referência de biblioteca (importe a biblioteca) ao seu projeto C++
  3. Carregue dois documentos para comparar
  4. Chame o método compareDocument() para comparar dois documentos
  5. Baixe o documento de resultado do armazenamento em nuvem

C++ biblioteca para usar comparar

Clone Aspose.Words Cloud SDK for C++ do GitHub. Você pode encontrar informações detalhadas sobre como criar e configurar o SDK na seção "How to use the SDK".

Para obter rapidamente as credenciais de segurança necessárias e acessar nossa REST API, siga estas Instructions na documentação.

Requisitos de sistema

Consulte a Repository Documentation para ver os detalhes.

Formatos mais populares para operações de comparação

5%

Inscreva-se para receber atualizações do produto Aspose

Receba boletins e ofertas mensais diretamente em sua caixa de correio.

© Aspose Pty Ltd 2001-2024. Todos os direitos reservados.