متادیتا و ابزارها

متادیتا و ابزارها

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 از انواع رشته، عدد صحیح، عدد اعشاری، تاریخ و آرایه پشتیبانی می‌کند.
  • Artefacts عناصر ساختاری هستند — در پیمایش‌های درخت دسترس‌پذیری ظاهر نمی‌شوند.

مسائل رایج

IssueCauseFix
کلید متادیتا یافت نشدکلید از پیشوند فضای نام متفاوتی استفاده می‌کندابتدا تمام کلیدها را فهرست کنید تا پیشوند صحیح را پیدا کنید
مختصات مستطیل به نظر وارونه می‌رسندمبدا PDF در پایین‑چپ است، نه در بالا‑چپمختصات Y را متناسب تنظیم کنید
مجموعه تصویر خالی استتصاویر به صورت XObjects هستند، نه به‌صورت منابع مستقیم صفحهXFormCollection را برای منابع تصویر تو در تو بررسی کنید

سوالات متداول

چگونه می‌توانم عنوان سند را از متادیتا بخوانم؟

دسترسی doc.Metadata["dc:title"] برای ویژگی عنوان Dublin Core.

آیا می‌توانم یک اثر واترمارک اضافه کنم؟

بله. یک Artifact با نوع Watermark ایجاد کنید و آن را به صفحه اضافه کنید.

Rectangle از چه سیستم مختصاتی استفاده می‌کند؟

فضای کار PDF: مبدأ در پایین‑چپ، واحدها 1/72 اینچ. یک صفحه استاندارد US Letter دارای 612 × 792 واحد است.


خلاصه مرجع API

Class / MethodDescription
Metadataدایرکتوری متادیتای XMP در سند
XmpValueپوشش‌گذار تایپ‌شده برای مقادیر ویژگی XMP
Rectangleجعبه محدود‌کننده هم‌محور (llx, lly, urx, ury)
Rectangle.ContainsPointآزمون اینکه آیا نقطه‌ای داخل مستطیل قرار دارد یا خیر
Matrixماتریس تبدیل افین دو‑بعدی
Matrix.Translateایجاد ماتریس ترجمه
PageCollectionمجموعه صفحه‌های مرتب با ایندکس‌گذاری مبتنی بر ۱
XImageCollectionمنابع تصویر در یک صفحه
XImageتصویر تک‌تنه جاسازی‌شده با تشخیص نوع رنگ
Artifactعنصر غیرمحتوای صفحه (واترمارک، سرصفحه، پاورقی)
Artifact.SetPageNumberReplacementStringقالب برای آثار شماره‌صفحه

همچنین ببینید

 فارسی