إضافة كائن مستطيل إلى ملف PDF
الشفرة التالية تعمل أيضًا مع مكتبة Aspose.PDF.Drawing.
إضافة كائن مستطيل
Aspose.PDF لـ .NET يدعم ميزة إضافة كائنات الرسم البياني (على سبيل المثال، الرسم البياني، الخط، المستطيل، وغيرها) إلى مستندات PDF. كما تحصل على ميزة إضافة كائن المستطيل حيث يُقدم أيضًا إمكانية ملء كائن المستطيل بلون معين، التحكم في ترتيب Z، إضافة ملء لون متدرج، وغير ذلك.
أولًا، دعونا ننظر في إمكانية إنشاء كائن المستطيل.
اتبع الخطوات أدناه:
-
إنشاء مستند PDF جديد
-
إضافة صفحة إلى مجموعة الصفحات لملف PDF
-
إضافة جزء نصي إلى مجموعة الفقرات لمثيل الصفحة
-
إنشاء مثيل الرسم البياني
-
إنشاء نموذج مستطيل
-
إضافة كائن مستطيل إلى مجموعة الأشكال في كائن الرسم
-
إضافة كائن الرسم إلى مجموعة الفقرات في نموذج الصفحة
-
إضافة جزء نصي إلى مجموعة الفقرات في نموذج الصفحة
-
واحفظ ملف PDF الخاص بك
private static void AddRectangle(Page page, float x, float y, float width, float height, Color color, int zindex)
{
// إنشاء كائن رسم بنفس الأبعاد المحددة لكائن المستطيل
Aspose.Pdf.Drawing.Graph graph = new Aspose.Pdf.Drawing.Graph(width, height)
{
// هل يمكننا تغيير موقع نموذج الرسم
IsChangePosition = false,
// تعيين موقع الإحداثية اليسرى لنموذج الرسم
Left = x,
// تعيين موقع الإحداثية العلوية لكائن الرسم
Top = y
};
// إضافة مستطيل داخل "الرسم"
Rectangle rect = new Rectangle(0, 0, width, height);
// تعيين لون ملء المستطيل
rect.GraphInfo.FillColor = color;
// لون كائن الرسم
rect.GraphInfo.Color = color;
// إضافة المستطيل إلى مجموعة الأشكال في نموذج الرسم
graph.Shapes.Add(rect);
// تعيين مؤشر زي لكائن المستطيل
graph.ZIndex = zindex;
// إضافة الرسم إلى مجموعة الفقرات في نموذج الصفحة
page.Paragraphs.Add(graph);
}
إنشاء كائن مستطيل مملوء
Aspose.PDF لـ .NET يوفر أيضًا ميزة ملء كائن المستطيل بلون معين.
يوضح الجزء التالي من الكود كيفية إضافة كائن المستطيل المملوء باللون.
{
private const string _dataDir = "C:\\Samples\\";
public static void RectangleFilled()
{
// إنشاء نموذج Document
var doc = new Document();
// إضافة صفحة إلى مجموعة الصفحات في ملف PDF
var page = doc.Pages.Add();
// إنشاء نموذج Graph
var graph = new Aspose.Pdf.Drawing.Graph(100, 400);
// إضافة كائن الرسم البياني إلى مجموعة الفقرات لنموذج الصفحة
page.Paragraphs.Add(graph);
// إنشاء نموذج مستطيل
var rect = new Rectangle(100, 100, 200, 120);
// تحديد لون التعبئة لكائن الرسم البياني
rect.GraphInfo.FillColor = Color.Red;
// إضافة كائن المستطيل إلى مجموعة الأشكال لكائن الرسم البياني
graph.Shapes.Add(rect);
// حفظ ملف PDF
doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
}
انظر إلى نتيجة المستطيل المملوء بلون صلب:
إضافة رسم بتعبئة التدرج
يدعم Aspose.PDF لـ .NET ميزة إضافة كائنات الرسم البياني إلى مستندات PDF وأحيانًا يُطلب تعبئة كائنات الرسم البياني بلون التدرج. لتعبئة كائنات الرسم البياني بلون التدرج، نحتاج إلى تعيين setPatterColorSpace بكائن gradientAxialShading كالتالي.
يوضح الشفرة التالية كيفية إضافة كائن مستطيل مملوء بلون التدرج.
public static void CreateFilledRectangletGradientFill()
{
// إنشاء نموذج للمستند
var doc = new Document();
// إضافة صفحة إلى مجموعة صفحات ملف PDF
var page = doc.Pages.Add();
// إنشاء نموذج للرسم البياني
var graph = new Aspose.Pdf.Drawing.Graph(400, 400);
// إضافة كائن الرسم البياني إلى مجموعة الفقرات لنموذج الصفحة
page.Paragraphs.Add(graph);
// إنشاء نموذج للمستطيل
var rect = new Rectangle(0, 0, 300, 300);
// تحديد لون التعبئة لكائن الرسم البياني
var gradientColor = new Color();
var gradientSettings = new GradientAxialShading(Color.Red, Color.Blue)
{
Start = new Point(0, 0),
End = new Point(350, 350)
};
gradientColor.PatternColorSpace = gradientSettings;
rect.GraphInfo.FillColor = gradientColor;
// إضافة كائن المستطيل إلى مجموعة الأشكال لكائن الرسم البياني
graph.Shapes.Add(rect);
// حفظ ملف PDF
doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
}
إنشاء مستطيل بقناة ألوان ألفا
Aspose.PDF لـ .NET يدعم ملء كائن المستطيل بلون معين. يمكن أيضًا أن يحتوي كائن المستطيل على قناة ألوان ألفا لإعطاء مظهر شفاف. يوضح الجزء التالي من الكود كيفية إضافة كائن مستطيل مع قناة ألوان ألفا.
يمكن لبيكسلات الصورة تخزين معلومات حول شفافيتها إلى جانب قيمة اللون. يتيح ذلك إنشاء صور بمناطق شفافة أو شبه شفافة.
بدلاً من جعل اللون شفافًا، يخزن كل بيكسل معلومات عن مدى عتامته. يُسمى هذا البيانات العتامة بقناة ألفا وعادةً ما تُخزن بعد قنوات الألوان للبيكسل.
public static void RectangleFilled_AlphaChannel()
{
// إنشاء مثيل للوثيقة
var doc = new Document();
// إضافة صفحة إلى مجموعة الصفحات في ملف PDF
var page = doc.Pages.Add();
// إنشاء مثيل للرسم
var graph = new Aspose.Pdf.Drawing.Graph(100, 400);
// إضافة كائن الرسم إلى مجموعة الفقرات لمثيل الصفحة
page.Paragraphs.Add(graph);
// إنشاء مثيل المستطيل
var rect = new Rectangle(100, 100, 200, 120);
// تحديد لون التعبئة لكائن الرسم
rect.GraphInfo.FillColor = Color.FromArgb(128, 244, 180, 0);
// إضافة كائن المستطيل إلى مجموعة الأشكال لكائن الرسم
graph.Shapes.Add(rect);
// إنشاء كائن مستطيل ثاني
var rect1 = new Rectangle(200, 150, 200, 100);
rect1.GraphInfo.FillColor = Color.FromArgb(160, 120, 0, 120);
graph.Shapes.Add(rect1);
// إضافة مثيل الرسم إلى مجموعة الفقرات للصفحة
page.Paragraphs.Add(graph);
// حفظ ملف PDF
doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
}
التحكم في ترتيب Z للمستطيل
Aspose.PDF لـ .NET يدعم الخاصية لإضافة كائنات الرسوم (على سبيل المثال الرسم البياني، الخط، المستطيل إلخ.) إلى مستندات PDF. عند إضافة أكثر من نسخة من نفس الكائن داخل ملف PDF، يمكننا التحكم في تقديمها من خلال تحديد ترتيب Z. يُستخدم ترتيب Z أيضًا عندما نحتاج إلى تقديم الكائنات فوق بعضها البعض.
يظهر المقتطف الكودي التالي الخطوات لتقديم كائنات المستطيل فوق بعضها البعض.
public static void AddRectangleZOrder()
{
// إنشاء كائن من فئة الوثيقة
Document doc1 = new Document();
/// إضافة صفحة إلى مجموعة صفحات ملف PDF
Page page1 = doc1.Pages.Add();
// تعيين حجم صفحة PDF
page1.SetPageSize(375, 300);
// تعيين هامش اليسار لكائن الصفحة كـ 0
page1.PageInfo.Margin.Left = 0;
// تعيين هامش الأعلى لكائن الصفحة كـ 0
page1.PageInfo.Margin.Top = 0;
// إنشاء مستطيل جديد باللون الأحمر، ترتيب Z كـ 0 وأبعاد معينة
AddRectangle(page1, 50, 40, 60, 40, Color.Red, 2);
// إنشاء مستطيل جديد باللون الأزرق، ترتيب Z كـ 0 وأبعاد معينة
AddRectangle(page1, 20, 20, 30, 30, Color.Blue, 1);
// إنشاء مستطيل جديد باللون الأخضر، ترتيب Z كـ 0 وأبعاد معينة
AddRectangle(page1, 40, 40, 60, 30, Color.Green, 0);
// حفظ الملف الناتج من PDF
doc1.Save(_dataDir + "ControlRectangleZOrder_out.pdf");
}