Wstaw i dołącz dokumenty

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 wstawiania umożliwia wstawienie treści wcześniej utworzonych dokumentów do nowego lub istniejącego.

Z kolei funkcja dołączania pozwala na dodanie dokumentu dopiero na końcu innego dokumentu.

W tym artykule wyjaśniono, jak wstawić lub dołączyć dokument do innego 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 wstawienia jednego dokumentu do drugiego polega na skopiowaniu węzłów z pierwszego drzewa dokumentu do drugiego.

Dokumenty można wstawiać w różnych lokalizacjach na różne sposoby. Można na przykład wstawić dokument poprzez operację zamiany, pole scalania podczas operacji scalania lub poprzez zakładkę.

Możesz także użyć metody InsertDocument lub InsertDocumentInline, która jest podobna do wstawiania dokumentu w formacie 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ższy przykład kodu pokazuje, jak wstawić dokument przy użyciu metody InsertDocumentInline:

W poniższych podrozdziałach opisano możliwości wstawiania jednego dokumentu do drugiego.

Wstaw dokument podczas operacji Znajdź i zamień

Dokumenty można wstawiać podczas wykonywania operacji wyszukiwania i zamiany. Na przykład dokument może zawierać akapity z tekstem [WPROWADZENIE] i [WNIOSEK]. Jednak w dokumencie końcowym należy zastąpić te akapity treścią uzyskaną z innego dokumentu zewnętrznego. Aby to osiągnąć, musisz utworzyć procedurę obsługi zdarzenia zamiany.

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

Poniższy przykład kodu pokazuje, jak wstawić treść jednego dokumentu do drugiego podczas operacji Znajdź i zamień:

Włóż dokument 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ć treść uzyskaną z innego dokumentu zewnętrznego do tego pola scalania. Aby to osiągnąć, musisz utworzyć procedurę obsługi zdarzenia scalania.

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

Poniższy przykład kodu pokazuje, jak wstawić dokument do pola scalania przy użyciu utworzonej procedury obsługi:

Wstaw dokument w zakładce

Możesz zaimportować plik tekstowy do dokumentu i wstawić go zaraz za zakładką zdefiniowaną w dokumencie. Aby to zrobić, utwórz zakładkę akapitu, 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że się zdarzyć, że zajdzie potrzeba dołączenia dodatkowych stron z dokumentu na końcu 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:

Ręcznie importuj i wstaw węzły

Aspose.Words umożliwia automatyczne wstawianie i dołączanie dokumentów bez konieczności wcześniejszego importowania. Jeśli jednak chcesz wstawić lub dołączyć określony węzeł dokumentu, na przykład sekcję lub akapit, musisz najpierw ręcznie zaimportować ten węzeł.

Kiedy chcesz 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ł za/przed węzłem referencyjnym. Pozwala to dostosować proces wstawiania poprzez import węzłów z dokumentu i wstawianie ich 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ć treść na poziomie akapitu, a nie 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:

Treść jest importowana do dokumentu docelowego sekcja po sekcji, co oznacza, że ustawienia, takie jak ustawienia strony oraz nagłówki i stopki, zostaną zachowane podczas importu. Warto również pamiętać, ż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

Obie metody InsertDocument i AppendDocument akceptują ImportFormatMode i ImportFormatOptions jako parametry wejściowe. ImportFormatMode pozwala kontrolować sposób łączenia formatowania dokumentu podczas importowania treści z jednego dokumentu do drugiego, wybierając różne tryby formatu, takie jak UseDestinationStyles, KeepSourceFormatting i KeepDifferentStyles. Model ImportFormatOptions umożliwia wybór różnych opcji importu, takich jak IgnoreHeaderFooter, IgnoreTextBoxes, KeepSourceNumbering, MergePastedLists i SmartStyleBehavior.

Aspose.Words umożliwia dostosowanie wizualizacji dokumentu wynikowego po dodaniu dwóch dokumentów podczas 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 inne. Najczęstszym przypadkiem użycia jest ustawienie właściwości SectionStart w celu określenia, czy dodana treść 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 podziałowi treści na dwie strony: