EndArtifact
PDF برچسبگذاریشده، دسترسپذیری
توضیحات
آخرین ناحیهٔ artifact باز شده را میبندد و عملگر EMC (پایان محتوای نشانهگذاریشده) را در استریم محتوای صفحهٔ جاری مینویسد. هر فراخوانی BeginArtifact باید دقیقاً با یک فراخوانی EndArtifact جفت شود
نحو
Delphi
Function TPDFlib.EndArtifact: Integer;
ActiveX
Function PDFlib::EndArtifact() As Long
DLL
int DLEndArtifact(int InstanceID);
مقادیر بازگشتی
| 0 | ناموفق — هیچ سندی باز نیست یا هیچ ناحیه artifact در حال حاضر باز نیست |
|---|---|
| 1 | ناحیه artifact با موفقیت بسته شد |
ملاحظات
نواحی artifact و عناصر ساختار برای صفحهٔ جاری یک پشتهٔ marked-content مشترک دارند. EndArtifact فقط وقتی ناحیهٔ بازِ رأس پشته را میبندد که با BeginArtifact باز شده باشد؛ هرگز از آن برای بستن عنصر ساختاری که با BeginTag یا واریانتهایش باز شده استفاده نکنید — برای آنها EndTag را فراخوانی کنید
نواحی artifact وقتی آرتیفکت نشاندهندهٔ گرافیک تزئینیای باشد که بصری به محتوای ساختاری تعلق دارد میتوانند داخل عناصر ساختاری تودرتو باشند؛ اما نمیتوانند عنصر ساختاری داشته باشند: خوانندههای PDF هشدار میدهند یا از پذیرش ساختار درون artifact سر باز میزنند
زیرگروههای معمول artifact که جدا شدن ناحیه را توجیه میکنند سرصفحهها، پاصفحهها، شمارههای صفحه، قابهای تزئینی، واترمارکها و تصاویر پسزمینهاند. نشانهگذاری اینها بهعنوان artifact باعث میشود از ترتیب خوانشی که فناوری یاریرسان به کاربر ارائه میکند بیرون بمانند
مثال
// Running footer drawn once per page, as an artifact
PDF.BeginArtifact('Footer');
PDF.SetFontSize(8);
PDF.PrintText(50, 30, 'Annual Report 2026 — page ' + IntToStr(pageNo));
PDF.EndArtifact;
// Page header with the company logo, also an artifact
PDF.BeginArtifact('Header');
PDF.DrawImage(50, 800, 60, 30, logoHandle);
PDF.EndArtifact;