البيانات الوصفية والأدوات
البيانات الوصفية والأدوات
يتضمن Aspose.PDF FOSS for .NET فئات مساعدة للوصول إلى البيانات الوصفية، الهندسة الإحداثية، ومجموعات الصور، وعناصر الصفحات. هذه الكتل البنائية تدعم عمليات ذات مستوى أعلى في جميع أنحاء المكتبة.
XMP البيانات الوصفية
Metadata على مستند يوفّر الوصول إلى تدفق بيانات التعريف XMP. اقرأ واكتب خصائص XMP القياسية أو المخصصة.
using var doc = Document.Open(pdfBytes);
// Read existing metadata
foreach (var entry in doc.Metadata)
{
Console.WriteLine($"{entry.Key}: {entry.Value}");
}
// Set a custom property
doc.Metadata.Add("xmp:CustomProp", new XmpValue("custom value"));
doc.Save("with-metadata.pdf");الهندسة الإحداثية
Rectangle و Matrix تُستخدمان في جميع أنحاء API لتحديد المواقع والتحويل.
var rect = new Rectangle(72, 700, 300, 720);
bool inside = rect.ContainsPoint(150, 710);
// Transformation matrix (translate by 100, 200)
var matrix = new Matrix(1, 0, 0, 1, 100, 200);عمليات مجموعة الصفحات
PageCollection يدعم الفهرسة، والتكرار، وقبول نمط الزائر.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}مجموعات الصور
XImageCollection يدير الصور المضمنة في موارد الصفحة. XImage يوفر طرقًا لفحص خصائص الصورة.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}القطع الأثرية
Artifact يمثل عناصر غير محتوى مثل العلامات المائية والرؤوس والتذييلات. استخدم القطع الأثرية لترقيم الصفحات والعناصر الزخرفية.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");نصائح وأفضل الممارسات
- مفاتيح بيانات XMP الوصفية تتبع مواصفات Dublin Core و XMP — استخدم بادئات النطاق القياسية.
- إحداثيات
Rectangleهي بوحدات مساحة المستخدم في PDF (1/72 بوصة)، مع الأصل في الزاوية السفلية اليسرى. - استخدم
Matrixللتحويلات المتجانسة: الإزاحة، الدوران، التحجيم، والقص. XmpValueيدعم الأنواع سلسلة، عدد صحيح، مزدوج، تاريخ، ومصفوفة.- القطع الأثرية هي عناصر هيكلية — لا تظهر في عمليات عبور شجرة إمكانية الوصول.
مشكلات شائعة
| المشكلة | السبب | الإصلاح |
|---|---|---|
| لم يتم العثور على مفتاح البيانات الوصفية | المفتاح يستخدم بادئة مساحة اسم مختلفة | قائمة جميع المفاتيح أولاً للعثور على البادئة الصحيحة |
| يبدو أن إحداثيات المستطيل مقلوبة | نقطة الأصل في PDF هي أسفل اليسار، ليست أعلى اليسار | ضبط إحداثيات Y وفقًا لذلك |
| مجموعة الصور فارغة | الصور موجودة في XObjects الشكل، وليس في موارد الصفحة المباشرة | تحقق من XFormCollection للموارد المتداخلة للصور |
الأسئلة المتكررة
كيف يمكنني قراءة عنوان المستند من البيانات الوصفية؟
الوصول إلى doc.Metadata["dc:title"] لخاصية العنوان في Dublin Core.
هل يمكنني إضافة عنصر علامة مائية؟
نعم. إنشاء Artifact من النوع Watermark وإضافته إلى الصفحة.
ما نظام الإحداثيات الذي يستخدمه Rectangle؟
مساحة المستخدم في PDF: الأصل في الزاوية السفلية اليسرى، الوحدات هي 1/72 بوصة. صفحة US Letter القياسية هي 612 × 792 وحدة.
ملخص مرجع API
| Class / Method | Description |
|---|---|
Metadata | قاموس بيانات XMP التعريفية على المستند |
XmpValue | غلاف مكتوب لأنواع قيم خصائص XMP |
Rectangle | مربع احتواء محاذى للمحاور (llx, lly, urx, ury) |
Rectangle.ContainsPoint | اختبار ما إذا كانت نقطة تقع داخل المستطيل |
Matrix | مصفوفة تحويل إزاحة ثنائية الأبعاد |
Matrix.Translate | إنشاء مصفوفة إزاحة |
PageCollection | مجموعة صفحات مرتبة بفهرسة تبدأ من 1 |
XImageCollection | موارد الصور على الصفحة |
XImage | صورة مدمجة واحدة مع اكتشاف نوع اللون |
Artifact | عنصر صفحة غير محتوى (علامة مائية، رأس، تذييل) |
Artifact.SetPageNumberReplacementString | قالب لآثار أرقام الصفحات |