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 identifioi yhden tiedostopohjaisen PDF-lähteenPassword otetaan käyttöön ennen lähteen avaamistaPageRange on pilkuin erotettu 1-pohjainen lista, esimerkiksi 1,3,5-7PageRange tuo kaikki sivut| ErrorPolicy | bmepStop |
| FormPolicy | bmfpPreserveNative |
| OutlinePolicy | bmopDiscard |
| ResourcePolicy | bmrpSourceScoped |
| PageChunkSize | PdfBatchMergeDefaultPageChunkSize, tällä hetkellä 128 sivua |
| InsertAt | -1, joka lisää kohteen loppuun |
| CreateDestination | True |
| CopyViewerPreferences | True |
| RollbackOnCancelOrFailure | True |
bmrpSourceScoped suorittaa yhden natiivin tuonnin per lähde, jolloin PDFium voi hyödyntää kloonattujen objektien karttaa uudelleen kaikille kyseisen lähteen valituille sivuille
bmrpChunked jakaa valinnan PageChunkSize-kokoisiin eriin tarjoten hienojakoisemmat peruutuskohdat ja pienemmät natiivit kutsut mahdollisen eri välisten resurssien monistuman hinnalla
Korkeintaan yksi lähteeseen liittyvä TPdf on avoinna kerrallaan, ja jokainen lähde suljetaan heti sen tuontiyrityksen jälkeen
Peruutus tarkistetaan lähdeoperaatioiden ja natiivien erien välillä; yksittäistä PDFiumin tuontikutsua ei voi keskeyttää
OnProgress vastaanottaa aloitus-, avaamis-, tuonti-, lähde-, rollback-, peruutus-, virhe- ja valmistumisvaiheet ja voi asettaa Cancel-parametrinsa; jokainen TPdfBatchMergeProgress-tilannevedos kantaa Stage-, SourceIndex-, SourceCount-, FileName-, SourcePageCount-, ImportedSourceCount-, ImportedPageCount- ja NativeImportCallCount-arvot
TPdfBatchMergeReport palauttaa Status-, SourceCount-, AttemptedSourceCount-, ImportedSourceCount-, SkippedSourceCount-, FailedSourceCount-, ImportedPageCount-, CommittedPageCount-, RolledBackPageCount-, PageCountBefore-, PageCountAfter-, NativeImportCallCount-, LargestNativeImportPageCount-, PeakOpenSourceCount-, FormSourceCount-, OutlineSourceCount-, DestinationCreated-, ViewerPreferencesSourceIndex-, ErrorMessage- ja Issues-arvot
CancellationToken hyväksyy saman IPdfCancellationToken-sopimuksen, jota asynkroniset ja progressiiviset API:t käyttävät
bmfpPreserveNative säilyttää PDFiumin parhaan yrityksen mukaisen sivujen ja widgetien tuonnin, mutta ei ratkaise AcroForm-kenttäpuun, samannimisten kenttien, resurssien, oletusulkoasun tai laskentajärjestyksen ristiriitojabmfpFlatten luo ulkoasut ja litistää vain valitut lähdemetät ennen tuontiabmfpReject hylkää AcroForm- ja XFA-lähteetbmopDiscard tuo sivut rakentamatta lähteen sisällysluetteloa uudelleen, kun taas bmopReject hylkää lähteet, jotka sisältävät sisällysluettelonCopyViewerPreferences on käytössä; ViewerPreferencesSourceIndex pysyy arvossa -1, kun kyseisessä lähteessä ei ole tuettuja tietueitaLähde, joka epäonnistuu sen jälkeen, kun yksi tai useampi eri on jo lisännyt sivuja, palautetaan aina lähtörajalleen ennen pysäytyksen tai ohituksen käsittelyä
bmepSkip kirjaa ongelman ja jatkaa seuraavaan lähteeseen, kun taas bmepStop lopettaa operaation
Kun RollbackOnCancelOrFailure=True, pysäyttävät virheet ja peruutus poistavat kaikki operaation lisäämät sivut; operaation luoma kohdedokumentti suljetaan
Kun rollback on poistettu käytöstä, onnistuneesti tuodut lähteet jäävät voimaan ja näkyvät CommittedPageCount-arvossa
Rollback poistaa lisätyt sivut, mutta se ei voi taata jokaisen natiivin katalogin sivuvaikutuksen kumoamista, kuten tuottajametadatan osalta
Status on bmrsCompleted, bmrsCompletedWithErrors, bmrsCancelled tai bmrsFailed
Raportti erottaa yritetyt, tuodut, ohitetut ja epäonnistuneet lähteet tuoduista, voimaan jääneistä ja rollbackilla palautetuista sivuista
NativeImportCallCount, LargestNativeImportPageCount ja PeakOpenSourceCount tekevät valitusta ajastuskäytännöstä mitattavan
Issues säilyttää lähteiden indeksin, tiedostonimen ja virhetekstin epäonnistumisille sekä ei-kohtalokkaille lopetustakaisinkutsun virheille
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;