עבודה עם Enums

עבודה עם Enums

Aspose.PDF קוד פתוח חופשי עבור .NET משתמש באינומים עם טיפוס חזק לאורך כל ה-API שלו כדי להגדיר את התנהגות המסמך, מראה העמוד, ופורמטים של המרה. במקום מחרוזות קסם או מספרים שלמים, רוב ממשקי ההגדרה — מהאופן שבו מציג PDF פותח קובץ ועד לאיזה פורמט הוא Document נשמר כ— מתבטאות כערכי אינום. דף זה מציג את סוגי האינום שתפגשו בהם בתדירות גבוהה בעת העבודה עם הספרייה. זוהי הצגה מסודרת, לא קטלוג מקיף; עבור הרשימה המלאה של סוגי האינום וכל ערך של חבר, ראו את API Reference.


תצוגת דף ופריסה

PageMode ו-PageLayout הן מאפיינים ב-Document ששולטים איך מציג מציג PDF את המסמך כאשר הוא נפתח לראשונה — האם הוא מציג מתארים, תמונות ממוזערות, או פריסת עמודות ספציפית.

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");

מודל צבע של דף

ColorType מתאר את מודל הצבע של דף — RGB, CMYK, גווני אפור, וכדומה. הוא נחשף גם ב-Page וגם ב-Color, מה שמאפשר לך לסנכרן לוגיקה בהתאם לאופן שבו תוכן בדף מוצג בפועל.

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

מספר מחלקות חושפות את HorizontalAlignment ואת VerticalAlignment למיקום תוכן בעמוד, בעוד שמחלקות ההערה מוסיפות את TextAlignment ו-Justification ליישור טקסט ספציפי בתוך תיבה. Table, לדוגמה, חושפת את שני צירי היישור ישירות.

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

page.Paragraphs.Add(table);

FreeTextAnnotation (והסוג הבסיסי Annotation) גם חושף את Justification ו-TextAlignment לטקסט שבתוך ההערה:

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

פורמטים לטעינה ושמירה

LoadFormat מזהה את פורמט המקור מאחורי תת-מחלקה של LoadOptions (למשל, HtmlLoadOptions.LoadFormat הוא תמיד LoadFormat.HTML), בעוד SaveFormat בוחר את פורמט הפלט בעת קריאה ל-Document.Save.

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

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

סיבוב עמוד

Rotation מתאר את זווית הסיבוב של העמוד ומוצג דרך Page.Rotate.

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

טיפים ושיטות מומלצות

  • העדיפו עומסים של enum על פני עומסים מבוססי מחרוזת או int כששניהם קיימים — הם תופסים ערכים לא חוקיים בזמן הקומפילציה.
  • התאם את SaveFormat להרחבת הקובץ שאתה מעביר ל-Document.Save; חוסר התאמה גורם לקובץ עם תוכן מטעה או להרחבה שאינה ניתנת לשימוש.
  • השתמש בתת-מחלקה LoadOptions המתאימה לפורמט המקור שלך (למשל HtmlLoadOptions עבור HTML) במקום להסתמך רק על זיהוי אוטומטי של הפורמט.
  • הגדר את שני HorizontalAlignment ו-VerticalAlignment יחד כאשר ממקמים טבלאות או פסקאות — השארת אחד מהם בברירת המחדל עלולה לגרום למיקום בלתי צפוי.
  • התייחס ל-ColorType כתיאור, לא כהוראה: הוא מדווח כיצד תוכן הצבע של דף מודל באופן נוכחי, ולא כהגדרה שאתה משנה כדי להמיר מרחבי צבע.

בעיות נפוצות

בעיהסיבהתיקון
קובץ שנשמר מכיל תוכן שגוי עבור ההרחבה שלוערך SaveFormat שגוי נמסר ל-Document.Saveהזינו את ערך ה-SaveFormat המתאים להרחבת הקובץ היעד
הקובץ HTML/XML/etc. שנטען מוצג בצורה שגויהנעשה שימוש ב-LoadOptions גנרי במקום תת-מחלקה ספציפית לפורמטהשתמש בתת-מחלקה המתאימה לפורמט המקור, לדוגמה HtmlLoadOptions
טבלה או הערה מופיעים לא מיושרים בעמודHorizontalAlignment/VerticalAlignment נשארים בערכי ברירת המחדלהגדר במפורש את שתי המאפיינים לפני הוספת האובייקט ל-Paragraphs
קובץ PDF נפתח עם התנהגות צפייה בלתי צפויה (אין פאנל מתאר, פריסת עמודות שגויה)Document.PageMode/Document.PageLayout אף פעם לא הוגדרהגדר את שני המאפיינים לפני קריאה ל-Document.Save

FAQ

מה ההבדל בין PageMode ל-PageLayout?

PageMode שולט במצב ממשק המשתמש של הצופה בעת הפתיחה (לדוגמה, האם לוח המתווה או פאנל התמונות הממוזערות מוצגים), בעוד PageLayout קובע כיצד הדפים מסודרים (דף יחיד, עמודה אחת, שתי עמודות, וכן הלאה).

איך אני יודע איזו ערך של SaveFormat להשתמש?

בחר את ערך ה-SaveFormat שתואם לסוג קובץ הפלט הרצוי — למשל, SaveFormat.Html עבור פלט HTML או SaveFormat.Pdf לשמירה מחדש כ-PDF.

האם אני יכול להגדיר גם HorizontalAlignment וגם VerticalAlignment באותו אובייקט?

כן. מחלקות כגון Table חושפות את שני המאפיינים באופן עצמאי, כך שניתן לשלב אותם למקם תוכן על כל אחת מהצירים.

האם ColorType מאפשר לי להמיר את מרחב הצבע של דף?

לא. ColorType מדווח על מודל הצבע הקשור כעת לדף או לערך צבע; הוא אינו מבצע המרה.

היכן אני יכול למצוא את כל ה-enum ואת כל הערכים?

דף זה מכסה את האינומים הנפוצים ביותר. עבור המכלול המלא, כולל כל ערך של חבר, ראה את API Reference.


API Reference סיכום

Enumתיאור
PageModeכיצד מציג מציג ה-PDF את המסמך בעת הפתיחה (מתארים, תמונות ממוזערות, מסך מלא, וכו׳)
PageLayoutפריסת העמודים המשמשת כאשר המסמך מוצג (עמוד יחיד, עמודות, וכו׳)
ColorTypeדגם צבע של עמוד או ערך צבע (RGB, CMYK, גווני אפור, וכו')
HorizontalAlignmentיישור אופקי של פסקאות, טבלאות או הערות
VerticalAlignmentיישור אנכי של פסקאות, טבלאות או הערות
TextAlignmentיישור טקסט אופקי לתיבות טקסט של הערות
Justificationהצדקת תוכן ההערה בטקסט חופשי
LoadFormatבוחר פורמט המקור שבו משתמשים תתי-מחלקות של LoadOptions
SaveFormatבוחר פורמט הפלט שבו משתמש Document.Save
Rotationזווית סיבוב העמוד, נחשפת דרך Page.Rotate

ראה גם

 עברית