Clase THPDFDocumentHandlerRegistry
THPDFDocumentHandlerRegistry = class
function RegisterHandler(const Handler: IHPDFDocumentHandler;
ReplaceExisting: boolean = false): boolean;
function UnregisterHandler(const HandlerName: string): boolean;
procedure Clear;
function GetHandlerCount: Integer;
function GetHandlerName(Index: Integer): string;
procedure RegisterStandardHandlers(ReplaceExisting: boolean = false);
function OpenFromStream(Source: TStream; const SourceName,
MIMEType: string; const Options: THPDFDocumentHandlerOptions;
out Document: IHPDFHandledDocument;
out Info: THPDFDocumentHandlerInfo): boolean;
function OpenFromFile(const FileName, MIMEType: string;
const Options: THPDFDocumentHandlerOptions;
out Document: IHPDFHandledDocument;
out Info: THPDFDocumentHandlerInfo): boolean;
end;
El registro, el reemplazo, la eliminación, los snapshots y la búsqueda son thread-safe, con un máximo de 32 handlers y un único slot por nombre de handler sin distinguir mayúsculas de minúsculas
El reconocimiento corre fuera del lock del registro, contra un snapshot estable de interfaces, y los puntajes iguales conservan el orden de registro
RegisterStandardHandlers activa el soporte de XPS, EPUB y CBZ sin cambiar las APIs de carga específicas de PDF