Łączenie plików Word programowo jest częstym wymogiem przy tworzeniu aplikacji skoncentrowanych na dokumentach, szczególnie przy generowaniu raportów lub konsolidacji umów. GroupDocs.Merger Cloud SDK for Java zapewnia prostą, opartą na chmurze bibliotekę, która umożliwia scalanie plików DOCX bez konieczności zajmowania się niskopoziomową obsługą plików. W tym przewodniku dowiesz się, jak połączyć wiele dokumentów Word w Javie, zobaczysz kompletny przykład kodu, poznasz równoważne wywołania cURL oraz zrozumiesz wymagane ustawienia. Po zakończeniu będziesz gotowy, aby zintegrować scalanie dokumentów w swoich własnych projektach Java.

Pełny działający przykład łączenia wielu dokumentów Word w Javie

Ten przykład pokazuje, jak połączyć wiele dokumentów Word w Javie przy użyciu Merger API.

import com.groupdocs.merger.cloud.client.ApiClient;
import com.groupdocs.merger.cloud.client.ApiException;
import com.groupdocs.merger.cloud.api.MergerApi;
import com.groupdocs.merger.cloud.model.FileInfo;
import com.groupdocs.merger.cloud.model.MergeOptions;
import java.util.ArrayList;
import java.util.List;

public class CombineWordDocuments {
    public static void main(String[] args) {
        // Initialize the API client with your credentials
        ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        MergerApi mergerApi = new MergerApi(apiClient);

try {
            // List of Word documents to combine
            List<FileInfo> sourceFiles = new ArrayList<>();
            sourceFiles.add(new FileInfo().setFilePath("input1.docx"));
            sourceFiles.add(new FileInfo().setFilePath("input2.docx"));
            sourceFiles.add(new FileInfo().setFilePath("input3.docx"));

// Configure merge options
            MergeOptions mergeOptions = new MergeOptions();
            mergeOptions.setOutputPath("merged_output.docx");
            mergeOptions.setFileInfos(sourceFiles);

// Execute the merge operation
            FileInfo result = mergerApi.merge(mergeOptions);

System.out.println("Merge completed successfully. Output file: " + result.getFilePath());
        } catch (ApiException e) {
            System.err.println("An error occurred while merging documents: " + e.getMessage());
        }
    }
}

Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś wszystkie ścieżki plików i wartości konfiguracyjne, aby odpowiadały rzeczywistemu środowisku, zweryfikuj, że wszystkie wymagane zależności są prawidłowo zainstalowane, oraz dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.

Scalanie plików Word przy użyciu REST API i cURL

Jeśli wolisz czyste podejście REST, tę samą operację scalania można wykonać przy użyciu wywołań cURL. Poniższe kroki pokazują, jak uzyskać token dostępu, przesłać pliki źródłowe, złożyć żądanie scalenia i pobrać wynik.

Uwierzytelnij się i uzyskaj token dostępu:

curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
     -H "Content-Type: application/json" \
     -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

Prześlij każdy plik DOCX do swojej pamięci w chmurze (zamień YOUR_ACCESS_TOKEN na token z poprzedniego kroku):

curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input1.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
     --data-binary @input1.docx

Powtórz polecenie przesyłania dla input2.docx i input3.docx.

Utwórz żądanie scalenia:

curl -X POST "https://api.groupdocs.cloud/v2.0/merger/merge" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "outputPath":"merged_output.docx",
           "fileInfos":[
               {"filePath":"input1.docx"},
               {"filePath":"input2.docx"},
               {"filePath":"input3.docx"}
           ]
         }'

Pobierz połączony dokument:

curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/merged_output.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o merged_output.docx

Aby uzyskać więcej informacji o parametrach żądania, zobacz oficjalną dokumentację API.

Zrozumienie procesu łączenia dokumentów Word w Javie

Poniżej znajduje się szczegółowy opis krok po kroku kodu przedstawionego wcześniej.

  1. Utwórz ApiClient - new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET") nawiązuje połączenie z usługą chmurową GroupDocs.
    ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
    
  2. Zainicjuj MergerApi - new MergerApi(apiClient) zapewnia dostęp do endpointów związanych z łączeniem.
    MergerApi mergerApi = new MergerApi(apiClient);
    
  3. Przygotuj listę plików źródłowych - Każdy obiekt FileInfo wskazuje na plik DOCX przechowywany w chmurze. Lista jest przekazywana do MergeOptions.
    List<FileInfo> sourceFiles = new ArrayList<>();
    sourceFiles.add(new FileInfo().setFilePath("input1.docx"));
    
  4. Skonfiguruj MergeOptions - Ustaw żądaną ścieżkę wyjściową i dołącz listę plików źródłowych.
    MergeOptions mergeOptions = new MergeOptions();
    mergeOptions.setOutputPath("merged_output.docx");
    mergeOptions.setFileInfos(sourceFiles);
    
  5. Wykonaj łączenie - mergerApi.merge(mergeOptions) wysyła żądanie i zwraca FileInfo dla połączonego dokumentu.
    FileInfo result = mergerApi.merge(mergeOptions);
    

Aby uzyskać pełną listę dostępnych właściwości, odnieś się do referencji API.

Wymagania wstępne i konfiguracja dla GroupDocs.Merger Cloud SDK

Zanim będziesz mógł uruchomić kod, dodaj zależność Maven do swojego projektu i upewnij się, że masz ważne konto GroupDocs.

Dodaj SDK do swojego pom.xml:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger-cloud</artifactId>
    <version>25.11</version>
</dependency>

Pobierz najnowsze pliki JAR i kod źródłowy ze strony pobierania.
Będziesz także potrzebować Java 8 lub nowszej oraz dostępu do Internetu dla wywołań w chmurze.
Utwórz konto GroupDocs, uzyskaj swój Client ID i Client Secret i przechowuj je w bezpiecznym miejscu.

Podsumowanie

Scalanie plików DOCX programowo jest teraz proste dzięki GroupDocs.Merger Cloud SDK for Java. Przykładowy kod i fragmenty cURL ilustrują dwa elastyczne sposoby łączenia wielu dokumentów Word w Javie, niezależnie od tego, czy wolisz natywną bibliotekę, czy bezpośrednie wywołania REST. Pamiętaj, aby skonfigurować swoje poświadczenia, w razie potrzeby obsługiwać duże pliki poprzez strumieniowanie oraz przetestować operację scalania przy użyciu reprezentatywnych dokumentów. W środowiskach produkcyjnych potrzebna będzie płatna licencja; szczegóły cenowe są dostępne na stronie produktu, a tymczasową licencję do oceny możesz zamówić na stronie tymczasowej licencji.

FAQs

  • Jak połączyć wiele dokumentów Word w Javie bez pisania własnego kodu obsługi plików?
    Użyj GroupDocs.Merger Cloud SDK for Java. SDK abstrahuje wszystkie operacje niskiego poziomu i pozwala łączyć pliki DOCX przy użyciu kilku wywołań API.

  • Czy można scalać dokumenty przechowywane w różnych folderach w chmurze?
    Tak. Podaj pełne ścieżki plików w chmurze w obiektach FileInfo, a operacja scalania pobierze każdy plik z jego lokalizacji przed ich połączeniem.

  • Co powinienem zrobić, jeśli scalanie nie powiedzie się z ApiException?
    Sprawdź komunikat wyjątku, aby uzyskać szczegóły, takie jak brakujące pliki lub problemy z uprawnieniami. Upewnij się, że ścieżki do plików są prawidłowe i że Twoje konto ma dostęp do odczytu/zapisu w magazynie. Zapoznaj się z oficjalną dokumentacją w celu uzyskania kodów błędów.

  • Czy potrzebuję oddzielnej licencji dla każdego środowiska (development, staging, production)?
    Jedna licencja obejmuje wszystkie środowiska, ale musisz przestrzegać limitów użytkowania określonych w umowie licencyjnej. Do testów możesz użyć tymczasowej licencji podanej powyżej.

Read More