Thay thế các trường bằng văn bản tĩnh

Việc 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. Việc 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ó không còn thay đổi giá trị động khi các trường trong tài liệu được cập nhật.

Sơ đồ bên dưới cho thấy cách trường IF được lưu trữ trong tài liệu:

  • văn bản được bao quanh bởi các nút trường đặc biệt – FieldStartFieldEnd
  • 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 được xem

update-remove-a-field-aspose-words

Cấu trúc cũng có thể được nhìn thấy bên dưới ở dạng phân cấp bằng cách sử dụng dự án demo “DocumentExplorer”.

update-remove-a-field-aspose-words-2

Các trường không thể thay thế bằng văn bản

Việc thay thế một trường bằng văn bản tĩnh không hoạt động bình thường đối với một số trường ở đầu trang hoặc chân trang.

Ví dụ: cố gắng chuyển đổi trường PAGE ở đầu trang 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 đầu trang 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 sẽ được xử lý đặc biệt để hiển thị kết quả chính xác cho mỗi trang.

Tuy nhiên, trong tiêu đề, trường PAGE chuyển đổi tốt sang dạng văn bản tĩnh. Dòng văn bản này sẽ được đánh giá như thể nó là trang cuối cùng trong phần này, đ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 một số 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à bảng liệt kê FieldType, nên có thể chuyển bất kỳ nút tổng hợp nào sang 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 đố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 đố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 nội dung đó.

Bảng 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 thuộc loại cụ thể – targetFieldType trong một nút cụ thể – compositeNode và sau đó chuyển đổi chúng thành văn bản tĩnh:

Ví dụ mã sau đây cho biết 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ụ về mã sau đây cho biết cách chuyển đổi tất cả các trường PAGE trong Nội dung 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: