StartRenderPageJob

Inspeção de documentos, Renderização

Descrição

Inicia um job em segundo plano que renderiza uma página de um arquivo PDF sem bloquear a thread do chamador

Como TPDFlib não é thread-safe, o job cria uma instância isolada a partir do mesmo arquivo de origem e roda em uma task do sistema, então uma página grande não pode mais monopolizar a thread do hospedeiro até terminar

O job encadeia um flag de cancelamento e um portão de pausa de rearme manual no renderer, que os consulta entre operadores de stream de conteúdo; é isso que permite a PauseRenderJob, ResumeRenderJob e CancelRenderJob interromper uma única página em andamento

Sintaxe

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 Long

Parâmetros

FileNameO caminho do arquivo PDF de origem
PasswordA senha do documento, ou uma string vazia quando o PDF não está criptografado
OutputFileNameO caminho da imagem de destino; o formato segue Options como em RenderPageToFile
DPIA resolução de renderização
PageO número da página a renderizar, com base 1
OptionsA opção de formato de imagem passada direto a RenderPageToFile

Valores retornados

>0Um handle de job com base 1 para uso com os métodos de controle de jobs de renderização
0O job não pôde ser iniciado

Observações

Poll progress with GetRenderJobState and block with WaitForRenderJob; both return the RENDER_JOB_STATE_* codesUse

PauseRenderJob, ResumeRenderJob e CancelRenderJob para interromper uma página em execução sem perder a worker thread

A instância que iniciou o trabalho é sua dona; liberar a instância aguarda os trabalhos pendentes, de modo que uma página pela metade nunca sobreviva ao seu dono