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 določa en datotečno podprt vir PDFPassword se uporabi, preden se vir odprePageRange je z vejicami ločen enični seznam, na primer 1,3,5-7PageRange uvozi vse strani| ErrorPolicy | bmepStop |
| FormPolicy | bmfpPreserveNative |
| OutlinePolicy | bmopDiscard |
| ResourcePolicy | bmrpSourceScoped |
| PageChunkSize | PdfBatchMergeDefaultPageChunkSize, trenutno 128 strani |
| InsertAt | -1, kar pripne na konec cilja |
| CreateDestination | True |
| CopyViewerPreferences | True |
| RollbackOnCancelOrFailure | True |
bmrpSourceScoped izvede en nativni uvoz na vir in PDFiumu omogoči ponovno uporabo zemljevida kloniranih objektov za vse izbrane strani tega vira
bmrpChunked razdeli izbiro na skupine velikosti PageChunkSize, kar nudi finejša preklicna mesta in manjše nativne klice, po ceni morebitnega podvajanja virov med skupinami
Hkrati je odprt največ en vir TPdf in vsak vir se zapre takoj po svojem poskusu uvoza
Preklic se preverja med operacijami vira in nativnimi skupinami; posameznega klica uvoza PDFium ni mogoče prekiniti
OnProgress prejema stopnje začetek, odpiranje, uvažanje, vir, povratna restavracija, preklic, napaka in dokončanje ter lahko nastavi svoj parameter Cancel; vsak posnetek TPdfBatchMergeProgress nosi Stage, SourceIndex, SourceCount, FileName, SourcePageCount, ImportedSourceCount, ImportedPageCount in NativeImportCallCount
TPdfBatchMergeReport vrne Status, SourceCount, AttemptedSourceCount, ImportedSourceCount, SkippedSourceCount, FailedSourceCount, ImportedPageCount, CommittedPageCount, RolledBackPageCount, PageCountBefore, PageCountAfter, NativeImportCallCount, LargestNativeImportPageCount, PeakOpenSourceCount, FormSourceCount, OutlineSourceCount, DestinationCreated, ViewerPreferencesSourceIndex, ErrorMessage in Issues
CancellationToken sprejema isto pogodbo IPdfCancellationToken, ki jo uporabljajo asinhroni in progresivni API-ji
bmfpPreserveNative obdrži najboljši poskus PDFiuma pri uvozu strani in gradnikov, ne razreši pa sporov drevesa polj AcroForm, polj z enakim imenom, virov, privzetega videza ali vrstnega reda izračunovbmfpFlatten ustvari videze in splošči le izbrane strani vira pred uvozombmfpReject zavrne vire z AcroForm in XFAbmopDiscard uvozi strani brez ponovne gradnje orisa vira, bmopReject pa zavrne vire, ki vsebujejo orisCopyViewerPreferences omogočen; ViewerPreferencesSourceIndex ostane -1, kadar ta vir nima podprtih vnosovVir, ki spodleti, ko je po eni ali več skupinah že vstavil strani, se vedno povrne na svojo mejo vira, preden se obravnava ustavitev ali preskok
bmepSkip zabeleži težavo in nadaljuje z naslednjim virom, bmepStop pa konča operacijo
Pri RollbackOnCancelOrFailure=True napake ustavitve in preklic odstranijo vse strani, ki jih je vstavila operacija; cilj, ki ga je ustvarila operacija, se zapre
Brez povratne restavracije uspešno uvoženi viri ostanejo uveljavljeni in se odražajo v CommittedPageCount
Povratna restavracija odstrani vstavljene strani, a ne more zagotoviti povrnitve vsakega stranskega učinka nativnega kataloga, na primer metapodatkov izdelovalca
Status je bmrsCompleted, bmrsCompletedWithErrors, bmrsCancelled ali bmrsFailed
Poročilo loči poskušene, uvožene, preskočene in spodletel vire od uvoženih, uveljavljenih in povrnjenih strani
NativeImportCallCount, LargestNativeImportPageCount in PeakOpenSourceCount naredijo izbrani pravilnik razporejanja merljiv
Issues ohrani indeks vira, ime datoteke in besedilo napake za spodletele vire in neusodne napake povratnih klicev
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;