PDFium Delphi Component Docs

SaveAsDeduplicated Metodo

Componente: TPdf  ·  Unità: PDFium
Riscrive il documento come una singola revisione pulita che prima spazza gli oggetti irraggiungibili e poi collassa i font, le immagini e i Form XObject compatibili su un unico rappresentante condiviso

Syntax

function SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;

function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;

Description

PDFium scrive prima una copia non incrementale del documento corrente in memoria, poi il wrapper esegue una camminata di raggiungibilità a livello di documento e scarta ogni oggetto irraggiungibile esattamente come SaveAsReachable

Font, immagini e Form XObject vengono poi sottoposti a fingerprint: ogni dizionario candidato, il suo sottografo raggiungibile completo e il suo payload di flusso grezzo vengono sottoposti a hash ricorsivamente, così i duplicati si fondono solo quando il loro intero contenuto è identico

Ogni riferimento incrociato che puntava a un duplicato fuso viene riscritto sul rappresentante sopravvissuto e i numeri e le generazioni degli oggetti restano stabili, così ogni riferimento incrociato sopravvissuto resta valido

L'output è una singola revisione classica senza flussi di oggetti e senza flusso xref, e il trailer ricostruito trasporta in avanti /Root, /Info e /ID

Policies and limits

Example

Pdf.SaveAsDeduplicated('deduplicated.pdf', Report);
WriteLn('merged ', Report.MergedImageCount, ' images');

See Also

SaveAsReachable, SaveAs, SaveAsNormalizedContent