合併 Word 文檔

在 Java 中在線合併 Word 文檔

在分佈式團隊環境中,團隊的不同成員可能會處理文檔的某些模塊,這些模塊需要組合以生成統一版本。可以使用各種應用程序執行此操作,但合併 word 文檔的手動步驟可能是一項乏味的活動。所以為了有一個更可行的解決方案,我們將討論如何使用Java SDK合併word文檔的細節。

合併文檔 API

Aspose.Words Cloud SDK for Java 使您能夠在 Java 應用程序中引入 Word 文檔創建、操作和轉換功能。它還提供了組合 word 文檔以生成單個統一輸出的功能。現在,為了使用 SDK,請在您的 maven 構建類型的 pom.xml 文件中添加以下詳細信息。

<repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>https://repository.aspose.cloud/repo/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words-cloud</artifactId>
        <version>22.5.0</version>
    </dependency>
</dependencies>

安裝後,我們需要使用 GitHub 或 Google 帳戶在 Aspose.Cloud dashboard 上註冊一個免費帳戶,或者只需註冊並獲取您的客戶憑據。

在 Java 中合併 Word 文檔

請按照下面給出的說明使用 Java 代碼片段組合 Word 文檔。

  • 第一步是創建 WordsApi 類的對象,同時將客戶端 ID 和客戶端機密詳細信息作為參數傳遞
  • 其次,創建一個 DocumentEntry 對象,它接受要合併的文檔,然後將 setImportFormatMode(..) 方法的值設置為 KeepSourceFormatting
  • 現在創建一個 ArrayList 對象並在其中添加 DocumentEntry 對象
  • 然後創建一個以 ArrayList 對象為參數的 DocumentEntryList 對象
  • 最後但同樣重要的是,創建一個 AppendDocumentOnlineRequest 對象,它將源 Word 文件和 DocumentEntryList 對像作為參數
  • 最後,調用API的appendDocumentOnline(..)方法合併文檔,並將輸出結果保存在雲存儲中
For more examples, please visit https://github.com/aspose-words-cloud/aspose-words-cloud-java

try
    {
    // 從 https://dashboard.aspose.cloud/ 獲取 ClientID 和 ClientSecret
    String clientId = "bbf94a2c-6d7e-4020-b4d2-b9809741374e";
    String clientSecret = "1c9379bb7d701c26cc87e741a29987bb";
  
    // 如果 baseUrl 為 null,WordsApi 使用默認的 https://api.aspose.cloud
    WordsApi wordsApi = new WordsApi(clientId, clientSecret, null);

    String firstFile = "Resultant.docx";
    String documentToAppend = "TableDocument.doc";
    String resultantFile = "MergedFile.docx";
    
    // 讀取輸入 Word 文檔的所有字節
    byte[] requestDocument = Files.readAllBytes(Paths.get("c://Downloads/"+firstFile).toAbsolutePath());
    
    DocumentEntry requestDocumentListDocumentEntries0 = new DocumentEntry();
    requestDocumentListDocumentEntries0.setHref("c://Downloads/"+documentToAppend);
    requestDocumentListDocumentEntries0.setImportFormatMode("KeepSourceFormatting");
     
    ArrayList<DocumentEntry> requestDocumentListDocumentEntries = new ArrayList<DocumentEntry>();
    requestDocumentListDocumentEntries.add(requestDocumentListDocumentEntries0);

    DocumentEntryList requestDocumentList = new DocumentEntryList();
    requestDocumentList.setDocumentEntries(requestDocumentListDocumentEntries);

    AppendDocumentOnlineRequest appendRequest = new AppendDocumentOnlineRequest(requestDocument, requestDocumentList, null, null, null, resultantFile, null, null);
    wordsApi.appendDocumentOnline(appendRequest);
    
    System.out.println("Combine Word Documents in Java sucessfull !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

使用 cURL 命令合併 Word 文檔

cURL 命令還可用於訪問任何平台上的 REST API。因此,在本節中,我們將詳細討論如何使用 cURL 命令合併 word 文檔。現在第一步是生成 JSON Web Token (JWT),所以請在終端應用程序中執行以下命令。

 curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4&client_secret=d87269aade6a46cdc295b711e26809af" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

一旦我們有了 JWT Token,請執行以下命令來合併雲存儲中已有的 word 文檔。

curl -v -X PUT "https://api.aspose.cloud/v4.0/words/ComparisonResult.docx/appendDocument?destFileName=MergedFile.docx" \
-H  "accept: application/json" \
-H  "Authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{\"DocumentEntries\":[{\"Href\":\"SampleMailMergeTemplate.docx\",\"ImportFormatMode\":\"KeepSourceFormatting\"}],\"ApplyBaseDocumentHeadersAndFootersToAppendingDocuments\":true}"

結論

我們已經討論瞭如何在 Java 中組合 word 文檔以及使用 cURL 命令的細節。請注意,SDK 的完整源代碼可以從 GitHub 下載。此外,為了探索 API 功能,您可以考慮通過 swagger 接口 訪問它。

如果您有任何進一步的疑問或遇到任何困難,請訪問免費支持論壇

相關文章

我們強烈建議瀏覽以下博客