我们的 Go 解决方案旨在为您在使用复杂的比较算法时提供最佳结果。因此,您不再需要手动查找文档中的差异 - 请随意使用我们的 API 来比较两个文件。
我们的比较引擎寻找字符或整个单词级别的差异。如果只更改了一个字符,则整个单词将突出显示为已更改。所有发现的更改都可以在输出中清楚地查看,并以方便的格式导出。
最流行的比较类型是比较 PDF 和 Word 文件。因此,我们将使用这些示例来学习我们的 Go diff工具及其比较功能。
有时您需要确保您的PDF文档没有被修改,并将其与原始版本进行比较。或者您已经知道您的 PDF 确实发生了变化,并且您需要查看位置和方式。然后您可以比较两个版本的 PDF 文件并查看差异。为了避免手动执行此操作,只需使用我们的 Go diff 检查器 API。
通过我们的 Go 解决方案,您甚至会看到在手动比较中很容易错过的微小变化。
Word 文档相当容易更改,因此比较 Word 文件以确保部分或整个文档没有更改非常重要。
要比较 Word 文件,请使用我们的 Go 解决方案,就像 PDF 一样。您可以在下面的示例中执行此操作。
要了解我们的 Go 文档比较的工作原理,请加载要比较的两个文件并选择导出文件格式。
比较完成后,将按照您选择的格式自动下载包含差异的文档。
重要的是,被比较的文档在比较之前不能有任何修订,因此我们需要在比较开始之前接受所有修订。别担心,我们已经在我们的示例中解决了这个问题:
import (
"os"
"github.com/aspose-words-cloud/aspose-words-cloud-go/dev/api/models"
)
config, _ := models.NewConfiguration("config.json")
wordsApi, ctx, _ := api.CreateWordsApi(config)
fileName1:= "Input1.docx"
fileName2:= "Input2.docx"
fileResult:= "Output.docx"
// 将文档上传到云存储。
firstDocumentContent, _ := os.Open(fileName1)
uploadFirstFileRequestOptions := map[string]interface{}{}
uploadFirstFileRequest := &models.UploadFileRequest{
FileContent: firstDocumentContent,
Path: ToStringPointer(fileName1),
Optionals: uploadFirstFileRequestOptions,
}
_, _, _ = wordsApi.UploadFile(ctx, uploadFirstFileRequest)
secondDocumentContent, _ := os.Open(fileName2)
uploadSecondFileRequestOptions := map[string]interface{}{}
uploadSecondFileRequest := &models.UploadFileRequest{
FileContent: secondDocumentContent,
Path: ToStringPointer(fileName2),
Optionals: uploadSecondFileRequestOptions,
}
_, _, _ = wordsApi.UploadFile(ctx, uploadSecondFileRequest)
// 比较云中的文档。
compareDataOptions := models.CompareData{
Author: ToStringPointer("author"),
FileReference: models.CreateRemoteFileReference(fileName2),
}
compareDocumentRequestOptions := map[string]interface{}{"destFileName": fileResult,}
compareDocumentRequest := &models.CompareDocumentRequest{
Name: ToStringPointer(fileName1),
CompareData: &compareDataOptions,
Optionals: compareDocumentRequestOptions,
}
_, _, _ = wordsApi.CompareDocument(ctx, compareDocumentRequest)
// 从云存储下载结果文档。
downloadFileRequestOptions := map[string]interface{}{}
downloadFileRequest := &models.DownloadFileRequest{
Path: ToStringPointer(fileResult),
Optionals: downloadFileRequestOptions,
}
_, _ = wordsApi.DownloadFile(ctx, downloadFileRequest)
运行 go get -v github.com/aspose-words-cloud/aspose-words-cloud-go/2007/api 安装 Aspose.Words Cloud SDK for Go 。您可以从 "How to use SDK" 部分获得有关其他安装方法的大量有用信息。
从 GitHub 克隆 Aspose.Words Cloud SDK for Go 源代码并在您的项目中使用它。请按照这些 Instructions 快速获取必要的安全凭证并访问我们的 REST API。
请参阅 Repository Documentation 以查看详细信息。