Làm việc với các canvas bên trong XPS
Cắt (clip) và chuyển đổi (transform) các canvas trong tệp XPS bằng API C++
Trong các tệp XPS, canvas là một vùng hình chữ nhật trên trang nơi nội dung trực quan, chẳng hạn như văn bản, hình ảnh và hình dạng, có thể được vẽ. Nó hoạt động như một vùng chứa cho các phần tử này và cung cấp một khung để sắp xếp và xếp lớp (layering) chúng. Các canvas có thể được tái sử dụng ở các phần khác nhau của tài liệu hoặc thậm chí trong nhiều tài liệu, cung cấp một cách linh hoạt để cấu trúc và tổ chức nội dung trong tài liệu XPS. Các đặc điểm chính của canvas trong tệp XPS:
- Các canvas có thể được lồng (nested) trong các canvas khác, tạo ra cấu trúc phân cấp cho phép bố cục (layouts) phức tạp và nhóm các phần tử.
- Các canvas có thể được chuyển đổi (transform) bằng cách sử dụng các thao tác khác nhau, chẳng hạn như dịch chuyển (translation), xoay (rotation) và chia tỷ lệ (scaling). Điều này cho phép định vị linh hoạt và thay đổi kích thước nội dung.
- Các canvas có thể được cắt (clip) vào các vùng cụ thể, giới hạn vùng hiển thị của nội dung của chúng. Điều này hữu ích để tạo ra các hình dạng và hiệu ứng phức tạp.
- Canvas có thể chứa các phần tử trực quan khác nhau, bao gồm các đoạn văn bản (text runs), đoạn văn (paragraphs) và hộp văn bản (text boxes). Chúng cũng có thể chứa hình ảnh, hình dạng hình học và các canvas khác.
Quản lý các canvas trong tài liệu là một trong những tính năng do Aspose.Page cho C++ cung cấp. Giải pháp này hoạt động với các ngôn ngữ mô tả trang khác nhau, đặc biệt là XPS.
Để chuyển đổi (transform) các canvas của tệp XPS, hãy làm theo hướng dẫn bên dưới:
- Tạo tệp XPS bằng lớp XpsDocument.
- Tạo canvas chính, chung cho tất cả các phần tử trang, bằng phương thức AddCanvas().
- Tạo độ lệch trái và trên trong canvas chính bằng phương thức CreateMatrix().
- Tạo hình học đường dẫn hình chữ nhật (rectangle path geometry) bằng phương thức CreatePathGeometry().
- Tạo phần điền (fill) cho các hình chữ nhật bằng lớp XpsBrush.
- Để tạo hình chữ nhật trong canvas 2 và điền vào đó, hãy sử dụng lớp XpsPath.
- Để dịch canvas 3 để định vị hình chữ nhật mới bên dưới hình chữ nhật trước, hãy sử dụng phương thức CreateMatrix().
- Để dịch canvas này sang bên phải của trang, hãy sử dụng phương thức Translate().
- Để chia tỷ lệ (scale) canvas 4, hãy gọi phương thức Scale().
- Để xoay canvas 5 quanh một điểm 45 độ; phương thức RotateAround() rất hữu ích.
- Lưu tài liệu XPS đã thay đổi bằng phương thức XpsDocument.Save().
Chuyển đổi canvas (canvas transformation)
Để cắt (clip) các canvas của tệp XPS, hãy làm theo hướng dẫn bên dưới:
- Tạo hoặc mở tệp XPS bằng lớp XpsDocument.
- Tạo canvas chính, chung cho tất cả các phần tử trang, bằng phương thức AddCanvas().
- Tạo độ lệch trái và trên trong canvas chính bằng phương thức CreateMatrix().
- Tạo hình học đường dẫn hình chữ nhật bằng phương thức CreatePathGeometry().
- Tạo phần điền cho các hình chữ nhật bằng lớp XpsBrush.
- Để thêm một canvas khác có clip vào canvas chính, hãy gọi lại phương thức AddCanvas().
- Tạo hình học hình tròn cho clip bằng lớp XpsPathGeometry.
- Để tạo hình chữ nhật trong canvas này và điền vào đó, hãy sử dụng lớp XpsPath.
- Thêm một canvas khác bằng phương thức AddCanvas(), sau đó tạo hình chữ nhật trong canvas này và tô viền (stroke) bằng lớp XpsPathGeometry.
- Lưu tài liệu XPS đã thay đổi bằng phương thức XpsDocument.Save().
Cắt canvas (canvas clipping)
XPS Những gì là XPS Tập Tin Định Dạng
XPS (XML Paper Specification) là định dạng thay thế PDF của Microsoft, dựa trên XML/HTML, giữ nguyên bố cục trên mọi nền tảng và không phụ thuộc vào hệ điều hành.