|
این روشها یک گردشکار سندِ بارگذاریشده برای درج، استخراج، کپی، ذخیره و بازچینش صفحهها فراهم میکنند
سینتکس دلفی:
function HPDFParsePageRange(const PageRange: string; PageCount: Integer): THPDFPageIndexArray;
procedure AppendPagesFromDocument(SourceDoc: THotPDF; const PageRange: string);
procedure InsertPagesFromDocument(SourceDoc: THotPDF; const PageRange: string; InsertAfterPage: Integer);
procedure InsertPagesFromDocument(SourceDoc: THotPDF; const LogicalPageIndices: array of Integer; InsertAfterPage: Integer);
procedure CopyPageByPhysicalIndex(SourceDoc: THotPDF; SourceIndex: Integer; DestIndex: Integer);
procedure ExtractPagesToFile(const OutputFile: TFileName; const PageRange: string);
procedure ExtractPagesToFile(const OutputFile: TFileName; const LogicalPageIndices: array of Integer);
procedure MovePage(PageIndex: Integer; NewPageIndex: Integer);
procedure SaveLoadedDocument(const TargetFile: TFileName);
property OnPageOperationProgress: THPDFPageOperationProgressEvent;
توضیح
HPDFParsePageRange رشتههای بازهٔ یکمبنایی مانند 1,3-4,6- را به اندیسهای صفحهٔ صفرمبنایی تبدیل میکند. ورودی خالی همهٔ صفحهها را انتخاب میکند. شمارهٔ صفحهٔ نامعتبر، بازههای نزولی و توکنهای بدشکل باعث ایجاد exception میشوند
InsertPagesFromDocument صفحهها را از یک نمونهٔ بارگذاریشدهٔ دیگر THotPDF به سند جاری کپی میکند. فراخوانیهای آرایهای صفرمبنایی موجود همچنان پشتیبانی میشوند و overload رشتهای بازههای یکمبنایی را میپذیرد. InsertAfterPage صفرمبنایی است؛ برای درج در ابتدا -1 را پاس کنید
AppendPagesFromDocument صفحههای انتخابشدهٔ مبدأ را با استفاده از همان سینتکس بازهٔ یکمبنایی به انتهای سند جاری اضافه میکند
CopyPageByPhysicalIndex یک صفحهٔ مبدأ را بر اساس اندیس فیزیکی صفرمبنایی آن به یک موقعیت مقصد صفرمبنایی کپی میکند
ExtractPagesToFile صفحههای انتخابشده را از سند جاری در یک فایل PDF جدید مینویسد. فراخوانیهای آرایهای صفرمبنایی موجود همچنان پشتیبانی میشوند و overload رشتهای بازههای یکمبنایی را میپذیرد
OnPageOperationProgress پیشرفت در سطح صفحه را برای عملیات افزودن، درج، استخراج و عملیات ادغاممحور آینده گزارش میکند
MovePage با جابهجا کردن یک صفحهٔ صفرمبنایی به موقعیت صفرمبنایی دیگر، ترتیب سند جاری را تغییر میدهد. این متد آرایهٔ صفحههای بارگذاریشده و درخت صفحهٔ ریشه را بهروزرسانی میکند تا ذخیرهسازی و استخراجهای بعدی از ترتیب جدید استفاده کنند
SaveLoadedDocument پس از ویرایش صفحهها، ویرایش فرمها یا عملیات کپی، گراف شیء بارگذاریشده را در یک فایل جدید مینویسد
نمونه کد
BasePDF.LoadFromFile('base.pdf');
InsertPDF.LoadFromFile('insert.pdf');
BasePDF.InsertPagesFromDocument(InsertPDF, '1-2', 0);
BasePDF.AppendPagesFromDocument(InsertPDF, '2');
BasePDF.MovePage(BasePDF.PagesCount - 1, 1);
BasePDF.ExtractPagesToFile('selected-pages.pdf', '2,4');
BasePDF.SaveLoadedDocument('reordered.pdf');
|