کامپوننتهای اصلی
- TPdf - کامپوننت اصلی مدیریت سند PDF برای باز کردن، پیمایش، استخراج متن و ویرایش اسناد PDF
- TPdfView - کامپوننت بصری برای نمایش و تعامل با صفحات PDF
- TPdfReadingSession - کامپوننت هماهنگی بلندخوانی برای موتورهای TTS میزبان و ردیابی واژهٔ TPdfView
- TPdfThumbnailView - پنل کناری بندانگشتی پیمایشی برای ناوبری صفحه
عملیات سند
- بارگذاری سند - بارگذاری فایلهای PDF از دیسک، جریانهای حافظه، آرایههای بایت کامل، پنجرههای آرایهٔ بایت صفرمبنای
Index/Countیا آداپتورهای TStream درخواستی از طریقLoadCustomDocument. سیاستهای سازگار، سختگیرانه و بازیابی، تشخیص محدود classic، hybrid و xref-stream را بدون جایگزینی تجزیهگر معنایی PDFium اضافه میکنند- خروجی تعمیر راستیآزماییشده -
SaveAsRepairedیک کپی تکبازبینی کامل میسازد و xref و ساختار صفحهٔ آن را پیش از بازگرداندن بایتها یا جایگزینی اتمی فایل بهصورت مستقل سختگیرانه بارگذاری میکند- گراف شیء نوعدار -
ExportObjectGraphJSON نوعدار محدود را برای مقادیر مستقیم و object-stream تولید میکند، در حالی کهSaveAsObjectGraphPatchedتغییرات دیکشنری سطح بالای اعتبارسنجیشده را بهصورت بازبینی افزایشی مرحلهای اعمال کرده و پیش از تحویل نتیجه را سختگیرانه بارگذاری میکند- محافظت گذرواژه - باز کردن اسناد PDF محافظتشده با گذرواژه و گزارش
UserPermissionsمؤثر برای نشست احراز هویتشده- ایجاد سند - ساخت اسناد PDF جدید از صفر با
CreateDocument،AddPage،AddText،AddImage،AddPicture،AddJpegImageوCreatePath- ذخیرهٔ سند - ذخیرهٔ اسناد تغییر یافته با گزینههای مختلف (افزایشی، حذف امنیت) و نسخههای PDF هدف صریح از PDF 1.0 تا PDF 1.7
- خروجی PDF/A-1b -
SaveAsPdfA/SaveAsPdfAToStreamذخیرهٔ پایه را با بهروزرسانی افزایشی پردازش میکنند که جریان فرادادهٔ XMP، OutputIntent از نوع ICC sRGB و کاتالوگ سند بهروزشده تزریق میکند تا نتیجه همنوای PDF/A-1b باشد. نمایههای ICC سفارشی از طریقTPdfASaveOptions.IccProfileDataپشتیبانی میشوند- اعتبارسنجی PDF/A -
ValidatePdfAو ویژگی فقطخواندنیPdfAConformanceسند باز را برای نشانگرهای XMPpdfaid، OutputIntent با ICC جاسازیشده، حضور رمزنگاری پویش میکنند و سطح همنوایی (pac1a،pac1b،pac2b،pac3b،pacNoneیاpacUnknown) را بههمراه فهرستی از ورودیهایTPdfAValidationIssueکه هر مشکل یافتشده را توصیف میکند گزارش میدهند- اعتبارسنج انطباق نسخهٔ PDF - وقتی SaveAs نسخهٔ PDF 1.0 تا 1.7 را هدف میگیرد نویسنده هر ورودی دیکشنری، فیلتر، زیرنوع حاشیهنویسی، نوع اکشن، فونت، فضای رنگ یا پارامتر رمزنگاری معرفیشده پس از نسخهٔ هدف (مثلاً JBIG2Decode، MarkInfo، OutputIntents، AES/AES-256، حاشیهنویسیهای Polygon/Caret/Watermark/Redact، اکشنهای JavaScript/Trans/SetState) را رد میکند
- فشردهسازی جریان - فشردهسازی خودکار FlateDecode تضمین میکند همهٔ جریانهای PDF هنگام ذخیره بهینه فشرده شوند؛ برای خط لولههای اشکالزدایی
Compressed := Falseرا تنظیم کنید- ادغام دستهای مقیاسپذیر -
MergeFilesمنابع فایلمحور را با محدودهٔ صفحه و گذرواژهٔ هر منبع وارد میکند، حداکثر یک سند منبع را باز نگه میدارد و پیشرفت، لغو، مدیریت توقف یا رد، بازگشت، فرم، outline، منبع و سیاستهای ترجیح نمایشگر را در معرض دید قرار میدهد- واردات زیرمجموعهٔ صفحه -
ImportPagesByIndexآرایهٔ اندیس صفرمبنای صریح را از سند منبع کپی میکند، با InsertAt = 0 برای درج پیش از صفحهٔ 1 یا InsertAt = PageCount برای الحاق. برای واردات هر صفحهٔ منبع آرایهٔ اندیس خالی بدهید- ترکیب N-up -
ImportNPagesToOneیکTPdfکاملاً جدید برمیگرداند که صفحاتش ترکیب NumX×NumY از صفحات سند منبع است و با واحد کاربری PDF (1 واحد = 1/72 اینچ) اندازهگذاری شده- ترتیب مجدد صفحه -
MovePagesصفحات را درجا با استفاده از آرایهٔ اندیس صفرمبنا و اندیس مقصد برای نخستین صفحهٔ جابهجاشده ترتیب مجدد میکند- اعتبارسنجی برنامهٔ صفحه -
ValidatePagePlanنگاشتهای حذف، انتقال، درج، تقسیم و ادغام را پیشنمایش میکند، اثرات ناوبری، برچسب، فرم، درخت ساختار، ویژگی واردشده و امضا را فهرست میکند و برنامههایی را که اهداف آویزان رها میکنند یا محتوای امضاشده را بدون مجوز صریح تغییر میدهند رد میکند- تولید چیدمان دوگذره -
GenerateLayoutمتن شکستهشده، خطوط، تصاویر، XObject های صفحه، سرآیندها و پابرگها را پیش از تولید اتمی اشیاء صفحهٔ بومی اندازهگیری و صفحهبندی میکند، در حالی که placeholderهای پایدار{page}و{pages}تعداد صفحهٔ اندازهگیریشده را حفظ میکنند- چیدمان صفحهبندیشدهٔ دیسکپشتیبان -
GeneratePagedLayoutفرمانها را در حافظهٔ seekable منتخب فراخواننده مینویسد، هر صفحه را از بخشهای فشردهٔ ناپیوسته بازمیگرداند، آرایههای صفحهٔ نگهداشتهشده را با یک کش LRU مهار میکند و صفحات PDFium را ترتیبی الحاق میکند- چیدمان جدول بینصفحهای -
TPdfLayoutTableستونهای ثابت، کسری و هماندازهٔ محتوا را یکبار حل میکند، ردیفهای سرآیند پیوسته را تکرار میکند، ردیفهای بدنهٔ واجد شرایط را میشکند، گروههای دارای row-span را دستنخورده نگه میدارد و عنوان، کادر سلول، پیوند و یک سلسلهمراتب معنایی پیوستهٔ Table / TR / TH / TD در سراسر صفحات تولید میکند- گرههای چیدمان کششده - برنامههای چیدمان با هویت کامل constraint، محتوا، فونت، سبک، منبع و اندازهگیرنده کش میشوند، در حالی که
TPdfLayoutCachedNodeالگوهای تکراری را بهصورت lazy میسازد و هر جایگذاری را از یک Form XObject بومی بازاستفاده تولید میکند- چیدمان خودکار Tagged PDF -
GenerateTaggedLayoutاز همان برنامهٔ چیدمان اندازهگیریشده MCIDهای بومی، مصنوعات، درخت ساختار سند، نگاشتهای ParentTree و IDTree، سرآیندها، فهرستها، شکلها با متن جایگزین، سرآیندهای جدول و حاشیهنویسیهای Link با مالکیت OBJR تولید میکند؛ قیدهای آیتم بلوکها و سرآیندها را کنار هم نگه میدارد، حداقلهای widow / orphan را اعمال میکند و شکست صفحهٔ فیزیکی را اجباری میکند- ویرایش marked-content -
PageObjectMarks،AddPageObjectMark،SetPageObjectMarkParam،RemovePageObjectMarkParamوRemovePageObjectMarkفهرستهای ویژگی BDC را از طریق markهای بومی پایدار بازرسی و تغییر میدهند- متن Bidi و اسکریپت پیچیده -
AddShapedTextاجراهای جهتدار، شکلهای زمینهای، لیگاتورها، advanceها و آفستها را به گلیفهای CID Type 2 موقعیتیافته تبدیل میکند، در حالی که نگاشتهای ToUnicode تولیدشده وActualTextمعنای منطقی Unicode را حفظ میکنند- تألیف فونت CID Type 2 -
AddCidType2Textدادهٔ TrueType ارائهشده توسط فراخواننده را با نگاشتهای صریح CID-to-GID و ToUnicode، زیرمجموعهسازی امن اختیاری، بازگشت کنترلشدهٔ فونت کامل و بررسیهای یکپارچگی استخراج جاسازی میکند- بودجهٔ بایت یکپارچهٔ کش -
TPdf.CacheBudgetBytesصحنههای صفحهٔ تجزیهشده، بندانگشتیها، دادهٔ ساختار، تصویرهای لحظهای متن و تصویرهای لحظهای شیء صفحه را از طریق یک LRU سراسری اندازهپذیر هماهنگ میکند، در حالی کهTPdfTileCacheو کش فونت سیستم میتوانند به یک کنترلگر منتخب فراخواننده بپیوندند- ارائهدهندهٔ فونت سیستم میزبان -
ConfigureSystemFontProviderدرخواستهای فونت گمشدهٔ بومی را از طریق ارائهدهندهٔ برنامه با اعتبارسنجی بایت، کش LRU محدود، حکمرانی بایت مشترک اختیاری، بازگشت بومی، استخراج جدول و آمار طول عمر هدایت میکند- بازاستفاده صفحه از Form XObject -
CreateXObjectFromPageیک هندلTPdfXObjectبازاستفاده از هر صفحهٔ سند دیگر تولید میکند؛InsertFormObjectFromXObjectیک کپی از صفحهٔ پیچیدهشده را در صفحهٔ فعلی درج میکند. برای واترمارک، پوشش الگو و گردشکارهای «مهر یک صفحه روی چند صفحه» ایدهآل است. شیء صفحهٔ مقصد میتواند از طریقFPDFPageObj_SetMatrixو یاریرسانهایTPdfMatrixموقعیتدهی، مقیاس و چرخانده شود- مدیریت صفحه - افزودن، حذف و دستکاری صفحات جدا؛
AddPage(0, ...)نخستین صفحه را درج کرده و فوراً فعال میکند- جعبههای صفحه - خواندن و نوشتن MediaBox، CropBox، BleedBox، TrimBox و ArtBox روی صفحهٔ فعلی
- زبان کاتالوگ - خواندن و نوشتن زبان سند ذخیرهشده در ورودی /Lang کاتالوگ
- شناسههای فایل تریلر - خواندن ورودیهای دائمی و در حال تغییر /ID تریلر بهصورت بایت باینری
- اکشنهای JavaScript سند - شمارش نامها و اسکریپتهای اکشن درخت نام JavaScript سطح سند
- درخت ساختار Tagged PDF - بازرسی عناصر ساختار منطقی، متن دسترسیپذیری، زبان، شناسههای marked-content و سلسلهمراتب برای صفحات PDF برچسبدار
- ترجیحات نمایشگر - خواندن
PrintCopies،PrintPageRanges،PrintScalingوPrintPaperHandlingاز دیکشنری viewer-preference سند؛ PDFهای ذخیرهشده به اکشن باز صفحهٔ نخست Fit Height پیشفرض میگیرند
عملیات متن
- استخراج متن - استخراج متن از صفحات PDF با دقت سطح نویسه از طریق ویژگیهای
Text،TextInRectangle،Characterنمایهای،CharacterRectangleوCharacterOrigin- مدل متن ساختیافته -
GetStructuredTextسلسلهمراتب محدود صفحه، بلوک، خط و span سبکدار را از هندسهٔ نویسهٔ بومی، فرادادهٔ فونت، هویت شیء متنی، معنای Tagged PDF و ترتیب بازگشت چیدمان فیزیکی میسازد- تشخیص و استخراج جدول -
ExtractTablesوExtractDocumentTablesجعبههای واژهٔ بومی را با خطوط مسیر تبدیلشده ترکیب میکنند تا جدولهای حاشیهدار یا فاصلهتراز را تشخیص دهند، دهانههای ادغامشده را حفظ کنند، اطمینان امتیازدهی کنند، ادامهٔ صفحه را علامت بزنند و CSV یا JSON تولید کنند- بازچینی معنایی و HTML واکنشگرا -
BuildReflowDocumentمعنای Tagged PDF، استنتاج چیدمان فیزیکی و استخراج جدول را در درخت گرهٔ محدود بازاستفاده ترکیب میکند که خروجی HTML امن آن سرآیندها، پاراگرافها، فهرستها، شکلها، بخشهای صفحه و دهانههای جدول را حفظ میکند- لایهٔ OCR قابل جستوجو -
ApplyOcrSearchLayerرندرهای صفحهٔ BGRA بالا-به-پایین محدود را به ارائهدهندهٔ برنامه میدهد، چهارضلعیهای اطمینان را از طریق هندسهٔ صفحهٔ بومی نگاشت میکند و متن نامرئی قابل جستوجو را بدون بازکدگذاری تصاویر اسکن اضافه میکند- واحدهای خواندن سطح جمله - TPdf.ReadingUnits، TPdf.DocumentReadingUnits، TPdfView.ReadingUnits و BuildReadingUnits رکوردهای TPdfReadingUnit اندازهٔ جمله را برای گوشدادن-خواندن TTS همگام در معرض دید قرار میدهند
- انتخاب خط بصری -
TPdfView.SelectLineAtخط متن بصری حاوی صفحهٔ یکمبنا و اندیس نویسهٔ صفرمبنا را از طریق همان مدل مرز خط مورد استفاده انتخاب سهبار کلیک وShift+HomeیاShift+Endانتخاب میکند- هایلایت خواندن سطح واژه -
TPdf.PageWordBoxes،TPdfView.PageWordBoxes،BuildWordBoxes،WordBoxIndexAtCharIndex،TPdfView.SelectWordBox،TPdfView.SelectWordSpan،TPdfView.TrackReadingWordAt،TPdfView.SetReadingWord،TPdfView.ClearReadingWord،ReadingWordColor،ReadingWordFollowآفست نویسهٔ صفحه را به TPdfWordBox شامل نگاشت میکند، آن را هایلایت میکند و اندیس واژه را برمیگرداند؛ یک TPdfWordBox را بهعنوان واژهٔ گفتاری فعلی روی TPdfView هایلایت میکند؛ پوشش مکاننمای خواندن سطح واژهٔ فعلی را روی TPdfView پاک میکند؛ رنگ پوشش مورد استفاده برای مکاننمای خواندن سطح واژهٔ فعلی را کنترل میکند؛ تعیین میکند آیا TPdfView هنگام دنبالکردن خواندن واژهٔ گفتاری فعلی را به دید بیاورد- هماهنگی نشست بلندخوانی -
TPdfReadingSession،TPdfSpokenText،SpokenTextAppend،BuildSpokenTextFromWords،SpokenToPageCharوEstimateSpokenWordIndexموتورهای TTS میزبان، تکههای گفتاری، callbackهای موقعیت واژه، آهنگ تخمینی، مدیریت مکث/ادامه و بهروزرسانی مکاننمای واژهٔ TPdfView را هماهنگ میکنند- جستوجوی متن - یافتن متن با گزینههای حساس به بزرگی/کوچکی، واژهٔ کامل و متوالی با استفاده از
FindFirst،FindNextوFindPrevious، یا جریاندادن تطبیقهای پیشرو و پسرو در سراسر سند باTPdf.CreateDocumentSearch، مستطیلهای نتیجهٔ فضای صفحه، لغو مشارکتی و حافظهٔ هندل صفحهٔ ثابت- پوشش هایلایت جستوجو -
TPdfView.HighlightSearchTextپوشش تطبیق صفحهٔ فعلی را جایگزین میکند، در حالی کهAddSearchTextHighlightمحدودههای یکتای عبارات بیشتر را الحاق میکند تا چند پرسوجو با هم قابل مشاهده بمانند.ClearHighlightمجموعهٔ کامل را حذف میکند؛ ناوبری به صفحهٔ دیگر آن را بهصورت خودکار پاک میکند چون محدودههای نویسه مختص صفحهاند.HighlightColorبهclYellowپیشفرض میگیرد و منتشر شده تا برنامهها بتوانند پوشش را تمگذاری کنند- ویژگیهای نویسه - دسترسی به اندازهٔ فونت، وزن، زاویه و موقعیت نویسههای جدا با ویژگیهای نمایهای
CharacterAngle،CharacterFontSize،CharacterFontWeight،CharacterGenerated،CharacterIsHyphenوCharacterMapError- پشتیبانی نویسه اروپایی -
AddTextبهصورت خودکار فونت TrueType سیستم منطبق را پیش از ایجاد شیء متنی بارگذاری و کش میکند تا نویسههای اکسنتدار چکی، فرانسوی، آلمانی، اسپانیایی، پرتغالی، لهستانی و ترکی که فونتهای استاندارد داخلی PDFium نمیتوانند نمایش دهند اکنون بدون تغییر کد درست رندر شوند- افزودن متن - افزودن متن جدید به صفحات PDF با فونتها، رنگها، شفافیت و چرخش سفارشی
- موقعیتدهی شیء متنی - تنظیم موقعیت هر نویسه برای اشیاء متنی موجود از طریق
SetTextPositionsوTPdfSingleArray- اطلاعات فونت - بازیابی ویژگیهای فونت شامل نام خانوادگی، وضعیت جاسازی، زاویهٔ مورب، صعود/فرود و دادهٔ فونت خام بهازای هر شیء صفحه
پشتیبانی حاشیهنویسی
- انواع حاشیهنویسی - پشتیبانی از متن، پیوند، هایلایت، زیرخط، خطخورده و انواع بسیار دیگر حاشیهنویسی
- ایجاد حاشیهنویسی - ایجاد حاشیهنویسی جدید بهصورت برنامهای
- ویرایش حاشیهنویسی - تغییر ویژگیهای حاشیهنویسی موجود شامل رنگ، شفافیت و محتوا
- حاشیهنویسیهای پیوند - مدیریت پیوندهای داخلی و خارجی با پشتیبانی اکشن
پشتیبانی فرم
- دسترسیدهندههای فرمپر صوتی - FocusedFormFieldValue، FocusedFormFieldName و FocusedFormFieldDetails روی TPdf و TPdfView مقدار، نام و TPdfFormFieldInfo فیلد فرم منطقی فعلی را برای فرمپر صوتی یا صفحهکلیدی در معرض دید قرار میدهند
- انواع فرم - پشتیبانی از فرمهای AcroForm و XFA
- فرمپر - پر کردن فرم تعاملی با پشتیبانی JavaScript
- انتخاب DLL از نوع V8 - پیش از بارگذاری
EnableV8Engineرا تنظیم کنید تا ازpdfium.v8.dllاز پوشهٔ منطبقDLLs\Win32یاDLLs\Win64استفاده کند و در دسترسبودن یاریرسان V8/XFA را از طریقV8FeaturesAvailable،XfaBStrHelpersAvailableوGetRecommendedV8Flagsپرسوجو کنید- دسترسی فیلد - خواندن و نوشتن مقادیر فیلد فرم با اندیس یا موقعیت
- اطلاعات فیلد - دسترسی به نوع فیلد، پرچمها، نام و ویژگیهای دیگر
- پرچمهای فیلد - بهروزرسانی پرچمهای فیلد AcroForm با اندیس یا موقعیت از طریق
SetFormFieldFlags/SetFormFieldFlagsAt، شامل پرچمهای فقطخواندنی، الزامی، گذرواژه و چندانتخابی- مسطحسازی فرم -
GenerateFormAppearancesجریان ظاهر /AP را برای هر ویجت فرم در هر صفحه بازتولید میکند وFlattenPage/FlattenAllPagesحاشیهنویسیها و فیلدهای فرم را در محتوای ایستای صفحه میپزند (غیرقابل ویرایش)- انتخاب متن ویجت فرم، کلیپبورد و Undo/Redo - روی ویجت AcroForm متمرکز، نما
GetSelectedFormText،CopySelectedFormTextToClipboard،CutSelectedFormTextToClipboard،PasteFormTextFromClipboard،SelectAllFormTextوFormUndo/FormRedo/FormCanUndo/FormCanRedoرا در معرض دید قرار میدهد. ویرایشگرCtrl+A،Ctrl+C،Ctrl+Insert،Ctrl+X،Shift+Delete،Ctrl+VوShift+Insertرا مدیریت میکند؛ برش و چسباندن فیلدهای فقطخواندنی یا نشستهای بدون مجوز فرمپر یا تغییر را رد میکنند- تراکنشهای ویرایش سند و Undo/Redo -
BeginEditTransaction،CommitEditTransactionوRollbackEditTransactionویرایشهای دلخواه صفحه، شیء، حاشیهنویسی، پیوست و فراداده را گروهبندی میکنند، در حالی کهUndoEdit،RedoEditو journal های ویرایش قابل حمل از deltaهای دوجهتهٔ محدود راستیآزماییشده با SHA-256 استفاده میکنند- بازیابی خرابی و Autosave مبتنی بر Commit - بستههای بازیابی checksum شده اثر انگشت منبع و بازیابیشده را به journal ویرایش محدود متصل میکنند، در حالی که autosave اتمی پس از commit، undo یا redo بدون بازنویسی PDF منبع sidecar صریح را تازه میکند
عملیات تصویر
- استخراج تصویر - استخراج بیتمپ از صفحات PDF با ویژگی نمایهای
Bitmap؛ برای ذخیرهٔ هر تصویر روی دیسکBitmapCountرا تکرار کنید- درج JPEG -
AddJpegImageیک TStream از بایتهای خام JPEG میگیرد و تصویر را بهصورت XObject از نوع /DCTDecode بدون بازکدگذاری جاسازی میکند- پشتیبانی تصویر -
AddPictureشیءTPictureرا با تبدیل خودکار قالب از طریق کلاسهای گرافیکی ثبتشدهٔ VCL/LCL میپذیرد- درج مستقیم تصویر -
AddImage(FileName)هر قالبی را که با واحدهای گرافیکی VCL یا LCL ثبت شده تشخیص میدهد (BMP، PNG از طریق PngImage، JPG و ...) و خط لولهٔ AddPicture را به اشتراک میگذارد.AddImage(TBitmap)واسطهٔ TPicture را حذف میکند و فراخوانندههایی را که از پیش TBitmap از کار رندر یا تولید دستهای دارند ساده میکند- نمایهٔ ICC تصویر - اشیاء صفحهٔ تصویری در صورت حضور دادهٔ نمایهٔ ICC جاسازیشدهٔ خود را در معرض دید قرار میدهند (اتصال برای
FPDFImageObj_GetIccProfileDataDecoded)- تولید بندانگشتی - تولید بیتمپ بندانگشتی صفحهٔ فعلی از طریق ویژگی
Thumbnailیا رندر هر صفحهٔ یکمبنا از طریقTPdf.RenderPageThumbnailبدون تغییرPageNumber، با یک LRU آگاه از بازبینی که با سقف ورودی و سقف بایت پیکسل محدود شده است- کش صحنهٔ صفحهٔ تجزیهشده -
TPdf.RenderPageByIndex،RenderPageThumbnailوExtractThumbnailصحنههای صفحهٔ PDFium کششده با LRU محدود را بازاستفاده میکنند در حالی که ویرایش صفحه، تغییر درخت صفحه، وضعیت فرم و تخریب سند ورودیهای کهنه را نامعتبر میکنند
unit های کمکی
- زیرساخت ناهمگام -
FPdfAsyncلغو مشارکتی ساختیافته را با callbackهای حذفشدنی و منابع deadline، توزیع نتیجهٔ قابل پیکربندیTPdfFuture<T>و یکTPdfAsyncExecutorبازاستفاده با کارگران ثابت، چهار خط FIFO با اولویت، فشار برگشتی صف محدود، هندلهای هر وظیفه، تشخیص زمانبندی، آمار جمعی و خاموشی مودبانه ترکیب میکند- آداپتور جریان -
TPdfStreamAdapterTStreamاز Pascal را به callbackهایFPDF_FILEACCESSاز PDFium متصل میکند تاLoadCustomDocumentبلوکها را درخواستی بخواند بهجای بافر کل PDF در حافظه- نشستهای دانلود پیشرونده -
TPdfProgressiveDocumentارائهدهندهٔ در دسترسبودن بومی PDFium را زنده نگه میدارد، اشارههای سند، فرم و صفحه را درTPdfRangeRequestSchedulerمیدهد، محدودههای گمشده را ادغام میکند، انتقالهای پسزمینه را برای بایتهای حیاتی صفحه پیشدست میکند، اندازه و تلاشهای مجدد درخواست را محدود میکند، انتقالهای زائد را لغو میکند و صفحهٔ linearized را پیش از رسیدن PDF کامل باز میکند- بازرسی جریان محدود -
TPdfStreamInspectorاشیاء جریان فیزیکی را فهرست میکند، پنجرههای خام امن و رمزگشایی فیلتر عمومی مرتب را در معرض دید قرار میدهد، مسیرهای دسترسی بومی تصویر و پیوست را گزارش میکند و بودجههای منبع، خروجی، دیکشنری، شمارش و نسبت گسترش را اعمال میکند- نرمالسازی جریان محتوا -
TPdf.SaveAsNormalizedContentمحتوای منطقی صفحه را توکنیزه میکند، توضیحات را حذف میکند، تعادل وضعیت و ظرف را اعتبارسنجی میکند، عملگرهای پشتیبانینشده و دادهٔ تصویر درونخطی را حفظ میکند و آرایههای امن/Contentsرا ادغام میکند- خروجی Fast Web View -
TPdf.SaveAsLinearizedاشیاء صفحهٔ نخست را پیش از صفحات بعدی مینویسد، دو بخش مرجع متقاطع تولید میکند و جدولهای اشارهٔ page-offset و shared-object را میسازد تا کلاینت HTTP Range بتواند صفحهٔ درخواستی را بدون دانلود فایل کامل باز کند- خروجی جریان شیء -
TPdf.SaveAsObjectStreamمقادیر واجد شرایط را در گروههای ObjStm محدود PDF 1.5+ بستهبندی میکند، اشیاء حیاتی برای باز شدن را مستقیم نگه میدارد و ورودیهای xref نوع-2 تطبیقی را برای فایلهای کوچکتر بدون قربانیکردن دسترسی تصادفی مینویسد- ذخیرهٔ افزایشی شیء-کثیف -
TPdf.BeginIncrementalSaveوCommitIncrementalSaveتصویرهای لحظهای معنایی پایدار را مقایسه میکنند، هر بایت قبلی رمزنگاریشده یا رمزنگارینشده را حفظ میکنند، پارامترهای امنیت R5، R6 یا R7 را به ارث میبرند، فقط اشیای تغییرکرده را الحاق میکنند، هر نتیجه را بهسختی دوباره باز میکنند و برای commit های فایلی از یک فایل جانبی بادوام بههمراه جایگزینی اتمی بهره میگیرند- کنترل محتوای اختیاری -
TPdf.InspectOptionalContentلایهها، پیکربندیها، فرادادهٔ کاربرد، گروههای رادیویی، ترتیب، قفلها، سیاستهای OCMD و عبارتهای دیدپذیری را فهرست میکند، در حالی کهSaveAsOptionalContentConfiguredوضعیتهای لایهٔ قطعی را که PDFium از طریق زمینهٔ رندر بومیاش اعمال میکند مینویسد- ذخیرهسازی کاری محدود -
TPdfRandomAccessStoreدادهٔ کوچک را در حافظه نگه میدارد، یک بار در سقف منتخب فراخواننده به فایل موقت خصوصی با حذف هنگام بستن سرریز میکند و خواندنهای موقعیتیافته را بدون تغییر مکاننمای مشترک تأمین میکند؛TPdf.SaveMemoryLimitهمین سیاست را روی پسپردازش اصلی ذخیره اعمال میکند، حال آنکه بهروزرسانیهای open-action پیشفرض و کاتالوگ برچسب صفحه از پنجرههای با اندازهٔ ثابت و یک نمایهٔ lazy پراکنده استفاده میکنند- پرسوجوی بومی نسخه -
TPdf.PdfVersionوضعیت تجزیهکنندهٔFPDF_GetFileVersionرا برای معناشناسی هدر و کاتالوگ دوباره به کار میگیرد و برای رد کردن تنزلهای بدساخت کاتالوگ فقط یک نگهبان هشتبایتی هدر دارد- جعبهابزار هندسه ماتریس -
FPdfMatrixازFS_MATRIXاز PDFium با ترکیب پس و پیش، تبدیلهای محورآگاه، برازش مستطیل stretch/contain/cover، تشخیص مقیاسآگاه invertibility، تجزیه، یاریرسانهای معکوس غیرتغییردهنده، نگاشت برداری و چهارضلعی، دستههای نقطه یا مستطیل یکتخصیص، انواع درجا و محدودههای تبدیلشدهٔ تکگذر میپیچد- رندر پیشروندهٔ قابل لغو -
TPdf.RenderPageProgressiveحلقهٔFPDF_RenderPageBitmap_Start+RenderPage_Continueاز PDFium را هدایت میکند و از طریق callbackIFSDK_PAUSEمیان تکرارها یکIPdfCancellationTokenنظرسنجی میکند تا رندرهای DPI بالا بتوانند میان صفحه سقط شوند. یکTPdfProgressiveStatusازprsDone،prsCancelledیاprsFailedبرمیگرداند- مسیر رندر Zero-Copy -
RenderPage/RenderTile/RenderPageProgressiveخروجی PDFium را مستقیماً در بافر DIBTBitmapمقصد مینویسند بهجای مرحلهبندی از بافر داخلی و یک کپی حافظهٔ width×height×4 بایت در هر رندر را صرفهجویی میکنند - بیشترین دیدهشدن در DPI بالا (پنلهای بندانگشتی، خروجی کیفیت چاپ، خروجی دستهای). مسیر بازگشت هر scanline وقتی DIB مقصد نتواند امن پیچیده شود حفظ میشود- تبدیلهای بیتمپ کمبینایی - InvertPdfBitmap، GrayscalePdfBitmap و DuotonePdfBitmap پیکسلهای TBitmap 32 بیتی رندرشده را درجا برای نماهای کمبینایی معکوس، خاکستری یا دو رنگ تبدیل میکنند
- نمایش زندهٔ کمبینایی -
TPdfView.OptionsازreInvertوreNightDuotoneپشتیبانی میکند وNightDuotoneInkوNightDuotonePaperپالت شب زنده را پیش از کشیدن پوششها کنترل میکنند
عملیات ترسیم
- ترسیم مسیر - ایجاد مسیرها با خطوط، منحنیهای Bezier و شکلهای بسته
- حذف شیء - حذف اشیاء صفحه و بازتولید محتوای صفحه از TPdf یا TPdfView
- پر کردن و خط - پیکربندی حالت پر، رنگها، شفافیت و ویژگیهای خط
- حالتهای ترکیبی - پشتیبانی از حالتهای ترکیبی مختلف PDF
- سبکهای خط - پیکربندی سر خط، اتصال خط و عرض خط
امضاهای دیجیتال
- تشخیص امضا - تشخیص و شمارش امضاهای دیجیتال در اسناد PDF
- اطلاعات امضا - دسترسی به محتوای امضا، محدودهٔ بایت، زیرفیلتر، دلیل و زمان
- مجوزهای MDP - پرسوجوی مجوزهای تشخیص و جلوگیری تغییر سند
- تحلیل بازبینی پس از امضا -
AnalyzeSignatureRevisionsتغییرات افزایشی بایتاصلی را در برابر DocMDP و FieldMDP طبقهبندی میکند، بهروزرسانیهای مادهٔ اعتبارسنجی را شناسایی میکند و تعریفهای سایه یا اشیاء فشردهٔ حلنشده را بدون ذخیرهٔ مجدد سند گزارش میکند- نمایههای منحنی بیضوی PDF 2.0 - اعتبارسنجی PAdES امضاهای NIST، Brainpool، Ed25519 و Ed448 را شناسایی میکند، همخوانی منحنی-به-خلاصه و پارامترهای AlgorithmIdentifier را بررسی میکند و رمزنگاری بومی پشتیبانینشده را مستقل از ترکیبهای نامعتبر گزارش میکند
پشتیبانی پیوست
- دسترسی پیوست - خواندن، ایجاد، تغییر و حذف پیوستهای فایل جاسازیشده
- استخراج دستهای محدود -
ReadAttachmentMetadataپیوستها را یکبار فهرستبرداری میکند وExtractAttachmentsToStreamsدر هر لحظه یک محمولهٔ رمزگشاییشده را زیر کنترلهای هر فایل، تجمیعی، قطعهای و لغو مینویسد- نامهای پیوست - دسترسی به نام فایلهای پیوست
- انواع پیوست - خواندن مقادیر زیرنوع MIME فایل جاسازیشده در صورت حضور
- نشانکها - ناوبری نشانکهای سند با پشتیبانی سلسلهمراتبی از طریق آرایهٔ
Bookmarks، یاریرسانهای پیمایشBookmarkChildren،HasBookmarkChildrenوBookmarkFrom- مقصدهای نامگذاریشده - دسترسی به مقصدهای نامگذاریشده با اندیس یا نام از طریق
Destination،DestinationByNameوDestinationCount- برچسبهای صفحه - بازیابی برچسب صفحه برای هر صفحه از طریق
PageLabel؛ وقتی اسناد برای صفحات مقدمه از اعداد رومی استفاده میکنند مفید است- پیوندهای وب - تشخیص و ناوبری پیوندهای وب روی صفحات با
WebLink،WebLinkCountوTPdfView.WebLinkAtPos- حاشیهنویسیهای پیوند - دسترسی به حاشیهنویسیهای پیوند با اطلاعات اکشن و مقصد از طریق
LinkAnnotation،LinkAnnotationCountوTPdfView.LinkAnnotationAtPos- مدیریت امن کلیک پیوند - TPdfView رویدادهای
OnAnnotationLinkClick/OnWebLinkClickرا پیش از مدیریت خودکار goto/URI فعال میکند و اکشنهای launch بهصورت پیشفرض غیرفعالاند. تشخیص کلیک پیوند فقط وقتی ژست کلیک است نه کشیدن اجرا میشود و از لنگر MouseDown تازه استفاده میکند تا ژستهای پن همچنان از مسیر پیمایش موجود بیتغییر عبور کنند
رندر
- رندر با کیفیت بالا - رندر صفحات به زمینهٔ دستگاه، بیتمپ یا کاشی از طریق
RenderPage/RenderTileبا نوشتن مستقیم zero-copy در بافر DIB مقصد- رندر پیشروندهٔ قابل لغو -
RenderPageProgressiveحلقهٔ پیشروندهٔ PDFium را هدایت میکند و میان تکرارها یکIPdfCancellationTokenنظرسنجی میکند وprsDone،prsCancelledیاprsFailedبرمیگرداند. بیتمپ هنگام لغو کار جزئی انجامشده تا آن لحظه را نگه میدارد- رندر موازی صفحه -
RenderPagesParallelسند فعلی را یک بار ثبت میکند، به هر کارگر ماژول و سند PDFium بارگذاریشدهٔ مستقل میدهد، ترتیب درخواست را حفظ میکند و حافظهٔ خروجی نگهداریشدهٔ هر صفحه بههمراه جمع را محدود میکند- حذفدادهٔ امن محتوا -
SaveAsRedactedمستطیلهای/Redactرا روی عکس لحظهای ایزوله اعمال میکند، اشیاء صفحهٔ سطح بالای متقاطع و حاشیهنویسیهای همپوشان را محافظهکارانه حذف میکند، جایگزینهای مات میکشد، پیوستهای جاسازیشده را حذف میکند و نتیجهٔ تکبازبینی ضدعفونیشده را بدون تغییر سند بارگذاریشده مینویسد- گزینههای رندر - بهینهسازی متن LCD (
reLcd)، حاشیهنویسیها (reAnnotations)، خاکستری و پرچمهای حالت چاپ- قلابهای Skia - اتصالهای سطح پایین
FPDF_RenderPageSkiaوFPDF_FFLDrawSkiaوقتی فراخواننده SkCanvas خارجی فراهم کند در دسترساند (وابسته به export های DLL همراه)- انتخاب حالت چاپ - تنظیم حالتهای چاپ EMF، فقطمتن، PostScript، pass-through، image-mask و Type 42 از PDFium از طریق
SetPdfPrintModeباTPdfPrintMode- پوشش ناهمگام - TPdfView میتواند پوشش بارگذاری اختیاری نمایش دهد در حالی که کارگران متعلق به برنامه با نمونههای TPdf جدا رندر میکنند
- چرخش صفحه - پشتیبانی از چرخش 0، 90، 180 و 270 درجه (
ro0،ro90،ro180،ro270)- تشخیص شفافیت - ویژگی
Transparentگزارش میکند آیا هر شیء صفحهٔ فعلی شفافیت دارد یا نه، شامل حالتهای ترکیبی و آلفای جزئی
نمایش (TPdfView)
- حالتهای نمایش -
dmSingleContinuous،dmTwoPageContinuousوdmTwoPageContinuousWithCover(صفحهٔ جلد تنها میایستد و سپس با گسترههای دو صفحهای ادامه مییابد). یاریرسان سطح unit یعنیComputeSpreadPagesریاضی صفحهٔ گسترده را بدون ساخت نمایشگر در معرض دید قرار میدهد- حالت تناسب -
FitModeنحوهٔ نشستن صفحه در درگاه دید را انتخاب میکند:pfmNone(بزرگنمایی دستی)،pfmActualSize(100٪)،pfmFitPage(کل صفحه در درگاه دید)،pfmFitWidth(عرض صفحه با عرض درگاه دید) وpfmFitHeight(ارتفاع صفحه با ارتفاع درگاه دید). حالت تناسب فعال هنگام Resize و تغییر صفحهٔ فعلی بهصورت خودکار دوباره اعمال میشود؛ تنظیم مستقیم Zoom حالت تناسب فعال را لغو میکند (FitMode بهpfmNoneبرمیگردد) و با قرارداد استاندارد نمایشگر PDF هماهنگ است- کنترل بزرگنمایی - بزرگنمایی متغیر با یاریرسانهای هر صفحه
PageZoom،PageWidthZoom،PageHeightZoomوActualSizeZoom- رنگ صفحه -
PageColorپسزمینهٔ صفحهٔ PDF رندرشده را ازColorکنترل اطراف جدا میکند. پیشفرضclWhiteاست، بنابراین صفحات PDF اکنون بدون توجه به تم برنامهٔ میزبان سفید کاغذی رندر میشوند. نمایشگرهای حالت تاریک میتوانند ناحیهٔ پیمایش را تاریک نگه دارند در حالی که صفحهٔ PDF واقعی سفید (یا هر رنگی که برنامه انتخاب کند) میماند- انتخاب متن تعاملی - انتخاب کشیدن برای کاربر نهایی روی صفحات PDF، با تعویض خودکار آزمون برخورد میان انتخاب و جابهجایی: کلیک روی نویسه انتخاب را آغاز میکند، کلیک روی فضای خالی پن میکند. دوبار کلیک واژه، سهبار کلیک خط،
Ctrl+Aصفحه (هر دو صفحه در حالت گسترده)،Ctrl+CبهصورتCF_UNICODETEXT،Shift+arrowگسترش انتخاب، hover روی متن مکاننما را بهcrIBeamتغییر میدهد و کشیدن به لبهٔ نمایشگر صفحه را خودکار میپیماید.SelectionColorوOnSelectionChangeمنتشرشدهٔ جدید؛HasSelection،SelectedText،SelectionCharCount،ClearSelection،SelectAll،CopySelectionToClipboardعمومی جدید. حالتهای نمایش گسترده با اتصال CR/LF هر دو صفحهٔ قابل مشاهده را انتخاب میکنند. پاپآپ پیشفرض کپی راستکلیک وقتی میزبانPopupMenuخودش را نداده خودکار وصل میشود. با پرچمAllowUserTextSelectionنسخهٔ v1.17.0 برای میزبانهای kiosk دروازهبندی شده- نگاشت مختصات - تبدیل میان مختصات دستگاه نمایشگر و مختصات صفحهٔ PDF با
DeviceToPage/PageToDevice، شامل سربارگذاریهایی کهTRectمیگیرند وTPdfRectangleبرمیگردانند- انتخاب متن و آزمون برخورد - حل نویسههای زیر نقاط نمایشگر با
CharacterIndexAtPosو رنگآمیزی هایلایت انتخاب متن از طریقPaintSelection- ماوس و صفحهکلید - پشتیبانی کامل دستگاه ورودی با پیمایش کشیدن ماوس، میانبرهای PgUp/PgDn/Ctrl+Home/Ctrl+End و ناوبری صفحه wheel-up/wheel-down. Ctrl+wheel برای بزرگنمایی برنامه رزرو و توسط هندلر ناوبری نادیده گرفته میشود
- قفل ورودی کاربر -
AllowUserPageChangeمیانبرهای صفحهٔ صفحهکلید،ChangePageOnMouseScrollingپرشهای صفحهٔ چرخ وAllowUserTextSelectionورودی انتخاب متن ماوس/صفحهکلید را کنترل میکنند. هر سه به True پیشفرض میگیرند؛ برای قفل kioskها، پنل پیشنمایش یا جاسازی فقطخواندنی بدون زیرکلاسسازی آنها را False کنید- پوشش رندر ناهمگام -
AsyncRendering،LoadingTextوLoadingColorنشانگر کوچک «Loading...» را روی صفحهٔ رندرشده میکشند تا برنامههایی که کارگر خودشان را برای رندر طولانی دارند affordance بصری سازگار داشته باشند. پیشفرضها رفتار موجود را حفظ میکنند.TPdfاکنون فراخوانیهای رندر و باربرداری صفحه را بهازای هر نمونه سریالیزه میکند؛ برنامهها همچنان مالک توزیع کارگرند و باید هنگام رندر در جریان از تغییر سند بپرهیزند- مدیریت امن کلیک پیوند -
LinkOptionsمجموعهٔ منتشرشدهای است که رفتار خودکار چهار نوع اکشن پیوند PDF را کنترل میکند:loAutoGoto(پرش صفحه)،loAutoOpenURI(ShellExecute)،loAutoLaunch(ShellExecute) وloAutoEmbeddedGoto(رزرو). پیشفرض فقطloAutoGotoوloAutoOpenURIرا فعال میکند؛loAutoLaunchوloAutoEmbeddedGotoخاموش میمانند تا کلیک سرگردان نتواند برنامهٔ دلخواه اجرا کند.OnAnnotationLinkClickوOnWebLinkClickپیش از هر اکشن خودکار رخ میدهند و به برنامه اجازه میدهند رویداد را Handled کند یا هدایتش کند- تعامل فرم - ویرایش فرم تعاملی درون نمایشگر، بههمراه یاریرسانهای انتخاب/Undo/Redo نسخهٔ v1.23.0
- سبکدهی بصری -
PageShadowSize،PageShadowColorوPageBorderColorسایهٔ افتان اختیاری زیر مستطیل صفحه و حاشیهٔ یک پیکسلی دور آن میکشند؛SmoothScrollاکنون فرمانهای خط/صفحهٔ نوار پیمایش را در بخشهای زمانرمحور انیمیت میکند در حالی که دنبالکردن thumb فوری میماند- ناوبری بندانگشتی -
TPdfThumbnailView(unit از نوعFPdfThumbnail) یک بندانگشتی صفحه در هر ردیف در پنل کناری پیمایشی با هایلایت hover و انتخاب بههمراه ناوبری کلیک-برای-رفتن رندر میکند. برای نشستن کنار TPdfView طراحی شده. ویژگیها:CurrentPageIndex،ThumbnailWidth،ThumbnailHeight،TextColor،HoverColor،SelectionColor،BorderColor؛ رویداد:OnPageClick
فشردهسازی
- فشردهسازی خودکار - وقتی ویژگی
Compressedبرابر True (پیشفرض) باشد، همهٔ جریانهای PDF هنگام ذخیره فشردهٔ FlateDecode میشوند- پسپردازش - موتور فشردهسازی دادهٔ PDF ذخیرهشده را پویش کرده و هر جریان فشردهنشده را با فشردهسازی حداکثر zlib فشرده میکند
- بازسازی مرجع متقاطع - وقتی فشردهسازی جریان آفست بایتها را تغییر میدهد جدول xref را بهصورت خودکار بازسازی میکند
- سربار صفر - اگر همهٔ جریانها از پیش فشرده باشند داده بدون تغییر عبور میکند
امنیت
- پشتیبانی گذرواژه - باز کردن اسناد PDF محافظتشده با گذرواژه
- مجوزها - خواندن مجوزهای سند و کاربر؛ دموی
SecurityAuditمجوزها، پیوستها، JavaScript سند، پیوندهای URI/Launch، امضاها، XFA و در دسترسبودن V8 را در سطح ریسک فقطخواندنی با ذخیرهٔ گزارش TXT/JSON و اکشنهای کپی TXT ترکیب میکند- جعبهابزار DER محدود -
FPdfAsn1شمارههای برچسب کم و زیاد، مقادیر نوعدار، مجموعههای SET OF مرتب و شکلهای زمان یا رشتهٔ canonical را کدگذاری میکند؛ پنجرههای خواندن zero-copy، رمزگشاهای نوعدار و اعتبارسنج محدود منابع آن از گردشکارهای CMS، PAdES، گواهی و زمانمهر پشتیبانی میکند- اعتبارسنجی بلندمدت مختص امضا -
TPadesDssOptions.Vrisدیکشنریهای VRI غیرمستقیم کلیدشده با هش مینویسد در حالی که جریانهای مشترک گواهی، OCSP و CRL براساس هش محتوا حذفتکراری میشوند و امضای PAdES B-LT یا B-LTA بهصورت خودکار VRI امضای جدید را میسازد- امضای از راه دور و قطعشده -
PreparePadesRemoteSignatureخلاصهٔ SHA-256 سند، ByteRange دقیق، مختصات placeholder و اثر انگشت PDF آمادهشده را برای امضای HSM یا ابری ماندگار میکند، در حالی کهCompletePadesRemoteSignatureنشستهای تغییر یافته، بازاستفاده، بزرگ یا ناهماهنگ خلاصه را پیش از نوشتن خروجی رد میکند- تحلیل سیاست بازبینی امضا -
AnalyzeSignatureRevisionsزنجیرههای بازبینی classic، hybrid و xref-stream را بازسازی میکند، DocMDP و FieldMDP را بهازای هر امضا اعمال میکند و روی تغییرات بدساخت، سایه، فشرده یا بیش از بودجه closed میشود- نمایههای امضای مقاوم به ابهام - اعتبارسنجی PAdES کلیدهای لازم را فقط در سطح بالای دیکشنری امضا میشمارد، نمایههای تکراری و ناسازگار Sig یا DocTimeStamp را رد میکند و میخواهد ByteRange دقیقاً توکن شانزدهدهی مستقیم Contents را مستثنا کند
- خروجی شواهد چندامضایی -
BuildPadesEvidenceReportواقعیتهای PDFium، سیاست CMS، وضعیت اعتماد و زمانمهر، هشهای مسیر گواهی، پوشش DSS/VRI و تصمیمهای بازبینی را با خروجی JSON و CSV محدودشده همبسته میکند- تمدید زمانمهر آرشیوی -
RenewPadesArchiveTimestampزمانمهر سند RFC 3161 را روی تاریخچهٔ امضای موجود دقیق الحاق میکند، در صورت تمایل ابتدا DSS کامل را تازه میکند و زنجیرهٔ B-LTA حاصل را پیش از خروجی اعتبارسنجی میکند- اعتبارسنجی اعتماد ناهمگام -
ValidatePadesTrustوValidatePadesTrustAsyncامضاهای جداشدهٔ بایتاصلی، زنجیرههای امضاکننده و TSA، شواهد ابطال آنلاین اختیاری و توکنهای زمانمهر RFC 3161 را با پیشرفت مرحلهای، بازیابی محدود و لغو مشارکتی راستیآزمایی میکنند- اعتماد واجد شرایط -
TPdfEuropeanTrustedListفقط فهرستهای مورد اعتماد ETSI احراز هویتشده توسط فراخواننده را تجزیه میکند، XML کششده را دوباره احراز هویت میکند، منابع بهروزرسانی متعلق به فراخواننده را میپذیرد و ارزیابی آفلاین سرویس واجد شرایط را از طریقQualifiedTrustEvaluatorفراهم میکند- حذف امنیت - ذخیرهٔ اسناد با حذف امنیت (وقتی مجاز باشد)
چاپ
- حالتهای چاپ - انتخاب میان حالتهای چاپ EMF، فقطمتن، PostScript Level 2/3، PostScript pass-through، EMF image-mask و Type 42 از طریق تابع سراسری
SetPdfPrintMode- ترجیحات نمایشگر - قصد نویسندهٔ سند را از طریق
PrintCopies،PrintPageRanges(محدودههای صفحهٔ یکمبنا)،PrintScalingوPrintPaperHandlingدر معرض دید قرار میدهد؛SetPdfPrintPaperHandlingDevModeاشارهٔ دورو را بهDEVMODE.dmDuplexاز Windows نگاشت میکند- چاپ N-up - دموهای
PrintPreferencesاز Delphi، C++Builder و Lazarus ترکیب صفحهٔ N-up (1/2/4/9 صفحه در هر برگه) با فیلتر فرد/زوج، رندر خاکستری، حاشیهٔ سلول 1 پیکسلی اختیاری، ترجیحات چاپ نویسندهٔ PDF و نگاشت قصد دورو از طریقSetPdfPrintPaperHandlingDevModeرا نشان میدهند
دموهای همراه
درختهای
Demo\Delphi،Demo\CBuilderوDemo\Lazarusپروژههای نمونهٔ قابل اجرا عرضه میکنند که سطح API زنده را در هر سه خانوادهٔ IDE تمرین میکنند. نکات برجسته:
- PDFViewer / MultiPageViewer / SplitView - کاربرد سرتاسری TPdfView: بارگذاری، ناوبری، بزرگنمایی، چرخش، گسترهٔ دو صفحهای، چیدمان آگاه از جلد و مقایسهٔ کنارهم PDF در Delphi/C++Builder/Lazarus با فرمانهای همگام؛ دموهای نمایشگر همچنین آزمون سرعت عملی برای PDFهای چندگیگابایتی هستند که سندهای 2.x گیگابایتی میتوانند تقریباً بلافاصله به نخستین نمای قابل استفاده برسند در حالی که رندر صفحه پاسخگو میماند
- ViewerInteractionLab - نمونههای تعامل TPdfView متمرکز Delphi، C++Builder و Lazarus برای حالتهای نمایش، حالتهای تناسب، رنگهای صفحه، چرخش، هایلایت جستوجو، انتخاب متن، پیشنمایش متن انتخابی، اکشنهای کلیپبورد و بازخورد مختصات DeviceToPage
- SearchAndSelect - نمونههای گردش کار متمرکز Delphi، Lazarus و C++Builder برای فهرست نتایج جستوجوی همهٔ صفحات، ناوبری تطبیق قبلی/بعدی، پرش دوبار کلیک به نتیجه،
HighlightSearchText، جستوجوی match-case/whole-word،AllowUserTextSelection،SelectedText،SelectAll،CopySelectionToClipboard،ClearSelectionو حالتهای نمایش گسترده- PreflightReport - اشیاء بازاستفادهٔ
FPdfPreflightReportنتایج PDF/A، PDF/UA، PDF/E، PDF/X، PDF/R و PDF/VT را با وضعیت، شدت Info/Warning/Error، جستوجو، فیلتر، جمعبندی قطعی، اثر انگشت پایدار SHA-256، خروجی TXT/HTML/Markdown/JSON/CSV و قالبهای اتوماسیون SARIF 2.1.0/JUnit XML/NDJSON/XML جمع میکنند؛ دموهای Delphi، Lazarus و C++Builder بههمراه گردشکارهای کنسول پیشنمایش، مسیریابی دستهای، خلاصهها، پیوست گزارش و دروازهبندی exit-code CI فراهم میکنند- ContentExtractionLab - گردش کار فهرست محتوای یکپارچه برای Delphi، Lazarus و C++Builder برای فرادادهٔ سند، متن صفحه، اشیاء صفحه، تصاویر، پیوستها، پیوندها، حاشیهنویسیها، نشانکها و متریکهای فونت/نویسه با خروجی TXT/JSON، انتخاب دستهٔ همه/هیچ، ذخیرهٔ PDF منبع و اکشنهای کپی گزارش
- WatermarkStamp - گردش کار بازاستفادهٔ Form XObject برای Delphi، Lazarus و C++Builder برای واترمارکهای وسطچین، مهرهای گوشه و برچسبهای شماره صفحه در PDF هدف چند صفحهای
- CreatePDF - ساخت PDF چند صفحهای از صفر با متن، تصاویر، مسیرها، جدولها و ترکیب واترمارک؛ شامل گزینهٔ «European Text» برای نوشتن متن اکسنتدار چکی/فرانسوی/آلمانی/اسپانیایی/پرتغالی/لهستانی/ترکی برای تأیید انتخاب فونت و مدیریت Unicode
- ExtractText / ExtractImages / ContentExtractionLab - ذخیرهٔ متن استخراجشده (شامل خروجی جداشدهٔ هر صفحه) یا تصاویر جاسازیشده روی دیسک؛ یا تولید گزارش فهرست محتوای چنددستهای در یک گذر
- FormFill - خواندن فرادادهٔ فیلد AcroForm، نوشتن مقادیر، بازتولید ظاهر /AP و ذخیرهٔ نتیجهٔ قابل ویرایش یا مسطحشده
- FontProperties - بازرسی فرادادهٔ نویسه/فونت نمایهای از طریق TPdf و TPdfView در Delphi، C++Builder و Lazarus
- MergePDF / SplitPDF - ترکیب چند PDF منبع (با انتخاب محدودهٔ صفحهٔ هر فایل، مسیر خروجی اختیاری، گزارش اجرا، دکمهٔ لغو و خلاصهٔ تکمیل ادغام) یا تقسیم یک PDF به فایلهای خروجی هر صفحه
- PDFtoJpg / BatchExport - تبدیل PDF به JPG تکبار یا دستهای چندفایل در Delphi، C++Builder و Lazarus با پیشرفت کل هر فایل، پیشرفت فعلی هر صفحه، ورودیهای DPI/کیفیت/گذرواژه و دستهٔ قابل لغو مشارکتی پشتیبانیشده توسط
IPdfCancellationToken- StandardsLab - نمونههای گردش کار Delphi، C++Builder و Lazarus برای اعتبارسنجی PDF/A، PDF/UA، PDF/E، PDF/X، PDF/R و PDF/VT، گزارش مشکل و خروجیهای ذخیرهٔ استانداردمحور
- PrintPDF / PrintPreferences - چاپ استاندارد PDF در Delphi، C++Builder و Lazarus با پیشنمایش، محدودهٔ صفحه، کپی، collate، پیشرفت و لغو (PrintPDF)، بههمراه ترکیب برگهٔ N-up در Delphi، C++Builder و Lazarus با فیلتر فرد/زوج و ترجیحات چاپ نویسندهٔ PDF (PrintPreferences)
- SecurityAudit - نمونههای سطح ریسک فقطخواندنی Delphi، C++Builder و Lazarus برای مجوزها، پیوستها، اکشنهای JavaScript، پیوندهای URI/Launch، پیوندهای وب، امضاها، وضعیت XFA، در دسترسبودن یاریرسان V8/XFA و گزارشهای ممیزی TXT/JSON
- پیوست - ایجاد PDF، افزودن/فهرست/استخراج/حذف/ذخیرهٔ پیوستهای فایل جاسازیشده با نمایش زیرنوع MIME
- ImageToPDF - تبدیل دستهای تصویر Delphi، C++Builder و Lazarus به یک PDF، یک تصویر در هر صفحه، با پیشنمایش و پیشرفت هر تصویر
مجموعههای رگرسیون Delphi، C++Builder و Lazarus شامل 147 (Pas)/123 (C++) مورد هستند که همان PDFهای fixture را به اشتراک میگذارند تا رفتار در هر سه خانوادهٔ IDE در سطح بایت هماهنگ بماند
پشتیبانی پلتفرم
- Delphi - از Delphi XE5 (RAD Studio XE5) تا Delphi 13.1 Florence (RAD Studio 13.1)
- C++Builder - از C++Builder XE5 (RAD Studio XE5) تا C++Builder 13.1 Florence
- Lazarus - پشتیبانی Free Pascal/Lazarus
- Win32 / Win64 - هر دو پلتفرم Windows 32 بیتی و 64 بیتی