פעולות תוכן

פעולות תוכן

פעולות תוכן

עמודי PDF מוצגים על ידי רצף של מפעילים המאוחסנים בזרם תוכן.
Aspose.PDF FOSS for .NET חושף את המפעילים האלה דרך OperatorCollection
בכל Page, ומספק ContentStreamBuilder לבניית תוכן חדש
תכנותית.


קריאת מפעילי זרם תוכן

לכל Page יש מאפיין Contents שמחזיר OperatorCollection. חזור עליו כדי לבדוק כל מפעיל.

using var doc = Document.Open(pdfBytes);
var page = doc.Pages[1];

foreach (var op in page.Contents)
{
    Console.WriteLine(op.ToString());
}

בניית זרמי תוכן

ContentStreamBuilder מספק API רהוט לבניית רצפי מפעילי זרם תוכן כולל ניהול מצב גרפיקה, בניית נתיבים, פלט טקסט והגדרות צבע.

var builder = new ContentStreamBuilder();
builder.SaveState();
builder.SetFillColor(1.0, 0.0, 0.0);  // Red fill
builder.SetMatrix(1, 0, 0, 1, 72, 700); // Translate
// ... add drawing or text operators
builder.RestoreState();

מצב גרפי

GraphicsState עוקב אחרי מטריצת ההמרה הנוכחית, מצב הטקסט, וערכי הצבע כאשר המפעילים מתבצעים. פעולות מפתח:

var gs = new GraphicsState();
gs.Save();
gs.ConcatMatrix(new Matrix(1, 0, 0, 1, 100, 200));
gs.Restore();

אופרטורים של צבע

SetColor ו-SetColorStroke מגדירים את צבע המילוי וקו המתאר בהתאמה. הם מקבלים רכיבי RGB, CMYK או גווני אפור.

// RGB fill color (blue)
var fill = new SetColor(0, 0, 1);

// RGB stroke color (red)
var stroke = new SetColorStroke(1, 0, 0);

אופרטורים של טקסט

ShowText מציג מחרוזת טקסט במיקום הטקסט הנוכחי תוך שימוש בגופן ובגודל הנוכחיים ממצב הגרפיקה.

var textOp = new ShowText("Hello, PDF!");

SetTextMatrix ממקם טקסט על‑ידי הגדרת מטריצת שינוי עבור מרחב הטקסט.


מצב גרפי מורחב

ExtGState שולט בתכונות רינדור מתקדמות כמו מילוי וקו מתאר, אלפא (שקיפות) ומצב מיזוג.


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

  • תמיד לצמד SaveState / RestoreState (או q / Q) כדי למנוע פגיעה בערימת מצב הגרפיקה.
  • השתמש ב‑ContentStreamBuilder לתוכן חדש במקום לבנות אובייקטי מפעילים באופן ידני.
  • בדוק את OperatorCollection במצב קריאה בלבד לפני שינוי — רצפי מפעילים בלתי צפויים יכולים לגרום לבעיות בתצוגה.
  • מפעילי הצבע חייבים להתאים למרחב הצבע הנוכחי (RGB, CMYK, או grayscale).
  • השתמש ב‑SetAdvancedColor למרחבי צבע מבוססי תבנית ו‑ICC.

בעיות נפוצות

IssueCauseFix
הטקסט אינו נראה לאחר הוספת מפעיליםלא הוגדר גופן במצב הטקסטהוסף מפעיל SetFont לפני ShowText
הצבעים מופיעים באופן שגויאי התאמה במרחב הצבע (RGB לעומת CMYK)השתמש במפעיל המתאים למרחב הצבע הפעיל
גלישת מחסנית מצב גרפיקהזוגות Save / Restore לא מאוזניםודא שלכל SaveState יש התאמה עם RestoreState
התוכן מופיע במיקום שגויהמרת מטריצה חסרה או שגויהאמת ערכי SetMatrix או ConcatMatrix

שאלות נפוצות

מהו זרם תוכן של PDF?

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

האם אני יכול להוסיף תוכן חדש לדף קיים?

כן. גש לpage.Contents והוסף מפעילים חדשים, או השתמש
בContentStreamBuilder כדי לבנות רצף ולהוסיף אותו.

איך אני עושה טקסט שקוף?

השתמש ב-ExtGState כדי להגדיר את אלפא המילוי (ca) לערך בין 0 (שקוף לחלוטין) ל‑1 (אטום לחלוטין).


API סיכום הפניות

Class / MethodDescription
OperatorCollectionרצף של מפעילי זרם תוכן בעמוד
ContentStreamBuilderבונה רהוט לבניית רצפי מפעילים
ContentStreamBuilder.SaveStateדחיפת מצב הגרפיקה הנוכחי למחסנית
ContentStreamBuilder.RestoreStateשליפת מצב הגרפיקה מהמחסנית
ContentStreamBuilder.SetFillColorהגדרת צבע המילוי במרחב הצבע הנוכחי
ContentStreamBuilder.SetMatrixהחלת שינוי קואורדינטות
GraphicsStateעוקב אחרי מטריצת השינוי, הצבע ומצב הטקסט
SetColorמפעיל המגדיר את צבע הלא‑קו (מילוי)
SetColorStrokeמפעיל המגדיר את צבע הקו
SetAdvancedColorמפעיל למרחבי צבע מבוססי תבנית / ICC
ShowTextמפעיל הממחיש מחרוזת טקסט
SetTextMatrixמפעיל הממקם טקסט באמצעות מטריצה
ExtGStateמצב גרפיקה מורחב (אלפא, מצב מיזוג)

ראה גם

 עברית