Chèn và Thêm Tài liệu
Đôi khi cần kết hợp vài tài liệu thành một. Bạn có thể thực hiện việc này một cách thủ công hoặc bạn có thể sử dụng tính năng Aspose.Words chèn hoặc nối đuôi.
Hành động chèn cho phép bạn chèn nội dung của các tài liệu trước đó đã được tạo vào một tài liệu mới hoặc hiện có.
Trong khi đó, tính năng thêm vào cho phép bạn thêm một tài liệu chỉ ở cuối của một tài liệu khác.
Bài viết này giải thích cách chèn hoặc nối một tài liệu vào tài liệu khác theo nhiều cách và mô tả các thuộc tính thông dụng mà bạn có thể áp dụng khi chèn hoặc nối các tài liệu.
Chèn Tài liệu
Như đã đề cập ở trên, trong Aspose.Words một tài liệu được đại diện dưới dạng cây của các nút, và hoạt động chèn một tài liệu vào một tài liệu khác là sao chép các nút từ cây tài liệu đầu tiên sang cái thứ hai.
Bạn có thể chèn tài liệu ở nhiều vị trí khác nhau theo các cách khác nhau. Ví dụ, bạn có thể chèn một tài liệu thông qua một thao tác thay thế, một trường kết hợp trong một thao tác kết hợp hoặc qua một dấu hiệu sách.
Bạn cũng có thể dùng phương pháp InsertDocument hoặc InsertDocumentInline tương tự như chèn một tài liệu vào Microsoft Word để chèn toàn bộ tài liệu tại vị trí con trỏ hiện tại mà không cần nhập trước.
Mã ví dụ sau cho thấy cách chèn một tài liệu bằng phương pháp InsertDocument:
Ví dụ về mã sau cho thấy cách chèn một tài liệu bằng phương pháp InsertDocumentInline:
Các tiểu mục sau mô tả các lựa chọn mà bạn có thể chèn một tài liệu vào tài liệu khác.
Chèn tài liệu trong quá trình Tìm và Thay thế
Bạn có thể chèn tài liệu trong khi thực hiện các thao tác tìm và thay thế. Ví dụ, một tài liệu có thể chứa các đoạn văn với văn bản “[MỞ ĐẦU]” và “[KẾT THÚC]. Nhưng trong bản tài liệu cuối cùng, bạn cần thay thế những đoạn văn đó bằng nội dung được lấy từ một tài liệu bên ngoài khác. Để đạt được điều đó, bạn sẽ cần phải tạo một người xử lý cho sự kiện thay thế.
Ví dụ về mã sau cho thấy cách tạo một trình xử lý cho sự kiện thay thế để sử dụng nó sau trong quá trình chèn:
Ví dụ mã sau cho thấy cách chèn nội dung của một tài liệu vào tài liệu khác trong quá trình tìm và thay thế:
Chèn tài liệu trong quá trình Mail Merge hoạt động
Bạn có thể chèn một tài liệu vào trường hợp kết hợp trong một mail merge hoạt động. Ví dụ một mẫu mail merge có thể chứa một trường kết hợp như [Tóm tắt]. Nhưng trong tài liệu cuối cùng, bạn cần chèn nội dung được lấy từ một tài liệu bên ngoài khác vào trường kết hợp này. Để đạt được điều đó, bạn cần tạo một xử lý cho sự kiện hợp nhất.
Ví dụ mã sau cho thấy cách tạo một trình xử lý cho sự kiện hợp nhất để sử dụng nó sau trong quá trình chèn”:
Mẫu mã sau cho thấy cách chèn một tài liệu vào trường kết hợp bằng cách sử dụng bộ xử lý được tạo ra:
Nhập tài liệu tại đánh dấu
Bạn có thể nhập một tập tin văn bản vào một tài liệu và chèn nó ngay sau một dấu trang mà bạn đã xác định trong tài liệu đó. Để làm điều này, hãy tạo một đoạn văn được đánh dấu nơi bạn muốn tài liệu được chèn vào.
Mã ví dụ dưới đây cho thấy cách chèn nội dung của một tài liệu vào dấu đánh chỉ trang trong một tài liệu khác:
Thêm một tài liệu
Bạn có thể có trường hợp sử dụng trong đó bạn cần bao gồm thêm các trang từ một tài liệu đến cuối một tài liệu hiện có. Để làm điều này, bạn chỉ cần gọi phương thức AppendDocument để thêm một tài liệu vào cuối của một tài liệu khác.
Mã ví dụ sau cho thấy cách kết nối một tài liệu vào cuối một tài liệu khác:
Nhập và chèn nút thủ công
Aspose.Words cho phép bạn chèn và đính kèm các tài liệu tự động mà không cần bất kỳ yêu cầu nhập trước nào. Tuy nhiên, nếu bạn cần chèn hoặc nối tiếp một nút cụ thể trong tài liệu của mình, chẳng hạn như một phần hoặc một đoạn, sau đó trước tiên bạn cần nhập nút này theo cách thủ công.
Khi bạn cần chèn hoặc nối thêm một phần đoạn hoặc câu vào một phần khác, bản thân bạn cần nhập các nút của cây nút tài liệu đầu tiên vào thứ hai bằng phương pháp ImportNode. Sau khi nhập các node của bạn, bạn cần phải dùng phương thức InsertAfter để chèn một node mới sau/trước node tham chiếu. Điều này cho phép bạn tùy chỉnh quá trình chèn bằng cách nhập các node từ một tài liệu và chèn nó ở vị trí được chỉ định.
Bạn cũng có thể sử dụng phương pháp AppendChild để thêm một nút mới được chỉ định vào cuối danh sách các nút con, ví dụ, nếu bạn muốn nối tiếp nội dung ở mức đoạn văn thay vì ở mức mục nhập.
Mã ví dụ sau cho thấy cách nhập thủ công các nút và chèn chúng sau một nút cụ thể sử dụng phương pháp InsertAfter:
Nội dung được nhập vào phần tài liệu đích từng phần, có nghĩa là các cài đặt như bố cục trang và tiêu đề hoặc chân trang, vẫn được giữ lại trong quá trình nhập. Bạn cũng có thể ghi chú rằng bạn có thể định nghĩa các cài đặt định dạng khi chèn hoặc thêm một tài liệu để chỉ định cách hai tài liệu được kết nối với nhau.
Thuộc tính chung cho việc chèn và thêm tài liệu
Cả InsertDocument và AppendDocument phương pháp đều chấp nhận ImportFormatMode và ImportFormatOptions làm tham số đầu vào. Cụm từ ImportFormatMode cho phép bạn kiểm soát cách định dạng tài liệu được kết hợp khi bạn nhập nội dung từ một tài liệu vào tài liệu khác bằng cách chọn các chế độ định dạng khác nhau như UseDestinationStyles, KeepSourceFormatting và KeepDifferentStyles. The ImportFormatOptions cho phép bạn chọn các tùy chọn nhập khác nhau như IgnoreHeaderFooter, IgnoreTextBoxes, KeepSourceNumbering, MergePastedLists và SmartStyleBehavior.
Aspose.Words cho phép bạn điều chỉnh hình thức hiển thị của một tài liệu kết quả khi hai tài liệu được cộng lại trong một hoạt động chèn hoặc nối thêm bằng cách sử dụng các thuộc tính Section và PageSetup. Cái thuộc tính PageSetup chứa tất cả các đặc điểm của một phần như SectionStart, RestartPageNumbering, PageStartingNumber, Orientation và những cái khác. Trường hợp phổ biến nhất là đặt thuộc tính SectionStart để xác định nội dung được thêm vào sẽ hiển thị trên cùng một trang hay chia tách thành một trang mới.
Ví dụ mã sau cho thấy cách nối một tài liệu với một tài liệu khác trong khi giữ nội dung không bị chia trên hai trang: