Làm việc với các phần
Đôi khi bạn muốn một tài liệu không có cùng định dạng trên tất cả các trang. Ví dụ: bạn có thể cần sửa đổi định dạng số trang, có kích thước và hướng trang khác nhau hoặc lấy trang tài liệu đầu tiên làm trang bìa mà không đánh số. Bạn có thể đạt được điều đó với các phần.
Phần là các nút cấp độ kiểm soát đầu trang và chân trang, hướng, cột, lề, định dạng số trang và các thứ khác.
Aspose.Words cho phép bạn quản lý các phần, chia tài liệu thành các phần và thực hiện các thay đổi định dạng chỉ áp dụng cho một phần cụ thể. Aspose.Words lưu trữ thông tin về định dạng phần như đầu trang và chân trang, thiết lập trang và cài đặt cột trong phần ngắt.
Bài viết này giải thích cách làm việc với các phần và dấu ngắt phần.
Phần và ngắt phần là gì
Các phần tài liệu được đại diện bởi các lớp Section và SectionCollection. Các đối tượng phần là con trực tiếp của nút Document và có thể được truy cập thông qua thuộc tính Sections. Bạn có thể quản lý các nút đó bằng cách sử dụng một số phương pháp như Remove, Add, IndexOf và các phương thức khác.
Ngắt phần là tùy chọn chia trang tài liệu thành các phần có bố cục có thể tùy chỉnh.
Các loại ngắt phần
Aspose.Words cho phép bạn phân chia và định dạng tài liệu bằng cách sử dụng các ngắt phần khác nhau của bảng liệt kê BreakType:
- Phần BreakLiên tục
- Phần BreakNewColumn
- Mục BreakNewPage
- Phần BreakEvenPage
- Phần BreakOddPage
Bạn cũng có thể sử dụng bảng liệt kê SectionStart để chọn kiểu ngắt chỉ áp dụng cho phần đầu tiên, chẳng hạn như NewColumn, NewPage, EvenPage và OddPage.
Quản lý một phần
Vì một phần là một nút tổng hợp thông thường nên toàn bộ thao tác nút API có thể được sử dụng để thao tác các phần: thêm, xóa và các thao tác khác trên các phần. Bạn có thể đọc thêm về các nút trong bài viết Aspose.Words Document Object Model (DOM).
Mặt khác, bạn cũng có thể sử dụng DocumentBuilder
API để làm việc với các phần. Trong bài viết này, chúng ta sẽ tập trung vào cách làm việc cụ thể với các phần này.
Chèn hoặc loại bỏ dấu ngắt phần
Aspose.Words cho phép bạn chèn dấu ngắt phần vào văn bản bằng phương pháp InsertBreak.
Ví dụ mã sau đây cho biết cách chèn dấu ngắt phần vào tài liệu:
Sử dụng phương pháp Remove để xóa dấu ngắt phần. Nếu bạn không cần xóa dấu ngắt phần cụ thể mà thay vào đó xóa nội dung của phần đó, bạn có thể sử dụng phương pháp ClearContent.
Ví dụ mã sau đây cho thấy cách loại bỏ dấu ngắt phần:
Di chuyển một phần
Nếu bạn muốn di chuyển một phần từ vị trí này sang vị trí khác trong tài liệu của mình, bạn cần lấy chỉ mục của phần đó. Aspose.Words cho phép bạn lấy vị trí phần từ SectionCollection bằng cách sử dụng thuộc tính Item. Bạn có thể sử dụng thuộc tính Sections để lấy tất cả các phần trong tài liệu của mình. Nhưng nếu bạn chỉ muốn lấy phần đầu tiên, bạn có thể sử dụng thuộc tính FirstSection.
Ví dụ mã sau đây cho thấy cách truy cập phần đầu tiên và lặp qua các nút con của nút tổng hợp:
Chỉ định bố cục phần
Đôi khi bạn muốn tài liệu của mình trông đẹp hơn bằng cách tạo bố cục sáng tạo cho các phần tài liệu khác nhau. Nếu bạn muốn chỉ định loại lưới phần hiện tại, bạn có thể chọn chế độ bố cục phần bằng cách sử dụng bảng liệt kê SectionLayoutMode:
- Mặc định
- Lưới
- LineGrid
- SnapToChars
Ví dụ mã sau đây cho thấy cách giới hạn số dòng mà mỗi trang có thể có:
Chỉnh sửa một phần
Khi bạn thêm một phần mới vào tài liệu của mình, bạn sẽ không thể chỉnh sửa nội dung hoặc đoạn văn. Aspose.Words cho phép bạn đảm bảo rằng một phần chứa nội dung có ít nhất một đoạn văn bằng phương pháp EnsureMinimum - nó sẽ tự động thêm nút Nội dung (hoặc HeaderFooter) vào tài liệu và sau đó thêm Đoạn văn vào đó.
Ví dụ về mã sau đây cho thấy cách chuẩn bị nút phần mới bằng EnsureMinimum:
Nối thêm hoặc thêm vào trước nội dung
Nếu bạn muốn vẽ một số hình dạng hoặc thêm văn bản hoặc hình ảnh vào đầu/cuối một phần, bạn có thể sử dụng các phương thức AppendContent và PrependContent của lớp Section.
Ví dụ mã sau đây cho thấy cách nối thêm nội dung của một phần hiện có:
Sao chép một phần
Aspose.Words cho phép bạn sao chép một phần bằng cách tạo bản sao đầy đủ của phần đó bằng phương pháp Clone.
Ví dụ về mã sau đây cho biết cách sao chép phần đầu tiên trong tài liệu của bạn:
Sao chép các phần giữa các tài liệu
Trong một số trường hợp, bạn có thể có những tài liệu lớn có nhiều phần và bạn muốn sao chép nội dung của một phần từ tài liệu này sang tài liệu khác.
Aspose.Words cho phép bạn sao chép các phần giữa các tài liệu bằng phương pháp ImportNode.
Ví dụ mã sau đây cho thấy cách sao chép các phần giữa các tài liệu:
Làm việc với phần Header và Footer
Các quy tắc cơ bản để hiển thị đầu trang hoặc chân trang cho mỗi phần khá đơn giản:
- Nếu phần này không có đầu trang/chân trang riêng thuộc một loại nhất định thì phần đó được lấy từ phần trước.
- Loại đầu trang/chân trang hiển thị trên trang được kiểm soát bởi cài đặt phần “Trang đầu tiên khác nhau” và “Trang chẵn & lẻ khác nhau” – nếu chúng bị tắt thì tiêu đề của chính phần đó sẽ bị bỏ qua.
Ví dụ mã sau đây cho thấy cách tạo 2 phần có tiêu đề khác nhau:
Nếu bạn muốn xóa văn bản đầu trang và chân trang mà không xóa đối tượng HeaderFooter trong tài liệu của mình, bạn có thể sử dụng phương pháp ClearHeadersFooters. Ngoài ra, bạn có thể sử dụng phương pháp DeleteHeaderFooterShapes để xóa tất cả các hình dạng khỏi đầu trang và chân trang trong tài liệu của mình.
Ví dụ về mã sau đây cho biết cách xóa nội dung của tất cả đầu trang và chân trang trong một phần:
Ví dụ về mã sau đây về cách xóa tất cả các hình dạng khỏi tất cả chân trang đầu trang trong một phần:
Tùy chỉnh thuộc tính trang trong một phần
Trước khi in một trang hoặc một tài liệu, bạn có thể muốn tùy chỉnh và sửa đổi kích thước cũng như bố cục của một trang hoặc toàn bộ tài liệu. Với thiết lập trang, bạn có thể thay đổi cài đặt của các trang tài liệu như lề, hướng và kích thước để in các trang đầu tiên hoặc trang lẻ khác nhau.
Aspose.Words cho phép bạn tùy chỉnh các thuộc tính trang và phần bằng lớp PageSetup.
Ví dụ về mã sau đây cho biết cách đặt các thuộc tính như kích thước trang và hướng cho phần hiện tại:
Ví dụ mã sau đây cho thấy cách sửa đổi thuộc tính trang trong tất cả các phần: