Wstawianie i dołączanie dokumentów

Czasami wymagane jest połączenie kilku dokumentów w jeden. Możesz to zrobić ręcznie lub możesz użyć funkcji wstawiania lub dołączania Aspose.Words.

Operacja Wstaw umożliwia wstawienie zawartości wcześniej utworzonych dokumentów do nowego lub istniejącego.

Z kolei funkcja dołączania umożliwia dodanie dokumentu tylko na końcu innego dokumentu.

W tym artykule wyjaśniono, jak wstawić lub dołączyć dokument do innego dokumentu na różne sposoby i opisano typowe właściwości, które można zastosować podczas wstawiania lub dołączania dokumentów.

Wstaw dokument

Jak wspomniano powyżej, w Aspose.Words dokument jest reprezentowany jako drzewo węzłów, a operacja wstawiania jednego dokumentu do drugiego polega na kopiowaniu węzłów z pierwszego drzewa dokumentów do drugiego.

Możesz wstawiać dokumenty w różnych lokalizacjach na różne sposoby. Na przykład możesz wstawić dokument za pomocą operacji zamiany, pola scalania podczas operacji scalania lub zakładki.

Możesz także użyć metody InsertDocument, która jest podobna do wstawiania dokumentu w Microsoft Word, Aby wstawić cały dokument w bieżącej pozycji kursora bez wcześniejszego importowania.

Poniższy przykład kodu pokazuje, jak wstawić dokument przy użyciu metody InsertDocument:

Poniższe podsekcje opisują opcje, podczas których można wstawić jeden dokument do drugiego.

Wstawianie dokumentu podczas operacji znajdź i zamień

Możesz wstawiać dokumenty podczas wykonywania operacji znajdź i zamień. Na przykład dokument może zawierać akapity z tekstami [INTRODUCTION] i [CONCLUSION]. Ale w dokumencie końcowym musisz zastąpić te akapity treścią uzyskaną z innego dokumentu zewnętrznego. Aby to osiągnąć, musisz utworzyć procedurę obsługi dla zdarzenia replace.

Poniższy przykład kodu pokazuje, jak utworzyć procedurę obsługi dla zdarzenia zastępującego, aby użyć go później w procesie wstawiania:

Poniższy przykład kodu pokazuje, jak wstawiać zawartość jednego dokumentu do drugiego podczas operacji znajdź i zamień:

Wstawianie dokumentu podczas operacji Mail Merge

Możesz wstawić dokument do pola scalania podczas operacji Mail Merge. Na przykład szablon Mail Merge może zawierać pole scalania, takie jak [podsumowanie]. Ale w dokumencie końcowym musisz wstawić zawartość uzyskaną z innego dokumentu zewnętrznego do tego pola scalania. Aby to osiągnąć, musisz utworzyć procedurę obsługi dla zdarzenia scalania.

Poniższy przykład kodu pokazuje, jak utworzyć procedurę obsługi dla zdarzenia scalania, aby użyć go później w procesie wstawiania:

Poniższy przykład kodu pokazuje, jak wstawić dokument do pola scalania za pomocą utworzonego programu obsługi:

Wstaw dokument w zakładce

Możesz zaimportować plik tekstowy do dokumentu i wstawić go zaraz po zakładce zdefiniowanej w dokumencie. Aby to zrobić, utwórz akapit z zakładkami, w którym chcesz wstawić dokument.

Poniższy przykład kodowania pokazuje, jak wstawić zawartość jednego dokumentu do zakładki w innym dokumencie:

Dołącz dokument

Możesz mieć przypadek użycia, w którym musisz dołączyć dodatkowe strony od dokumentu do końca istniejącego dokumentu. Aby to zrobić, wystarczy wywołać metodę AppendDocument, aby dodać dokument na końcu innego.

Poniższy przykład kodu pokazuje, jak dołączyć dokument na końcu innego dokumentu:

Importuj i wstawiaj węzły ręcznie

Aspose.Words umożliwia automatyczne wstawianie i dołączanie dokumentów bez wcześniejszych wymagań importowania. Jeśli jednak chcesz wstawić lub dołączyć określony węzeł dokumentu, taki jak sekcja lub akapit, najpierw musisz zaimportować ten węzeł ręcznie.

Gdy musisz wstawić lub dołączyć jedną sekcję lub akapit do drugiej, zasadniczo musisz zaimportować węzły pierwszego drzewa węzłów dokumentu do drugiego przy użyciu metody ImportNode. Po zaimportowaniu węzłów należy użyć metody InsertAfter / InsertBefore, aby wstawić nowy węzeł po / przed węzłem odniesienia. Pozwala to dostosować proces wstawiania poprzez importowanie węzłów z dokumentu i wstawianie go w określonych pozycjach.

Możesz także użyć metody AppendChild, aby dodać nowy określony węzeł na końcu listy węzłów podrzędnych, na przykład, jeśli chcesz dołączyć zawartość na poziomie akapitu zamiast na poziomie sekcji.

Poniższy przykład kodu pokazuje, jak ręcznie importować węzły i wstawiać je po określonym węźle przy użyciu metody InsertAfter:

Zawartość jest importowana do dokumentu docelowego sekcja po sekcji, co oznacza, że ustawienia, takie jak konfiguracja strony oraz nagłówki lub stopki, są zachowywane podczas importu. Warto również zauważyć, że podczas wstawiania lub dołączania dokumentu można zdefiniować ustawienia formatowania, aby określić sposób łączenia dwóch dokumentów.

Wspólne właściwości wstawiania i dołączania dokumentów

Zarówno InsertDocument, jak i AppendDocument metody akceptują ImportFormatMode i ImportFormatOptions jako parametry wejściowe. ImportFormatMode pozwala kontrolować sposób scalania formatowania dokumentu podczas importowania zawartości z jednego dokumentu do drugiego, wybierając różne tryby formatu, takie jak UseDestinationStyles, KeepSourceFormatting i KeepDifferentStyles. ImportFormatOptions pozwala wybrać różne opcje importu, takie jak IgnoreHeaderFooter, IgnoreTextBoxes, KeepSourceNumbering, MergePastedLists, i SmartStyleBehavior.

Aspose.Words umożliwia dostosowanie wizualizacji wynikowego dokumentu, gdy dwa dokumenty są dodawane razem w operacji wstawiania lub dołączania przy użyciu właściwości Section i PageSetup. Właściwość PageSetup zawiera wszystkie atrybuty sekcji, takie jak SectionStart, RestartPageNumbering, PageStartingNumber, Orientation, i inni Najczęstszym przypadkiem użycia jest ustawienie właściwości SectionStart, aby określić, czy dodana zawartość pojawi się na tej samej stronie, czy zostanie podzielona na nową.

Poniższy przykład kodu pokazuje, jak dołączyć jeden dokument do drugiego, jednocześnie zapobiegając dzieleniu zawartości na dwie strony: