function MergeFiles(const Sources: TPdfBatchMergeSources; out Report: TPdfBatchMergeReport): Boolean; overload;
function MergeFiles(const Sources: TPdfBatchMergeSources; const Options: TPdfBatchMergeOptions; out Report: TPdfBatchMergeReport): Boolean; overload;
class function TPdfBatchMergeSource.FromFile(const AFileName: string; const APageRange: string = ''; const APassword: string = ''): TPdfBatchMergeSource; static;
class function TPdfBatchMergeOptions.Default: TPdfBatchMergeOptions; static;
FileName identifikuoja vieną failu paremtą PDF šaltinįPassword pritaikoma prieš atveriant šaltinįPageRange yra kableliais skiriamas vienetinės pradžios sąrašas, pavyzdžiui 1,3,5-7PageRange importuoja visus puslapius| ErrorPolicy | bmepStop |
| FormPolicy | bmfpPreserveNative |
| OutlinePolicy | bmopDiscard |
| ResourcePolicy | bmrpSourceScoped |
| PageChunkSize | PdfBatchMergeDefaultPageChunkSize, šiuo metu 128 puslapiai |
| InsertAt | -1, kas prideda į paskirties pabaigą |
| CreateDestination | True |
| CopyViewerPreferences | True |
| RollbackOnCancelOrFailure | True |
bmrpSourceScoped atlieka po vieną natyvų importą kiekvienam šaltiniui, leisdamas PDFium pakartotinai naudoti savo klonuotų objektų žemėlapį visiems to šaltinio parinktiems puslapiams
bmrpChunked padalija parinktį į PageChunkSize dydžio paketus, duodamas smulkesnius atšaukimo taškus ir mažesnius natyvius kreipinius kainuojant galimam tarppaketinių resursų dubliavimui
Didžiausia vienu metu atvira yra viena šaltinio TPdf, o kiekvienas šaltinis uždaromas iškart po savo importo bandymo
Atšaukimas tikrinamas tarp šaltinių operacijų ir natyviųjų paketų; atskiro PDFium importo kreipinio nutraukti negalima
OnProgress gauna pradžios, atvėrimo, importavimo, šaltinio, atšaukimo, nesėkmės ir užbaigimo etapus ir gali nustatyti savo Cancel parametrą; kiekviena TPdfBatchMergeProgress momentinė kopija neša Stage, SourceIndex, SourceCount, FileName, SourcePageCount, ImportedSourceCount, ImportedPageCount ir NativeImportCallCount
TPdfBatchMergeReport grąžina Status, SourceCount, AttemptedSourceCount, ImportedSourceCount, SkippedSourceCount, FailedSourceCount, ImportedPageCount, CommittedPageCount, RolledBackPageCount, PageCountBefore, PageCountAfter, NativeImportCallCount, LargestNativeImportPageCount, PeakOpenSourceCount, FormSourceCount, OutlineSourceCount, DestinationCreated, ViewerPreferencesSourceIndex, ErrorMessage ir Issues
CancellationToken priima tą patį IPdfCancellationToken kontraktą, kurį naudoja asinchroninės ir progresyviosios API
bmfpPreserveNative palieka PDFium geriausių pastangų puslapio ir valdiklio importą, bet neišsprendžia AcroForm laukų medžio, vienavardių laukų, resursų, numatytosios išvaizdos ar skaičiavimo tvarkos konfliktųbmfpFlatten sugeneruoja išvaizdas ir suploja tik parinktus šaltinio puslapius prieš importąbmfpReject atmeta AcroForm ir XFA šaltiniusbmopDiscard importuoja puslapius neperstatant šaltinio struktūros, o bmopReject atmeta šaltinius, turinčius struktūrąCopyViewerPreferences įjungtas; ViewerPreferencesSourceIndex lieka -1, kai tas šaltinis neturi palaikomų įrašųŠaltinis, kuris nepavyksta po to, kai vienas ar keli paketai jau įterpė puslapių, visada atšaukiamas iki savo šaltinio ribos prieš sustojimo ar praėjimo apdorojimą
bmepSkip užsirašo problemą ir tęsia su kitu šaltiniu, o bmepStop nutraukia operaciją
Su RollbackOnCancelOrFailure=True sustojimo nesėkmės ir atšaukimas pašalina visus operacijos įterptus puslapius; operacijos sukurtas paskirties dokumentas uždaromas
Išjungus atšaukimą, sėkmingai importuoti šaltiniai lieka įvykdyti ir atsispindi CommittedPageCount
Atšaukimas pašalina įterptus puslapius, bet negarantuoja kiekvieno natyvaus katalogo šalutinio poveikio, pavyzdžiui, gamintojo metaduomenų, atšaukimo
Status būna bmrsCompleted, bmrsCompletedWithErrors, bmrsCancelled arba bmrsFailed
Ataskaita atskiria bandytus, importuotus, praleistus ir nepavykusius šaltinius nuo importuotų, įvykdytų ir atšauktų puslapių
NativeImportCallCount, LargestNativeImportPageCount ir PeakOpenSourceCount daro pasirinktą tvarkaraščio politiką išmatuojamą
Issues išlaiko šaltinio indeksą, failo vardą ir klaidos tekstą nesėkmėms ir nepamirštoms galutinio atgalinio iškvietimo klaidoms
var
Sources: TPdfBatchMergeSources;
Options: TPdfBatchMergeOptions;
Report: TPdfBatchMergeReport;
begin
SetLength(Sources, 2);
Sources[0] := TPdfBatchMergeSource.FromFile('part-a.pdf', '1-10');
Sources[1] := TPdfBatchMergeSource.FromFile('part-b.pdf', '3,1', Password);
Options := TPdfBatchMergeOptions.Default;
Options.ErrorPolicy := bmepSkip;
Options.FormPolicy := bmfpFlatten;
if not Pdf.MergeFiles(Sources, Options, Report) then
Log(Report.ErrorMessage);
end;