Thay Thế Các Trường Bằng Văn Bản Tĩnh
Thay thế các trường thường được yêu cầu khi bạn muốn lưu tài liệu của mình dưới dạng bản sao tĩnh. Ví dụ: khi gửi dưới dạng tệp đính kèm trong e-mail. Chuyển đổi các trường như DATE
hoặc TIME
thành văn bản tĩnh sẽ cho phép tài liệu hiển thị cùng ngày với ngày được gửi. Ngoài ra, trong một số trường hợp, bạn có thể cần xóa các trường IF
có điều kiện khỏi tài liệu của mình và thay thế chúng bằng kết quả văn bản gần đây nhất. Ví dụ: chuyển đổi kết quả của trường IF
thành văn bản tĩnh để nó sẽ không còn tự động thay đổi giá trị của nó khi các trường trong tài liệu được cập nhật.
Sơ đồ dưới đây cho thấy trường IF
được lưu trữ trong tài liệu như thế nào:
- văn bản được bao quanh bởi các nút trường đặc biệt – FieldStart và FieldEnd
- nút FieldSeparator phân tách văn bản trong trường thành mã trường và kết quả trường
- mã trường xác định hành vi chung của trường, trong khi kết quả trường giữ lại kết quả gần đây nhất khi trường này được cập nhật bằng Microsoft Word hoặc Aspose.Words
- kết quả trường là những gì được lưu trữ trong trường và hiển thị trong tài liệu khi xem
Cấu trúc cũng có thể được nhìn thấy dưới đây ở dạng phân cấp bằng cách sử dụng dự án demo “DocumentExplorer”.
Các trường Không Thể Thay Thế Bằng Văn Bản
Thay thế một trường bằng văn bản tĩnh không hoạt động đúng đối với một số trường trong tiêu đề hoặc chân trang.
Ví dụ: cố gắng chuyển đổi trường PAGE
trong tiêu đề hoặc chân trang thành văn bản tĩnh sẽ dẫn đến cùng một giá trị được hiển thị trên tất cả các trang. Điều này là do các tiêu đề và chân trang được lặp lại trên nhiều trang và khi chúng vẫn ở dạng trường, chúng được xử lý đặc biệt để chúng hiển thị kết quả chính xác cho mỗi trang.
Tuy nhiên, trong tiêu đề, trường PAGE
dịch tốt sang chạy văn bản tĩnh. Việc chạy văn bản này sẽ được đánh giá như thể nó là trang cuối cùng trong phần, điều này sẽ khiến bất kỳ trường PAGE
nào trong tiêu đề hiển thị trang cuối cùng trên tất cả các trang.
Ví dụ mã sau đây cho thấy cách thay thế trường bằng kết quả gần đây nhất của nó:
Chuyển Đổi Các Loại Trường nhất định Trong Các Phần Tài liệu Cụ thể
Vì phương thức ConvertFieldsToStaticText chấp nhận hai tham số – thuộc tính CompositeNode và liệt kê FieldType, nên có thể chuyển bất kỳ nút tổng hợp nào cho phương thức này. Điều này cho phép các trường chỉ được chuyển đổi thành văn bản tĩnh trong các phần cụ thể của tài liệu.
Ví dụ: bạn có thể chuyển một đối tượng Document và chuyển đổi các trường thuộc loại được chỉ định từ toàn bộ tài liệu sang văn bản tĩnh hoặc bạn có thể chuyển một đối tượng Body của một phần và chỉ chuyển đổi các trường được tìm thấy trong phần nội dung đó.
Phép liệt kê FieldType được truyền cho phương thức ConvertFieldsToStaticText chỉ định loại trường nào sẽ được chuyển đổi thành văn bản tĩnh. Bất kỳ loại trường nào khác được tìm thấy trong tài liệu sẽ không thay đổi.
Ví dụ mã sau đây cho thấy cách chọn các trường có kiểu cụ thể – targetFieldType trong một nút cụ thể – compositeNode rồi chuyển đổi chúng thành văn bản tĩnh:
Ví dụ mã sau đây cho thấy cách chuyển đổi tất cả các trường IF
trong tài liệu thành văn bản tĩnh:
Ví dụ mã sau đây cho thấy cách chuyển đổi tất cả các trường PAGE
trong Phần Nội dung của tài liệu thành văn bản tĩnh:
Ví dụ mã sau đây cho thấy cách chuyển đổi tất cả các trường IF
trong đoạn cuối thành văn bản tĩnh: