StartRenderPageJob
Inspection de documents, rendu
Description
Démarre un travail en arrière-plan qui rend une page d'un fichier PDF sans bloquer le thread de l'appelant
TPDFlib n'étant pas sûr pour les threads, le travail crée une instance isolée depuis le même fichier et s'exécute comme tâche système ; une grande page ne monopolise plus le thread hôte
La tâche transmet au moteur un indicateur d’annulation et une barrière de pause à réinitialisation manuelle, interrogés entre les opérateurs de flux ; cela permet à PauseRenderJob, ResumeRenderJob et CancelRenderJob d’interrompre une seule page en cours
Syntaxe
Delphi
Function TPDFlib.StartRenderPageJob(Const FileName, Password, OutputFileName: WideString; DPI: Double; Page, Options: Integer): Integer;DLL
int DLStartRenderPageJob(int InstanceID, const wchar_t* FileName, const wchar_t* Password, const wchar_t* OutputFileName, double DPI, int Page, int Options);ActiveX
Function PDFlib::StartRenderPageJob(FileName As String, Password As String, OutputFileName As String, DPI As Double, Page As Long, Options As Long) As LongParamètres
| FileName | Chemin du fichier PDF source |
|---|---|
| Password | Mot de passe du document, ou chaîne vide si le PDF n’est pas chiffré |
| OutputFileName | Le chemin de l'image de destination ; le format suit Options comme dans RenderPageToFile |
| DPI | Résolution du rendu |
| Page | Numéro de page basé sur 1 à rendre |
| Options | Option de format d’image transmise directement à RenderPageToFile |
Valeurs de retour
| >0 | Descripteur de tâche basé sur 1 pour les méthodes de contrôle des tâches de rendu |
|---|---|
| 0 | Impossible de démarrer la tâche |
Remarques
Interrogez la progression avec GetRenderJobState et attendez avec WaitForRenderJob ; les deux renvoient les codes RENDER_JOB_STATE_*
Utilisez PauseRenderJob, ResumeRenderJob et CancelRenderJob pour interrompre une page en cours sans perdre le thread de travail
L'instance qui a démarré le travail en est propriétaire ; sa libération joint les travaux en cours, afin qu'une page inachevée ne survive jamais à son propriétaire