Làm việc với Enum

Làm việc với Enum

Aspose.PDF FOSS cho .NET sử dụng các enum có kiểu mạnh trên toàn bộ API của nó để cấu hình hành vi tài liệu, giao diện trang và các định dạng chuyển đổi. Thay vì các chuỗi ma thuật hoặc số nguyên, hầu hết các bề mặt cấu hình — từ cách một trình xem PDF mở tệp đến định dạng mà một Document được lưu dưới dạng — được biểu diễn dưới dạng giá trị enum. Trang này giới thiệu các kiểu enum mà bạn sẽ gặp thường xuyên nhất khi làm việc với thư viện. Đây là một giới thiệu được tuyển chọn, không phải là một danh mục đầy đủ; để xem danh sách đầy đủ các kiểu enum và mọi giá trị thành viên, hãy xem API Reference.


Hiển thị và Bố cục Trang

PageMode và PageLayout là các thuộc tính trên Document kiểm soát cách trình xem PDF trình bày tài liệu khi nó được mở lần đầu — liệu nó hiển thị dàn mục, hình thu nhỏ, hay một bố cục cột nhất định.

using var doc = Document.Open("input.pdf");

// Show the outline (bookmarks) panel when the document opens
doc.PageMode = PageMode.UseOutlines;

// Display pages in two columns, first page on the left
doc.PageLayout = PageLayout.TwoColumnLeft;

doc.Save("output.pdf");

Mô hình màu trang

ColorType mô tả mô hình màu của một trang — RGB, CMYK, thang xám, v.v. Nó được hiển thị trên cả Page và Color, cho phép bạn phân nhánh logic dựa trên cách nội dung trên một trang thực sự được render.

using var doc = Document.Open("input.pdf");
var page = doc.Pages[1];

if (page.ColorType == ColorType.Grayscale)
{
    // Apply grayscale-specific handling, e.g. skip color-profile conversion
}

Alignment

Một số lớp cung cấp HorizontalAlignment và VerticalAlignment để định vị nội dung trên trang, trong khi các lớp chú thích thêm TextAlignment và Justification để căn chỉnh văn bản cụ thể bên trong một hộp. Table, chẳng hạn, cung cấp cả hai trục căn chỉnh một cách trực tiếp.

var table = new Table();
table.HorizontalAlignment = HorizontalAlignment.Center;
table.VerticalAlignment = VerticalAlignment.Center;

page.Paragraphs.Add(table);

FreeTextAnnotation (và kiểu cơ sở Annotation) cũng cung cấp Justification và TextAlignment cho văn bản bên trong chú thích:

if (page.Annotations[1] is FreeTextAnnotation freeText)
{
    freeText.Justification = Justification.Center;
    freeText.Alignment = TextAlignment.Right;
}

Định dạng tải và lưu

LoadFormat xác định định dạng nguồn đằng sau một lớp con LoadOptions (ví dụ, HtmlLoadOptions.LoadFormat luôn luôn là LoadFormat.HTML), trong khi SaveFormat chọn định dạng đầu ra khi gọi Document.Save.

var loadOptions = new HtmlLoadOptions();
// loadOptions.LoadFormat == LoadFormat.HTML
using var doc = new Document("input.html", loadOptions);

doc.Save("output.html", SaveFormat.Html);

Xoay trang

Rotation mô tả góc xoay của một trang và được cung cấp thông qua Page.Rotate.

var page = doc.Pages[1];
page.Rotate = Rotation.on90;

Mẹo và Thực tiễn tốt nhất

  • Ưu tiên các overload enum hơn các overload dựa trên chuỗi hoặc int khi cả hai tồn tại — chúng sẽ phát hiện giá trị không hợp lệ tại thời gian biên dịch.
  • Khớp SaveFormat với phần mở rộng tệp mà bạn truyền cho Document.Save; sự không khớp sẽ tạo ra một tệp có nội dung gây hiểu lầm hoặc phần mở rộng không sử dụng được.
  • Sử dụng lớp con LoadOptions tương ứng với định dạng nguồn của bạn (ví dụ HtmlLoadOptions cho HTML) thay vì chỉ dựa vào việc tự động phát hiện định dạng.
  • Thiết lập đồng thời cả HorizontalAlignment và VerticalAlignment khi định vị bảng hoặc đoạn văn — để một trong số chúng ở giá trị mặc định có thể gây ra vị trí không mong muốn.
  • Xem ColorType như mô tả, không phải quy định: nó báo cáo cách nội dung màu của trang hiện đang được mô hình hoá, không phải là một cài đặt bạn bật/tắt để chuyển đổi không gian màu.

Các vấn đề thường gặp

Vấn đềNguyên nhânKhắc phục
Tệp đã lưu có nội dung không khớp với phần mở rộng của nóGiá trị SaveFormat sai được truyền vào Document.SaveTruyền giá trị SaveFormat phù hợp với phần mở rộng tệp mục tiêu
Nội dung HTML/XML/etc. đã tải hiển thị không đúngĐã sử dụng LoadOptions chung thay vì lớp con đặc thù cho định dạngSử dụng lớp con phù hợp với định dạng nguồn, ví dụ: HtmlLoadOptions
Bảng hoặc chú thích xuất hiện lệch trên trangHorizontalAlignment/VerticalAlignment để ở giá trị mặc địnhCài đặt rõ ràng cả hai thuộc tính trước khi thêm đối tượng vào Paragraphs
PDF mở với hành vi trình xem không mong đợi (không có bảng điều khiển đề mục, bố cục cột sai)Document.PageMode/Document.PageLayout không bao giờ được đặtĐặt cả hai thuộc tính trước khi gọi Document.Save

FAQ

Sự khác biệt giữa PageMode và PageLayout là gì?

PageMode kiểm soát trạng thái giao diện người dùng của trình xem khi mở (ví dụ, liệu bảng phác thảo hoặc bảng hình thu nhỏ có hiển thị hay không), trong khi PageLayout kiểm soát cách sắp xếp các trang (trang đơn, một cột, hai cột, v.v.).

Làm sao tôi biết giá trị SaveFormat nào cần sử dụng?

Chọn giá trị SaveFormat phù hợp với loại tệp đầu ra bạn muốn — ví dụ, SaveFormat.Html cho đầu ra HTML hoặc SaveFormat.Pdf để lưu lại dưới dạng PDF.

Tôi có thể đặt cả HorizontalAlignment và VerticalAlignment trên cùng một đối tượng không?

Có. Các lớp như Table cung cấp cả hai thuộc tính một cách độc lập, vì vậy bạn có thể kết hợp chúng để định vị nội dung trên bất kỳ trục nào.

Liệu ColorType cho phép tôi chuyển đổi không gian màu của một trang không?

Không. ColorType báo cáo mô hình màu hiện đang được liên kết với một trang hoặc giá trị màu; nó không thực hiện việc chuyển đổi.

Tôi có thể tìm thấy mọi enum và mọi giá trị ở đâu?

Trang này đề cập đến các enum được sử dụng phổ biến nhất. Đối với bộ đầy đủ, bao gồm mọi giá trị thành viên, xem API Reference.


API Reference Tóm tắt

EnumMô tả
PageModeCách trình xem PDF hiển thị tài liệu khi mở (đề mục, hình thu nhỏ, toàn màn hình, v.v.)
PageLayoutBố cục trang được sử dụng khi tài liệu được hiển thị (trang đơn, cột, v.v.)
ColorTypeMô hình màu của một trang hoặc giá trị màu (RGB, CMYK, thang xám, v.v.)
HorizontalAlignmentCăn chỉnh ngang của các đoạn văn, bảng hoặc chú thích
VerticalAlignmentCăn chỉnh dọc của các đoạn văn, bảng hoặc chú thích
TextAlignmentCăn chỉnh ngang cho các hộp văn bản chú thích
JustificationCăn đều nội dung của chú thích văn bản tự do
LoadFormatBộ chọn định dạng nguồn được sử dụng bởi các lớp con LoadOptions
SaveFormatBộ chọn định dạng đầu ra được sử dụng bởi Document.Save
RotationGóc xoay trang, được cung cấp qua Page.Rotate

Xem thêm

 Tiếng Việt