OverlayDocumentPages
Page manipulation, Document assembly
Mô tả
Đóng dấu các trang của một tài liệu đang mở khác lên các trang của tài liệu đang chọn, mỗi trang nguồn cho một trang đích (giấy tiêu đề, nền trang liên tục, template form đã quét)
Cú pháp
Delphi
Function TPDFlib.OverlayDocumentPages(SourceDocumentID: Integer; Const TargetPageRange, SourcePageRange: WideString;
Opacity: Double; Overlay: TPDFlibStampOverlay; Options: Integer): Integer;Tham số
| SourceDocumentID | Handle của tài liệu đang mở cung cấp các trang đóng dấu. Không được là tài liệu đang chọn |
|---|---|
| TargetPageRange | Các trang của tài liệu đang chọn cần đóng dấu. Chuỗi rỗng chọn mọi trang. Trang đích được chọn thứ k nhận trang nguồn được chọn thứ k |
| SourcePageRange | Các trang của tài liệu nguồn cần dùng, theo thứ tự. Chuỗi rỗng chọn mọi trang; dải giảm dần như 3-1 đảo ngược nguồn |
| Opacity | Stamp opacity from 0.0 to 1.0. |
| Overlay | soOverlay vẽ trên nội dung trang hiện có; soUnderlay chèn trước một layer nội dung để dấu nằm bên dưới nó |
| Options | Các bit cờ: 1 khởi động lại từ trang nguồn đầu tiên khi nguồn cạn (lặp vòng); 2 vẽ ở kích thước tự nhiên tại góc trên trái thay vì vừa khít căn giữa theo tỷ lệ; 4 lặp lại mãi trang nguồn cuối; 8 không bao giờ phóng trang nguồn vượt kích thước tự nhiên |
Giá trị trả về
| 0 | Tham số không hợp lệ, hoặc import các trang nguồn thất bại; tài liệu đang chọn không đổi |
|---|---|
| N | Số trang đích nhận được dấu |
Remarks
Mỗi trang nguồn chỉ được import một lần và chuyển thành Form XObject, nên đóng dấu một tài liệu dài bằng một template dùng chung không bao giờ nhân bản resource của template. Mặc định dấu được scale theo tỷ lệ và căn giữa trong CropBox của trang đích (dự phòng về MediaBox), và các trang mang /Rotate nhận một dấu đứng thẳng vừa khít khung trang nhìn thấy. Khi trang nguồn cạn trước trang đích, các đích còn lại giữ nguyên trừ khi tùy chọn 1 hay 4 chọn một quy tắc nối tiếp
Chỉ nội dung hiển thị của trang được import: chú thích nguồn, trường biểu mẫu, đề mục và structure element không được gộp. Điều này trùng hành vi của các công cụ dòng lệnh overlay và multi-stamp thông dụng
Ví dụ
Letterhead:= PDF.NewDocument;
PDF.LoadFromFile('letterhead.pdf', '');
PDF.SelectDocument(Report);
// repeat the single letterhead page underneath every report page
PDF.OverlayDocumentPages(Letterhead, '', '', 1.0, soUnderlay, 4);