ConvertTextToPaths

ویرایش جریان محتوا، قلم‌ها

توضیحات

دستورات نمایش متن را در صفحات انتخاب‌شده به فراخوانی‌های برداری Form XObject بازنویسی می‌کند در حالی که جای‌گذاری گلیف، فاصله‌گذاری متن، جهت نوشتار، تبدیل‌ها، رنگ پرکننده، رنگ خط و تنظیمات خط حفظ می‌شود

outlines گلیف TrueType و Type 1 یک بار استخراج و برای گلیف‌های مکرر دوباره استفاده می‌شوند. CharProcهای Type 3 به Form XObjectهای معمولی با حفظ ماتریس فونت، کادر محاطی و دامنهٔ resourceشان تبدیل می‌شوند. دستورالعمل‌های اصلی نمایش متن و انتخاب فونت حذف می‌شوندتبدیل تراکنشی است. هر لایهٔ محتوای انتخاب‌شده و فرم تودرتوی درخواستی قبل از تغییر هر شیء PDF، در حافظه تجزیه و تبدیل می‌شود. فونت‌های پشتیبانی‌نشده، حالت‌های رندر برش متن 4 تا 7، وضعیت متن بدشکل و دامنه‌های resource فرم مشترک مبهم، بدون بازنویسی جزئی سند شکست می‌خورند

متن تبدیل‌شده دیگر به‌عنوان متن قابل جست‌وجو، انتخاب یا استخراج نیست. برای رندر و چاپ به‌صورت محتوای برداری مقیاس‌پذیر باقی می‌ماند

نحو

Delphi

Function TPDFlib.ConvertTextToPaths(Const PageRange: WideString= ''; Options: Integer= PDF_TEXT_PATH_DEFAULT): Integer;

ActiveX

Function PDFlib::ConvertTextToPaths(PageRange As String, Options As Long) As Long

DLL

int DLConvertTextToPaths(int InstanceID, const wchar_t *PageRange, int Options);
int DLConvertTextToPathsA(int InstanceID, const char *PageRange, int Options);

پارامترها

PageRangeعبارت بازهٔ صفحه با شماره صفحه از 1. مقدار خالی همهٔ صفحه‌ها را انتخاب می‌کند
Optionsترکیب بیتی PDF_TEXT_PATH_RECURSE_FORMS برای تبدیل Form XObjectهای تودرتو و PDF_TEXT_PATH_PURGE_FONTS برای حذف resourceهای فونت مبدأ که بلااستفاده می‌شوند. PDF_TEXT_PATH_DEFAULT هر دو گزینه را فعال می‌کند

مقادیر بازگشتی

1 یا بیشترتعداد دستورالعمل‌های نمایش متن تبدیل‌شده
0متن واجد شرایطی پیدا نشد، بازه یا گزینه‌ها نامعتبر بودند یا تبدیل شکست خورد. برای تفکیک خطاها LastErrorCode را بررسی کنید

کدهای خطا

506فونت مبدأ نمی‌تواند برنامهٔ گلیف برداری پشتیبانی‌شده‌ای بدهد
507حالت رندر برش متن به مسیر برشی نیاز دارد که با Form گلیف مستقل قابل نمایش نیست
508برنامهٔ متن، وضعیت فونت یا دامنهٔ بازگشتی resource فرم بدشکل یا مبهم است

مثال

Converted := PDF.ConvertTextToPaths('1-3,5', PDF_TEXT_PATH_DEFAULT);
If (Converted= 0)and (PDF.LastErrorCode<> 0) Then
  raise Exception.Create(PDF.LastError);